Commit 71ccff62 authored by Robert Ogden's avatar Robert Ogden Committed by Commit Bot

Add LITE_PAGE_REDIRECT Previews Type

Currently not used anywhere, but will be in the near future as more code
for this feature is added.

Bug: 870045
Change-Id: I9d8beafcfd99098889fa1e200379ebd59aa90450
Reviewed-on: https://chromium-review.googlesource.com/1157546Reviewed-by: default avatarRyan Sturm <ryansturm@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarDoug Arnett <dougarnett@chromium.org>
Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580100}
parent 4caad7be
...@@ -67,6 +67,7 @@ void ReloadWithoutPreviews(previews::PreviewsType previews_type, ...@@ -67,6 +67,7 @@ void ReloadWithoutPreviews(previews::PreviewsType previews_type,
content::WebContents* web_contents) { content::WebContents* web_contents) {
switch (previews_type) { switch (previews_type) {
case previews::PreviewsType::LITE_PAGE: case previews::PreviewsType::LITE_PAGE:
case previews::PreviewsType::LITE_PAGE_REDIRECT:
case previews::PreviewsType::OFFLINE: case previews::PreviewsType::OFFLINE:
case previews::PreviewsType::NOSCRIPT: case previews::PreviewsType::NOSCRIPT:
case previews::PreviewsType::RESOURCE_LOADING_HINTS: case previews::PreviewsType::RESOURCE_LOADING_HINTS:
......
...@@ -36,6 +36,8 @@ bool IsPreviewsTypeEnabled(previews::PreviewsType type) { ...@@ -36,6 +36,8 @@ bool IsPreviewsTypeEnabled(previews::PreviewsType type) {
return previews::params::IsOfflinePreviewsEnabled(); return previews::params::IsOfflinePreviewsEnabled();
case previews::PreviewsType::LOFI: case previews::PreviewsType::LOFI:
return server_previews_enabled || previews::params::IsClientLoFiEnabled(); return server_previews_enabled || previews::params::IsClientLoFiEnabled();
case previews::PreviewsType::LITE_PAGE_REDIRECT:
return previews::params::IsLitePageServerPreviewsEnabled();
case previews::PreviewsType::LITE_PAGE: case previews::PreviewsType::LITE_PAGE:
return server_previews_enabled; return server_previews_enabled;
case previews::PreviewsType::NOSCRIPT: case previews::PreviewsType::NOSCRIPT:
...@@ -65,6 +67,8 @@ int GetPreviewsTypeVersion(previews::PreviewsType type) { ...@@ -65,6 +67,8 @@ int GetPreviewsTypeVersion(previews::PreviewsType type) {
return previews::params::ClientLoFiVersion(); return previews::params::ClientLoFiVersion();
case previews::PreviewsType::LITE_PAGE: case previews::PreviewsType::LITE_PAGE:
return data_reduction_proxy::params::LitePageVersion(); return data_reduction_proxy::params::LitePageVersion();
case previews::PreviewsType::LITE_PAGE_REDIRECT:
return previews::params::LitePageServerPreviewsVersion();
case previews::PreviewsType::NOSCRIPT: case previews::PreviewsType::NOSCRIPT:
return previews::params::NoScriptPreviewsVersion(); return previews::params::NoScriptPreviewsVersion();
case previews::PreviewsType::RESOURCE_LOADING_HINTS: case previews::PreviewsType::RESOURCE_LOADING_HINTS:
......
...@@ -63,6 +63,8 @@ class PreviewEnabledPreviewsDecider : public PreviewsDecider { ...@@ -63,6 +63,8 @@ class PreviewEnabledPreviewsDecider : public PreviewsDecider {
return params::IsNoScriptPreviewsEnabled(); return params::IsNoScriptPreviewsEnabled();
case previews::PreviewsType::RESOURCE_LOADING_HINTS: case previews::PreviewsType::RESOURCE_LOADING_HINTS:
return params::IsResourceLoadingHintsEnabled(); return params::IsResourceLoadingHintsEnabled();
case previews::PreviewsType::LITE_PAGE_REDIRECT:
return params::IsLitePageServerPreviewsEnabled();
case PreviewsType::LITE_PAGE: case PreviewsType::LITE_PAGE:
case PreviewsType::NONE: case PreviewsType::NONE:
case PreviewsType::UNSPECIFIED: case PreviewsType::UNSPECIFIED:
......
...@@ -47,6 +47,7 @@ bool AllowedOnReload(PreviewsType type) { ...@@ -47,6 +47,7 @@ bool AllowedOnReload(PreviewsType type) {
switch (type) { switch (type) {
// These types return new content on refresh. // These types return new content on refresh.
case PreviewsType::LITE_PAGE: case PreviewsType::LITE_PAGE:
case PreviewsType::LITE_PAGE_REDIRECT:
case PreviewsType::LOFI: case PreviewsType::LOFI:
case PreviewsType::NOSCRIPT: case PreviewsType::NOSCRIPT:
case PreviewsType::RESOURCE_LOADING_HINTS: case PreviewsType::RESOURCE_LOADING_HINTS:
...@@ -69,6 +70,8 @@ bool IsServerWhitelistedType(PreviewsType type) { ...@@ -69,6 +70,8 @@ bool IsServerWhitelistedType(PreviewsType type) {
// These types check server whitelist, if available. // These types check server whitelist, if available.
case PreviewsType::NOSCRIPT: case PreviewsType::NOSCRIPT:
case PreviewsType::RESOURCE_LOADING_HINTS: case PreviewsType::RESOURCE_LOADING_HINTS:
// TODO(crbug.com/864640): Move to false when bug is fixed.
case PreviewsType::LITE_PAGE_REDIRECT:
return true; return true;
case PreviewsType::OFFLINE: case PreviewsType::OFFLINE:
case PreviewsType::LITE_PAGE: case PreviewsType::LITE_PAGE:
......
...@@ -74,6 +74,8 @@ bool IsPreviewFieldTrialEnabled(PreviewsType type) { ...@@ -74,6 +74,8 @@ bool IsPreviewFieldTrialEnabled(PreviewsType type) {
return params::IsNoScriptPreviewsEnabled(); return params::IsNoScriptPreviewsEnabled();
case PreviewsType::RESOURCE_LOADING_HINTS: case PreviewsType::RESOURCE_LOADING_HINTS:
return params::IsResourceLoadingHintsEnabled(); return params::IsResourceLoadingHintsEnabled();
case previews::PreviewsType::LITE_PAGE_REDIRECT:
return params::IsLitePageServerPreviewsEnabled();
case PreviewsType::NONE: case PreviewsType::NONE:
case PreviewsType::UNSPECIFIED: case PreviewsType::UNSPECIFIED:
case PreviewsType::LAST: case PreviewsType::LAST:
......
...@@ -134,6 +134,7 @@ net::EffectiveConnectionType GetECTThresholdForPreview( ...@@ -134,6 +134,7 @@ net::EffectiveConnectionType GetECTThresholdForPreview(
switch (type) { switch (type) {
case PreviewsType::OFFLINE: case PreviewsType::OFFLINE:
case PreviewsType::NOSCRIPT: case PreviewsType::NOSCRIPT:
case PreviewsType::LITE_PAGE_REDIRECT:
return GetParamValueAsECT(kClientSidePreviewsFieldTrial, return GetParamValueAsECT(kClientSidePreviewsFieldTrial,
kEffectiveConnectionTypeThreshold, kEffectiveConnectionTypeThreshold,
net::EFFECTIVE_CONNECTION_TYPE_2G); net::EFFECTIVE_CONNECTION_TYPE_2G);
...@@ -191,6 +192,11 @@ int ClientLoFiVersion() { ...@@ -191,6 +192,11 @@ int ClientLoFiVersion() {
0); 0);
} }
int LitePageServerPreviewsVersion() {
return base::GetFieldTrialParamByFeatureAsInt(
features::kLitePageServerPreviews, kVersion, 0);
}
int NoScriptPreviewsVersion() { int NoScriptPreviewsVersion() {
return GetFieldTrialParamByFeatureAsInt(features::kNoScriptPreviews, kVersion, return GetFieldTrialParamByFeatureAsInt(features::kNoScriptPreviews, kVersion,
0); 0);
...@@ -245,6 +251,8 @@ std::string GetStringNameForType(PreviewsType type) { ...@@ -245,6 +251,8 @@ std::string GetStringNameForType(PreviewsType type) {
return "LoFi"; return "LoFi";
case PreviewsType::LITE_PAGE: case PreviewsType::LITE_PAGE:
return "LitePage"; return "LitePage";
case PreviewsType::LITE_PAGE_REDIRECT:
return "LitePageRedirect";
case PreviewsType::NOSCRIPT: case PreviewsType::NOSCRIPT:
return "NoScript"; return "NoScript";
case PreviewsType::UNSPECIFIED: case PreviewsType::UNSPECIFIED:
......
...@@ -41,9 +41,12 @@ enum class PreviewsType { ...@@ -41,9 +41,12 @@ enum class PreviewsType {
// Request that resource loading hints be used during pageload. // Request that resource loading hints be used during pageload.
RESOURCE_LOADING_HINTS = 7, RESOURCE_LOADING_HINTS = 7,
// Allows the browser to redirect navigations to a Lite Page server.
LITE_PAGE_REDIRECT = 8,
// Insert new enum values here. Keep values sequential to allow looping from // Insert new enum values here. Keep values sequential to allow looping from
// NONE+1 to LAST-1. Also add the enum to Previews.Types histogram suffix. // NONE+1 to LAST-1. Also add the enum to Previews.Types histogram suffix.
LAST = 8, LAST = 9,
}; };
typedef std::vector<std::pair<PreviewsType, int>> PreviewsTypeList; typedef std::vector<std::pair<PreviewsType, int>> PreviewsTypeList;
...@@ -103,6 +106,7 @@ bool IsLitePageServerPreviewsEnabled(); ...@@ -103,6 +106,7 @@ bool IsLitePageServerPreviewsEnabled();
// The blacklist version for each preview type. // The blacklist version for each preview type.
int OfflinePreviewsVersion(); int OfflinePreviewsVersion();
int ClientLoFiVersion(); int ClientLoFiVersion();
int LitePageServerPreviewsVersion();
int NoScriptPreviewsVersion(); int NoScriptPreviewsVersion();
int ResourceLoadingHintsVersion(); int ResourceLoadingHintsVersion();
......
...@@ -42,7 +42,9 @@ enum PreviewsTypes { ...@@ -42,7 +42,9 @@ enum PreviewsTypes {
1 << 7, // Request that resource loading hints be used during pageload. 1 << 7, // Request that resource loading hints be used during pageload.
OFFLINE_PAGE_ON = OFFLINE_PAGE_ON =
1 << 8, // Request that an offline page be used if one is stored. 1 << 8, // Request that an offline page be used if one is stored.
PREVIEWS_STATE_LAST = OFFLINE_PAGE_ON LITE_PAGE_REDIRECT_ON = 1 << 9, // Allow the browser to redirect the resource
// to a Lite Page server.
PREVIEWS_STATE_LAST = LITE_PAGE_REDIRECT_ON
}; };
// Combination of all previews that are guaranteed not to provide partial // Combination of all previews that are guaranteed not to provide partial
...@@ -69,6 +71,8 @@ STATIC_ASSERT_PREVIEWS_ENUM(RESOURCE_LOADING_HINTS_ON, ...@@ -69,6 +71,8 @@ STATIC_ASSERT_PREVIEWS_ENUM(RESOURCE_LOADING_HINTS_ON,
blink::WebURLRequest::kResourceLoadingHintsOn); blink::WebURLRequest::kResourceLoadingHintsOn);
STATIC_ASSERT_PREVIEWS_ENUM(OFFLINE_PAGE_ON, STATIC_ASSERT_PREVIEWS_ENUM(OFFLINE_PAGE_ON,
blink::WebURLRequest::kOfflinePageOn); blink::WebURLRequest::kOfflinePageOn);
STATIC_ASSERT_PREVIEWS_ENUM(LITE_PAGE_REDIRECT_ON,
blink::WebURLRequest::kLitePageRedirectOn);
STATIC_ASSERT_PREVIEWS_ENUM(PREVIEWS_STATE_LAST, STATIC_ASSERT_PREVIEWS_ENUM(PREVIEWS_STATE_LAST,
blink::WebURLRequest::kPreviewsStateLast); blink::WebURLRequest::kPreviewsStateLast);
......
...@@ -141,7 +141,9 @@ class WebURLRequest { ...@@ -141,7 +141,9 @@ class WebURLRequest {
kResourceLoadingHintsOn = 1 << 7, // Request that resource loading hints be kResourceLoadingHintsOn = 1 << 7, // Request that resource loading hints be
// used during pageload. // used during pageload.
kOfflinePageOn = 1 << 8, kOfflinePageOn = 1 << 8,
kPreviewsStateLast = kOfflinePageOn kLitePageRedirectOn = 1 << 9, // Allow the browser to redirect the resource
// to a Lite Page server.
kPreviewsStateLast = kLitePageRedirectOn
}; };
class ExtraData { class ExtraData {
......
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