Commit f223cb06 authored by Ryan Sturm's avatar Ryan Sturm Committed by Commit Bot

Launching lightweight no state prefetch on Android

We experimented with this feature on Android only, and determined it is
worth launching. We will explore this space more in the future
(especially Desktop experiments).

The launching arm is slightly different than what was in
fieldtrial_testing_config.json as HTML+CSS+SyncScript performed best
in Stable.

Bug: 934466
Change-Id: Id5d4e5ea9558133704639a5cc902e520a2bf6370
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1838756Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarTarun Bansal <tbansal@chromium.org>
Auto-Submit: Ryan Sturm <ryansturm@chromium.org>
Commit-Queue: Ryan Sturm <ryansturm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702945}
parent 43527bf8
...@@ -490,6 +490,7 @@ class HTMLCSSScriptNoStatePrefetchBrowserTest ...@@ -490,6 +490,7 @@ class HTMLCSSScriptNoStatePrefetchBrowserTest
void SetUp() override { void SetUp() override {
std::map<std::string, std::string> parameters; std::map<std::string, std::string> parameters;
parameters["skip_other"] = "true"; parameters["skip_other"] = "true";
parameters["skip_async_script"] = "false";
feature_list_.InitWithFeaturesAndParameters( feature_list_.InitWithFeaturesAndParameters(
{{blink::features::kLightweightNoStatePrefetch, parameters}}, {}); {{blink::features::kLightweightNoStatePrefetch, parameters}}, {});
NoStatePrefetchBrowserTest::SetUp(); NoStatePrefetchBrowserTest::SetUp();
......
...@@ -3281,25 +3281,6 @@ ...@@ -3281,25 +3281,6 @@
] ]
} }
], ],
"LightweightNoStatePrefetch": [
{
"platforms": [
"android"
],
"experiments": [
{
"name": "HTML_CSS_SyncScript_20190725",
"params": {
"skip_async_script": "true",
"skip_other": "true"
},
"enable_features": [
"LightweightNoStatePrefetch"
]
}
]
}
],
"LoadingOnlyLearnHighPriorityResources": [ "LoadingOnlyLearnHighPriorityResources": [
{ {
"platforms": [ "platforms": [
......
...@@ -293,7 +293,13 @@ const base::Feature kAudioWorkletRealtimeThread{ ...@@ -293,7 +293,13 @@ const base::Feature kAudioWorkletRealtimeThread{
// A feature to reduce the set of resources fetched by No-State Prefetch. // A feature to reduce the set of resources fetched by No-State Prefetch.
const base::Feature kLightweightNoStatePrefetch{ const base::Feature kLightweightNoStatePrefetch{
"LightweightNoStatePrefetch", base::FEATURE_DISABLED_BY_DEFAULT}; "LightweightNoStatePrefetch",
#if defined(OS_ANDROID)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif
};
// Use scroll gestures for scrollbar scrolls (see https://crbug.com/954007). // Use scroll gestures for scrollbar scrolls (see https://crbug.com/954007).
const base::Feature kScrollbarInjectScrollGestures{ const base::Feature kScrollbarInjectScrollGestures{
......
...@@ -118,7 +118,7 @@ bool HTMLResourcePreloader::AllowPreloadRequest(PreloadRequest* preload) const { ...@@ -118,7 +118,7 @@ bool HTMLResourcePreloader::AllowPreloadRequest(PreloadRequest* preload) const {
case ResourceType::kManifest: case ResourceType::kManifest:
case ResourceType::kMock: case ResourceType::kMock:
return !GetFieldTrialParamByFeatureAsBool( return !GetFieldTrialParamByFeatureAsBool(
features::kLightweightNoStatePrefetch, "skip_other", false); features::kLightweightNoStatePrefetch, "skip_other", true);
case ResourceType::kImage: case ResourceType::kImage:
return false; return false;
case ResourceType::kCSSStyleSheet: case ResourceType::kCSSStyleSheet:
...@@ -133,7 +133,7 @@ bool HTMLResourcePreloader::AllowPreloadRequest(PreloadRequest* preload) const { ...@@ -133,7 +133,7 @@ bool HTMLResourcePreloader::AllowPreloadRequest(PreloadRequest* preload) const {
// Otherwise, we might skip async/deferred script. // Otherwise, we might skip async/deferred script.
return !GetFieldTrialParamByFeatureAsBool( return !GetFieldTrialParamByFeatureAsBool(
features::kLightweightNoStatePrefetch, "skip_async_script", features::kLightweightNoStatePrefetch, "skip_async_script",
false) || true) ||
preload->DeferOption() == FetchParameters::DeferOption::kNoDefer; preload->DeferOption() == FetchParameters::DeferOption::kNoDefer;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment