| Index: chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc
|
| diff --git a/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc b/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc
|
| index a7c2bf7be22ee97903f4358d5273c7f12f9daa5c..4b9b4c148f701821cb29c7935dd6d9a206d2e18b 100644
|
| --- a/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc
|
| +++ b/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc
|
| @@ -316,7 +316,8 @@ void ResourcePrefetchPredictorTablesTest::TestUpdateData() {
|
|
|
| precache::PrecacheManifest theverge;
|
| InitializePrecacheResource(theverge.add_resource(),
|
| - "https://www.theverge.com/main.js", 0.7);
|
| + "https://www.theverge.com/main.js", 0.7,
|
| + precache::PrecacheResource::RESOURCE_TYPE_SCRIPT);
|
|
|
| tables_->UpdateManifestData("theverge.com", theverge);
|
|
|
| @@ -725,16 +726,20 @@ void ResourcePrefetchPredictorTablesTest::InitializeSampleData() {
|
|
|
| { // Manifest data.
|
| precache::PrecacheManifest wikipedia;
|
| + InitializePrecacheResource(
|
| + wikipedia.add_resource(), "https://en.wikipedia.org/script.js", 0.7,
|
| + precache::PrecacheResource::RESOURCE_TYPE_SCRIPT);
|
| InitializePrecacheResource(wikipedia.add_resource(),
|
| - "https://en.wikipedia.org/script.js", 0.7);
|
| - InitializePrecacheResource(wikipedia.add_resource(),
|
| - "https://en.wikipedia.org/image.png", 0.3);
|
| + "https://en.wikipedia.org/image.png", 0.3,
|
| + precache::PrecacheResource::RESOURCE_TYPE_IMAGE);
|
|
|
| precache::PrecacheManifest youtube;
|
| InitializePrecacheResource(youtube.add_resource(),
|
| - "https://youtube.com/photo.jpg", 0.5);
|
| - InitializePrecacheResource(youtube.add_resource(),
|
| - "https://youtube.com/base.js", 0.2);
|
| + "https://youtube.com/photo.jpg", 0.5,
|
| + precache::PrecacheResource::RESOURCE_TYPE_IMAGE);
|
| + InitializePrecacheResource(
|
| + youtube.add_resource(), "https://youtube.com/base.js", 0.2,
|
| + precache::PrecacheResource::RESOURCE_TYPE_SCRIPT);
|
|
|
| test_manifest_data_.clear();
|
| test_manifest_data_.insert(std::make_pair("en.wikipedia.org", wikipedia));
|
| @@ -819,6 +824,33 @@ TEST_F(ResourcePrefetchPredictorTablesTest, ComputeResourceScore) {
|
| compute_score(net::HIGHEST, content::RESOURCE_TYPE_SCRIPT, 42.));
|
| }
|
|
|
| +TEST_F(ResourcePrefetchPredictorTablesTest, ComputePrecacheResourceScore) {
|
| + auto compute_score = [](precache::PrecacheResource::Type resource_type,
|
| + float weight_ratio) {
|
| + precache::PrecacheResource resource;
|
| + InitializePrecacheResource(&resource, "", weight_ratio, resource_type);
|
| + return ResourcePrefetchPredictorTables::ComputePrecacheResourceScore(
|
| + resource);
|
| + };
|
| +
|
| + // Fonts are the most impotant followed by stylesheets, scripts and images in
|
| + // this order.
|
| + EXPECT_GT(
|
| + compute_score(precache::PrecacheResource::RESOURCE_TYPE_FONT, 0.1),
|
| + compute_score(precache::PrecacheResource::RESOURCE_TYPE_STYLESHEET, 0.9));
|
| + EXPECT_GT(
|
| + compute_score(precache::PrecacheResource::RESOURCE_TYPE_STYLESHEET, 0.1),
|
| + compute_score(precache::PrecacheResource::RESOURCE_TYPE_SCRIPT, 0.9));
|
| + EXPECT_GT(
|
| + compute_score(precache::PrecacheResource::RESOURCE_TYPE_SCRIPT, 0.1),
|
| + compute_score(precache::PrecacheResource::RESOURCE_TYPE_IMAGE, 0.9));
|
| +
|
| + // If resource types are equal, weight ratio matters.
|
| + EXPECT_GT(
|
| + compute_score(precache::PrecacheResource::RESOURCE_TYPE_SCRIPT, 0.7),
|
| + compute_score(precache::PrecacheResource::RESOURCE_TYPE_SCRIPT, 0.6));
|
| +}
|
| +
|
| TEST_F(ResourcePrefetchPredictorTablesTest, ComputeOriginScore) {
|
| auto compute_score = [](int hits, int misses, double average_position,
|
| bool always_access_network, bool accessed_network) {
|
|
|