Disable-all-predictors-code.patch 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. From: uazo <uazo@users.noreply.github.com>
  2. Date: Tue, 25 Jan 2022 12:22:52 +0000
  3. Subject: Disable all predictors code
  4. Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
  5. License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  6. ---
  7. .../chrome_hints_manager.cc | 1 +
  8. .../optimization_guide_keyed_service.cc | 1 -
  9. chrome/common/chrome_features.cc | 6 ++---
  10. .../optimization_guide/core/hints_fetcher.cc | 1 +
  11. .../optimization_guide/core/hints_manager.cc | 4 ++++
  12. .../core/optimization_guide_features.cc | 24 +++++++++----------
  13. .../core/prediction_model_download_manager.cc | 6 +++--
  14. .../core/prediction_model_fetcher_impl.cc | 1 +
  15. components/optimization_guide/features.gni | 4 +---
  16. components/permissions/features.cc | 2 +-
  17. .../segmentation_platform/public/features.cc | 2 +-
  18. third_party/blink/common/features.cc | 2 +-
  19. 12 files changed, 30 insertions(+), 24 deletions(-)
  20. diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc
  21. --- a/chrome/browser/optimization_guide/chrome_hints_manager.cc
  22. +++ b/chrome/browser/optimization_guide/chrome_hints_manager.cc
  23. @@ -29,6 +29,7 @@ bool IsAllowedToFetchForNavigationPrediction(
  24. const absl::optional<NavigationPredictorKeyedService::Prediction>
  25. prediction) {
  26. DCHECK(prediction);
  27. + if ((true)) return false;
  28. if (prediction->prediction_source() !=
  29. NavigationPredictorKeyedService::PredictionSource::
  30. diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
  31. --- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
  32. +++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
  33. @@ -354,7 +354,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
  34. void OptimizationGuideKeyedService::RegisterOptimizationTypes(
  35. const std::vector<optimization_guide::proto::OptimizationType>&
  36. optimization_types) {
  37. - hints_manager_->RegisterOptimizationTypes(optimization_types);
  38. }
  39. optimization_guide::OptimizationGuideDecision
  40. diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
  41. --- a/chrome/common/chrome_features.cc
  42. +++ b/chrome/common/chrome_features.cc
  43. @@ -750,8 +750,8 @@ const base::Feature kPermissionAuditing{"PermissionAuditing",
  44. // Enables using the prediction service for permission prompts. We will keep
  45. // this feature in order to allow us to update the holdback chance via finch.
  46. -const base::Feature kPermissionPredictions{"PermissionPredictions",
  47. - base::FEATURE_ENABLED_BY_DEFAULT};
  48. +const base::Feature kPermissionPredictions{"PermissionPredictions", // always disabled
  49. + base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
  50. // The holdback chance is 30% but it can also be configured/updated
  51. // through finch if needed.
  52. @@ -762,7 +762,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
  53. // Enables using the prediction service for geolocation permission prompts.
  54. const base::Feature kPermissionGeolocationPredictions{
  55. - "PermissionGeolocationPredictions", base::FEATURE_ENABLED_BY_DEFAULT};
  56. + "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT}; // always disabled in Bromite
  57. const base::FeatureParam<double>
  58. kPermissionGeolocationPredictionsHoldbackChance(
  59. diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc
  60. --- a/components/optimization_guide/core/hints_fetcher.cc
  61. +++ b/components/optimization_guide/core/hints_fetcher.cc
  62. @@ -175,6 +175,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
  63. optimization_guide::proto::RequestContext request_context,
  64. const std::string& locale,
  65. HintsFetchedCallback hints_fetched_callback) {
  66. + if ((true)) return false;
  67. DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
  68. DCHECK_GT(optimization_types.size(), 0u);
  69. request_context_ = request_context;
  70. diff --git a/components/optimization_guide/core/hints_manager.cc b/components/optimization_guide/core/hints_manager.cc
  71. --- a/components/optimization_guide/core/hints_manager.cc
  72. +++ b/components/optimization_guide/core/hints_manager.cc
  73. @@ -348,6 +348,7 @@ void HintsManager::Shutdown() {
  74. OptimizationGuideDecision
  75. HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
  76. OptimizationTypeDecision optimization_type_decision) {
  77. + if ((true)) return OptimizationGuideDecision::kFalse;
  78. switch (optimization_type_decision) {
  79. case OptimizationTypeDecision::kAllowedByOptimizationFilter:
  80. case OptimizationTypeDecision::kAllowedByHint:
  81. @@ -1239,6 +1240,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
  82. proto::OptimizationType optimization_type,
  83. OptimizationMetadata* optimization_metadata) {
  84. DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
  85. + if ((true)) {
  86. + return OptimizationTypeDecision::kNoHintAvailable;
  87. + }
  88. ScopedCanApplyOptimizationLogger scoped_logger(
  89. optimization_type, navigation_url, optimization_guide_logger_);
  90. diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc
  91. --- a/components/optimization_guide/core/optimization_guide_features.cc
  92. +++ b/components/optimization_guide/core/optimization_guide_features.cc
  93. @@ -77,8 +77,8 @@ bool IsSupportedLocaleForFeature(const std::string locale,
  94. // Enables the syncing of the Optimization Hints component, which provides
  95. // hints for what optimizations can be applied on a page load.
  96. -const base::Feature kOptimizationHints{"OptimizationHints",
  97. - base::FEATURE_ENABLED_BY_DEFAULT};
  98. +const base::Feature kOptimizationHints{"OptimizationHints", // disabled by default
  99. + base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
  100. // Feature flag that contains a feature param that specifies the field trials
  101. // that are allowed to be sent up to the Optimization Guide Server.
  102. @@ -87,11 +87,11 @@ const base::Feature kOptimizationHintsFieldTrials{
  103. // Enables fetching from a remote Optimization Guide Service.
  104. const base::Feature kRemoteOptimizationGuideFetching{
  105. - "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT};
  106. + "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled by default in Bromite
  107. const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent{
  108. - "OptimizationHintsFetchingAnonymousDataConsent",
  109. - base::FEATURE_ENABLED_BY_DEFAULT};
  110. + "OptimizationHintsFetchingAnonymousDataConsent", // disabled by default
  111. + base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
  112. // Enables performance info in the context menu and fetching from a remote
  113. // Optimization Guide Service.
  114. @@ -101,15 +101,15 @@ const base::Feature kContextMenuPerformanceInfoAndRemoteHintFetching{
  115. // Enables the prediction of optimization targets.
  116. const base::Feature kOptimizationTargetPrediction{
  117. - "OptimizationTargetPrediction", base::FEATURE_ENABLED_BY_DEFAULT};
  118. + "OptimizationTargetPrediction", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled by default in Bromite
  119. // Enables the downloading of models.
  120. const base::Feature kOptimizationGuideModelDownloading {
  121. "OptimizationGuideModelDownloading",
  122. #if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
  123. - base::FEATURE_ENABLED_BY_DEFAULT
  124. -#else // BUILD_WITH_TFLITE_LIB
  125. base::FEATURE_DISABLED_BY_DEFAULT
  126. +#else // BUILD_WITH_TFLITE_LIB
  127. + base::FEATURE_DISABLED_BY_DEFAULT // guard this
  128. #endif // !BUILD_WITH_TFLITE_LIB
  129. };
  130. @@ -139,7 +139,7 @@ const base::Feature kPageEntitiesModelResetOnShutdown{
  131. // Enables push notification of hints.
  132. const base::Feature kPushNotifications{"OptimizationGuidePushNotifications",
  133. - base::FEATURE_DISABLED_BY_DEFAULT};
  134. + base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
  135. // This feature flag does not turn off any behavior, it is only used for
  136. // experiment parameters.
  137. @@ -151,12 +151,12 @@ const base::Feature kOptimizationGuideMetadataValidation{
  138. "OptimizationGuideMetadataValidation", base::FEATURE_DISABLED_BY_DEFAULT};
  139. const base::Feature kPageTopicsBatchAnnotations{
  140. - "PageTopicsBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT};
  141. + "PageTopicsBatchAnnotations", base::FEATURE_DISABLED_BY_DEFAULT};
  142. const base::Feature kPageVisibilityBatchAnnotations{
  143. "PageVisibilityBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT};
  144. const base::Feature kUseLocalPageEntitiesMetadataProvider{
  145. - "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT};
  146. + "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
  147. const base::Feature kPageContentAnnotationsValidation{
  148. "PageContentAnnotationsValidation", base::FEATURE_DISABLED_BY_DEFAULT};
  149. @@ -395,7 +395,7 @@ size_t MaxURLKeyedHintCacheSize() {
  150. bool ShouldPersistHintsToDisk() {
  151. return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
  152. - "persist_hints_to_disk", true);
  153. + "persist_hints_to_disk", false);
  154. }
  155. bool ShouldOverrideOptimizationTargetDecisionForMetricsPurposes(
  156. diff --git a/components/optimization_guide/core/prediction_model_download_manager.cc b/components/optimization_guide/core/prediction_model_download_manager.cc
  157. --- a/components/optimization_guide/core/prediction_model_download_manager.cc
  158. +++ b/components/optimization_guide/core/prediction_model_download_manager.cc
  159. @@ -46,7 +46,7 @@ constexpr char kGoogApiKey[] = "X-Goog-Api-Key";
  160. // we require models to come from.
  161. constexpr uint8_t kPublisherKeyHash[] = {
  162. 0x66, 0xa1, 0xd9, 0x3e, 0x4e, 0x5a, 0x66, 0x8a, 0x0f, 0xd3, 0xfa,
  163. - 0xa3, 0x70, 0x71, 0x42, 0x16, 0x0d, 0x2d, 0x68, 0xb0, 0x53, 0x02,
  164. + 0x01, 0x02, 0x03, 0x04, 0x16, 0x0d, 0x2d, 0x68, 0xb0, 0x53, 0x02,
  165. 0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a};
  166. const net::NetworkTrafficAnnotationTag
  167. kOptimizationGuidePredictionModelsTrafficAnnotation =
  168. @@ -96,7 +96,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
  169. const base::FilePath& models_dir_path,
  170. scoped_refptr<base::SequencedTaskRunner> background_task_runner)
  171. : download_service_(download_service),
  172. - is_available_for_downloads_(true),
  173. + is_available_for_downloads_(false),
  174. api_key_(features::GetOptimizationGuideServiceAPIKey()),
  175. models_dir_path_(models_dir_path),
  176. background_task_runner_(background_task_runner) {}
  177. @@ -111,6 +111,7 @@ base::FilePath::StringType PredictionModelDownloadManager::ModelInfoFileName() {
  178. void PredictionModelDownloadManager::StartDownload(
  179. const GURL& download_url,
  180. proto::OptimizationTarget optimization_target) {
  181. + if ((true)) return;
  182. download::DownloadParams download_params;
  183. download_params.client =
  184. download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS;
  185. @@ -247,6 +248,7 @@ void PredictionModelDownloadManager::OnDownloadFailed(
  186. absl::optional<std::pair<base::FilePath, base::FilePath>>
  187. PredictionModelDownloadManager::VerifyDownload(const base::FilePath& file_path,
  188. bool delete_file_on_error) {
  189. + if ((true)) return absl::nullopt;
  190. if (!switches::ShouldSkipModelDownloadVerificationForTesting()) {
  191. // Verify that the |file_path| contains a valid CRX file.
  192. std::string public_key;
  193. diff --git a/components/optimization_guide/core/prediction_model_fetcher_impl.cc b/components/optimization_guide/core/prediction_model_fetcher_impl.cc
  194. --- a/components/optimization_guide/core/prediction_model_fetcher_impl.cc
  195. +++ b/components/optimization_guide/core/prediction_model_fetcher_impl.cc
  196. @@ -51,6 +51,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels(
  197. proto::RequestContext request_context,
  198. const std::string& locale,
  199. ModelsFetchedCallback models_fetched_callback) {
  200. + if ((true)) return false;
  201. DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
  202. if (url_loader_)
  203. diff --git a/components/optimization_guide/features.gni b/components/optimization_guide/features.gni
  204. --- a/components/optimization_guide/features.gni
  205. +++ b/components/optimization_guide/features.gni
  206. @@ -10,9 +10,7 @@ if (is_android) {
  207. declare_args() {
  208. # This enables build with TFLite library.
  209. # Currently only available for Desktop and Android.
  210. - build_with_tflite_lib =
  211. - is_android || (is_win && target_cpu != "arm64") || is_linux || is_mac ||
  212. - is_chromeos || is_fuchsia || is_ios
  213. + build_with_tflite_lib = false
  214. # You can set the variable 'build_with_internal_optimization_guide' to true
  215. # even in a developer build in args.gn. Setting this variable explicitly to true will
  216. diff --git a/components/permissions/features.cc b/components/permissions/features.cc
  217. --- a/components/permissions/features.cc
  218. +++ b/components/permissions/features.cc
  219. @@ -65,7 +65,7 @@ const base::Feature kPermissionPredictionServiceUseUrlOverride{
  220. const base::Feature kPermissionOnDeviceNotificationPredictions{
  221. "PermissionOnDeviceNotificationPredictions",
  222. - base::FEATURE_DISABLED_BY_DEFAULT};
  223. + base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
  224. #if BUILDFLAG(IS_ANDROID)
  225. diff --git a/components/segmentation_platform/public/features.cc b/components/segmentation_platform/public/features.cc
  226. --- a/components/segmentation_platform/public/features.cc
  227. +++ b/components/segmentation_platform/public/features.cc
  228. @@ -27,7 +27,7 @@ const base::Feature kSegmentationPlatformLowEngagementFeature{
  229. const base::Feature kSegmentationPlatformFeedSegmentFeature{
  230. "SegmentationPlatformFeedSegmentFeature",
  231. #if BUILDFLAG(IS_ANDROID)
  232. - base::FEATURE_ENABLED_BY_DEFAULT
  233. + base::FEATURE_DISABLED_BY_DEFAULT
  234. };
  235. #else
  236. base::FEATURE_DISABLED_BY_DEFAULT
  237. diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
  238. --- a/third_party/blink/common/features.cc
  239. +++ b/third_party/blink/common/features.cc
  240. @@ -180,7 +180,7 @@ const base::Feature kViewportHeightClientHintHeader{
  241. const base::Feature kNavigationPredictor {
  242. "NavigationPredictor",
  243. #if BUILDFLAG(IS_ANDROID)
  244. - base::FEATURE_ENABLED_BY_DEFAULT
  245. + base::FEATURE_DISABLED_BY_DEFAULT
  246. #else
  247. base::FEATURE_DISABLED_BY_DEFAULT
  248. #endif
  249. --
  250. 2.25.1