// Copyright 2023 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "content/browser/preloading/prerender/prerender_features.h" #include "third_party/blink/public/common/features.h" namespace features { // This was used for enabling a new limit and scheduler for prerender triggers // (crbug.com/1464021). Now the new implementation is used by default and this // flag is just for injecting parameters through field trials. BASE_FEATURE(…); // Allows activation in background tab. For now, this is used only on web // platform tests on macOS to run activation with target hint tests that have // race conditions between visibility change and activation start on a prerender // WebContents. Note that this issue does not happen on browser_tests, so this // could be specific to WPT setup. // TODO(crbug.com/40249964): Allow activation in background by default. BASE_FEATURE(…); // Prerender2 Embedders trigger based on rules decided by the browser. Prevent // the browser from triggering on the hosts listed. // Blocked hosts are expected to be passed as a comma separated string. // e.g. example1.test,example2.test BASE_FEATURE(…); const base::FeatureParam<std::string> kPrerender2EmbedderBlockedHostsParam{ … }; // Enables fallback from prerender to prefetch for Speculation Rules. // See https://crbug.com/342089123 for more details. BASE_FEATURE(…); const base::FeatureParam<int> kPrerender2NoVarySearchWaitForHeadersTimeoutEagerPrerender{ … }; const base::FeatureParam<int> kPrerender2NoVarySearchWaitForHeadersTimeoutModeratePrerender{ … }; const base::FeatureParam<int> kPrerender2NoVarySearchWaitForHeadersTimeoutConservativePrerender{ … }; const base::FeatureParam<int> kPrerender2NoVarySearchWaitForHeadersTimeoutForEmbedders{ … }; // If enabled, suppresses prerendering on slow network. BASE_FEATURE(…); // Regarding how this number was chosen, see the design doc linked from // crbug.com/350519234. const base::FeatureParam<base::TimeDelta> kSuppressesPrerenderingOnSlowNetworkThreshold{ … }; } // namespace features