Commit 975d9b7c authored by Robert Ogden's avatar Robert Ogden Committed by Commit Bot

Repeatedly probe the litepages service to keep a hot connection

Bug: 971918
Change-Id: Icb952b211e066f7c70f283f6156ed4e279b4013b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1738676Reviewed-by: default avatarTarun Bansal <tbansal@chromium.org>
Reviewed-by: default avatarChristian Dullweber <dullweber@chromium.org>
Commit-Queue: Robert Ogden <robertogden@chromium.org>
Cr-Commit-Position: refs/heads/master@{#688551}
parent 7867e38e
......@@ -190,8 +190,9 @@ PreviewsLitePageDecider::PreviewsLitePageDecider(
"Requests a small resource to test network connectivity to a "
"Google domain."
trigger:
"Requested when Lite mode and Previews are enabled on startup and "
"on every network change."
"Requested when Lite mode and Previews are enabled at any of the "
"following events: on startup, on every network change, and every "
"30 seconds (experiment configurable) to maintain a hot connection."
data: "None."
destination: GOOGLE_OWNED_SERVICE
}
......@@ -218,7 +219,9 @@ PreviewsLitePageDecider::PreviewsLitePageDecider(
retry_policy, timeout_policy, traffic_annotation,
10 /* max_cache_entries */,
base::TimeDelta::FromHours(24) /* revalidate_cache_after */);
litepages_service_prober_->SendNowIfInactive(
// Note: probing will only occur when |ShouldSendNextProbe| return true.
litepages_service_prober_->RepeatedlyProbe(
previews::params::LitePageRedirectPreviewProbeInterval(),
true /* send_only_in_foreground */);
}
......@@ -485,7 +488,9 @@ bool PreviewsLitePageDecider::ShouldSendNextProbe() {
return data_reduction_proxy::DataReductionProxySettings::
IsDataSaverEnabledByUser(pref_service_) &&
previews::params::ArePreviewsAllowed() &&
previews::params::IsLitePageServerPreviewsEnabled();
previews::params::IsLitePageServerPreviewsEnabled() &&
// Only probe if we rely on it for triggering.
previews::params::LitePageRedirectOnlyTriggerOnSuccessfulProbe();
}
bool PreviewsLitePageDecider::IsResponseSuccess(
......
......@@ -239,6 +239,11 @@ base::TimeDelta LitePageRedirectPreviewPresolveInterval() {
features::kLitePageServerPreviews, "preresolve_interval_in_seconds", 60));
}
base::TimeDelta LitePageRedirectPreviewProbeInterval() {
return base::TimeDelta::FromSeconds(base::GetFieldTrialParamByFeatureAsInt(
features::kLitePageServerPreviews, "probe_interval_in_seconds", 30));
}
net::EffectiveConnectionType GetECTThresholdForPreview(
previews::PreviewsType type) {
switch (type) {
......
......@@ -145,6 +145,9 @@ GURL LitePageRedirectProbeURL();
// The duration in between preresolving the lite page redirect server.
base::TimeDelta LitePageRedirectPreviewPresolveInterval();
// The duration in between probes to the lite page redirect server.
base::TimeDelta LitePageRedirectPreviewProbeInterval();
// The maximum number of seconds to loadshed the Previews server for.
int PreviewServerLoadshedMaxSeconds();
......
......@@ -200,7 +200,7 @@ Refer to README.md for content description and update process.
<item id="ppapi_download_request" hash_code="135967426" type="0" content_hash_code="110461402" os_list="linux,windows" file_path="chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc"/>
<item id="prefetch_download" hash_code="44583172" type="0" content_hash_code="21424542" os_list="linux,windows" file_path="components/offline_pages/core/prefetch/prefetch_downloader_impl.cc"/>
<item id="prefetch_visuals" hash_code="91068704" type="0" content_hash_code="90439946" os_list="linux,windows" file_path="components/offline_pages/core/prefetch/visuals_fetch_by_url.cc"/>
<item id="previews_litepage_prober" hash_code="33813109" type="0" content_hash_code="123476142" os_list="linux,windows" file_path="chrome/browser/previews/previews_lite_page_decider.cc"/>
<item id="previews_litepage_prober" hash_code="33813109" type="0" content_hash_code="52572789" os_list="linux,windows" file_path="chrome/browser/previews/previews_lite_page_decider.cc"/>
<item id="previews_prober" hash_code="41010697" type="0" deprecated="2019-07-24" content_hash_code="51581107" file_path=""/>
<item id="printer_job_handler" hash_code="67638271" type="1" second_id="111712433" content_hash_code="75712693" os_list="linux,windows" semantics_fields="2,3,4" file_path="chrome/service/cloud_print/printer_job_handler.cc"/>
<item id="privet_http_impl" hash_code="71251498" type="0" content_hash_code="107348604" os_list="linux,windows" file_path="chrome/browser/printing/cloud_print/privet_http_impl.cc"/>
......
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