浏览代码

fix build

Carmelo Messina 3 年之前
父节点
当前提交
b932b3ac9a

+ 17 - 14
build/patches/Add-a-proxy-configuration-page.patch

@@ -23,7 +23,7 @@ for SimpleURLLoaders as well.
  chrome/browser/resources/proxy_config.js      | 266 +++++++++++
  chrome/browser/ui/BUILD.gn                    |   2 +
  .../webui/chrome_web_ui_controller_factory.cc |   3 +
- chrome/browser/ui/webui/proxy_config_ui.cc    | 416 ++++++++++++++++++
+ chrome/browser/ui/webui/proxy_config_ui.cc    | 419 ++++++++++++++++++
  chrome/browser/ui/webui/proxy_config_ui.h     |  33 ++
  chrome/common/webui_url_constants.cc          |   4 +
  chrome/common/webui_url_constants.h           |   2 +
@@ -33,7 +33,7 @@ for SimpleURLLoaders as well.
  .../proxy_config/proxy_policy_handler.cc      |   2 +-
  net/proxy_resolution/proxy_config.cc          |  52 ++-
  net/proxy_resolution/proxy_config.h           |   3 +
- 24 files changed, 995 insertions(+), 14 deletions(-)
+ 24 files changed, 998 insertions(+), 14 deletions(-)
  create mode 100644 chrome/browser/resources/proxy_config.css
  create mode 100644 chrome/browser/resources/proxy_config.html
  create mode 100644 chrome/browser/resources/proxy_config.js
@@ -660,7 +660,7 @@ diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webu
 new file mode 100644
 --- /dev/null
 +++ b/chrome/browser/ui/webui/proxy_config_ui.cc
-@@ -0,0 +1,416 @@
+@@ -0,0 +1,419 @@
 +/*
 +    This file is part of Bromite.
 +
@@ -747,9 +747,9 @@ new file mode 100644
 +  void RegisterMessages() override;
 +
 +  // Messages
-+  void OnEnableNotifyUIWithState(const base::ListValue* list);
-+  void OnApply(const base::ListValue* config);
-+  void OnClear(const base::ListValue* config);
++  void OnEnableNotifyUIWithState(base::Value::ConstListView list);
++  void OnApply(base::Value::ConstListView config);
++  void OnClear(base::Value::ConstListView config);
 +
 +  // net::ProxyConfigService::Observer implementation:
 +  // Calls ProxyConfigView.onProxyConfigChanged JavaScript function in the
@@ -910,7 +910,7 @@ new file mode 100644
 +// The proxy configuration UI is not notified of state changes until this function runs.
 +// After this function, OnProxyConfigChanged() will be called on all proxy state changes.
 +void ProxyConfigMessageHandler::OnEnableNotifyUIWithState(
-+    const base::ListValue* list) {
++    base::Value::ConstListView list) {
 +  DCHECK_CURRENTLY_ON(BrowserThread::UI);
 +
 +  if (!is_observing_) {
@@ -932,24 +932,24 @@ new file mode 100644
 +  OnProxyConfigChanged(config, availability);
 +}
 +
-+void ProxyConfigMessageHandler::OnClear(const base::ListValue* list) {
++void ProxyConfigMessageHandler::OnClear(base::Value::ConstListView list) {
 +  DCHECK_CURRENTLY_ON(BrowserThread::UI);
 +
 +  const base::Value cfg = ProxyConfigDictionary::CreateSystem();
 +  pref_service_->Set(proxy_config::prefs::kProxy, cfg);
 +  pref_service_->CommitPendingWrite();
-+  OnEnableNotifyUIWithState(nullptr);
++  OnEnableNotifyUIWithState(list);
 +}
 +
-+void ProxyConfigMessageHandler::OnApply(const base::ListValue* list) {
++void ProxyConfigMessageHandler::OnApply(base::Value::ConstListView list) {
 +  DCHECK_CURRENTLY_ON(BrowserThread::UI);
 +
-+  if ((list->GetList().size() != 1) || !list->GetList()[0].is_dict()) {
++  if ((list.size() != 1) || !list[0].is_dict()) {
 +    return;
 +  }
 +
 +  const base::DictionaryValue* config = nullptr;
-+  if (!list->GetDictionary(0, &config))
++  if (!list[0].GetAsDictionary(&config))
 +    return;
 +
 +  const base::Value *autoDetect = config->FindKeyOfType("auto_detect", base::Value::Type::BOOLEAN);
@@ -1019,7 +1019,8 @@ new file mode 100644
 +  } else if (t == "direct") {
 +      proxyConfig.proxy_rules().type = net::ProxyConfig::ProxyRules::Type::EMPTY;
 +  } else if (t == "none") {
-+      OnClear(nullptr);
++      base::Value::ConstListView empty;
++      OnClear(empty);
 +      return;
 +  } else {
 +     // invalid type
@@ -1064,7 +1065,9 @@ new file mode 100644
 +    pref_service_->Set(proxy_config::prefs::kProxy, cfg);
 +  }
 +  pref_service_->CommitPendingWrite();
-+  OnEnableNotifyUIWithState(nullptr);
++
++  base::Value::ConstListView empty;
++  OnEnableNotifyUIWithState(empty);
 +}
 +
 +}  // namespace

+ 5 - 5
build/patches/Add-bookmark-import-export-actions.patch

@@ -287,7 +287,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
      @Override
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
-+        mWindowAndroid.getIntentRequestTracker().onActivityResult(requestCode, resultCode, data, mWindowAndroid);
++        mWindowAndroid.getIntentRequestTracker().onActivityResult(requestCode, resultCode, data);
          if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) {
              BookmarkId bookmarkId = BookmarkId.getBookmarkIdFromString(data.getStringExtra(
                      INTENT_VISIT_BOOKMARK_ID));
@@ -417,7 +417,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
 +                    window.showIntent(fileSelector,
 +                        new WindowAndroid.IntentCallback() {
 +                            @Override
-+                            public void onIntentCompleted(WindowAndroid window, int resultCode, Intent data) {
++                            public void onIntentCompleted(int resultCode, Intent data) {
 +                                if (data == null) return;
 +                                Uri filePath = data.getData();
 +                                doExportBookmarksImpl(window, filePath);
@@ -446,8 +446,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
 +                        // get real actual file name on disk
 +                        if (actualFilePath==null) actualFilePath = lastSelectedUri.toString();
 +                        // set file name to last exported file name
-+                        fileSelector.putExtra(Intent.EXTRA_TITLE, 
-+                            ContentUriUtils.getDisplayName(lastSelectedUri, context, 
++                        fileSelector.putExtra(Intent.EXTRA_TITLE,
++                            ContentUriUtils.getDisplayName(lastSelectedUri, context,
 +                                DocumentsContract.Document.COLUMN_DISPLAY_NAME));
 +                    }
 +                    return null;
@@ -504,7 +504,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
 +        DownloadLocationDialogController controller = new DownloadLocationDialogController() {
 +            @Override
 +            public void onDownloadLocationDialogComplete(String returnedPath) {}
-+            
++
 +            @Override
 +            public void onDownloadLocationDialogCanceled() {}
 +        };

+ 63 - 1
build/patches/Allow-building-without-enable_reporting.patch

@@ -4,12 +4,16 @@ Subject: Allow building without enable_reporting
 
 ---
  content/browser/BUILD.gn                                 | 8 ++++----
+ content/browser/devtools/protocol/network_handler.cc     | 2 ++
+ content/browser/devtools/protocol/network_handler.h      | 2 ++
  .../common/content_switch_dependent_feature_overrides.cc | 3 +++
+ services/network/network_context.cc                      | 2 +-
+ services/network/public/mojom/BUILD.gn                   | 3 +++
  third_party/blink/renderer/core/frame/local_frame.cc     | 3 +++
  third_party/blink/renderer/core/frame/local_frame.h      | 6 +++---
  .../blink/renderer/core/frame/reporting_context.cc       | 9 +++++++++
  .../blink/renderer/core/frame/reporting_context.h        | 7 +++++--
- 6 files changed, 27 insertions(+), 9 deletions(-)
+ 10 files changed, 35 insertions(+), 10 deletions(-)
 
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
 --- a/content/browser/BUILD.gn
@@ -36,6 +40,39 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
        "net/reporting_service_proxy.cc",
        "net/reporting_service_proxy.h",
      ]
+diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
+--- a/content/browser/devtools/protocol/network_handler.cc
++++ b/content/browser/devtools/protocol/network_handler.cc
+@@ -451,6 +451,7 @@ std::vector<GURL> ComputeCookieURLs(RenderFrameHostImpl* frame_host,
+   return urls;
+ }
+ 
++#if BUILDFLAG(ENABLE_REPORTING)
+ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
+   std::vector<GURL> urls;
+   base::queue<FrameTreeNode*> queue;
+@@ -468,6 +469,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
+   }
+   return urls;
+ }
++#endif  // BUILDFLAG(ENABLE_REPORTING)
+ 
+ String resourcePriority(net::RequestPriority priority) {
+   switch (priority) {
+diff --git a/content/browser/devtools/protocol/network_handler.h b/content/browser/devtools/protocol/network_handler.h
+--- a/content/browser/devtools/protocol/network_handler.h
++++ b/content/browser/devtools/protocol/network_handler.h
+@@ -304,8 +304,10 @@ class NetworkHandler : public DevToolsDomainHandler,
+       Response response,
+       mojo::ScopedDataPipeConsumerHandle pipe,
+       const std::string& mime_type);
++#if BUILDFLAG(ENABLE_REPORTING)
+   std::unique_ptr<protocol::Network::ReportingApiReport> BuildProtocolReport(
+       const net::ReportingReport& report);
++#endif  // BUILDFLAG(ENABLE_REPORTING)
+ 
+   // TODO(dgozman): Remove this.
+   const std::string host_id_;
 diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc b/content/public/common/content_switch_dependent_feature_overrides.cc
 --- a/content/public/common/content_switch_dependent_feature_overrides.cc
 +++ b/content/public/common/content_switch_dependent_feature_overrides.cc
@@ -59,6 +96,31 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc
        {switches::kEnableExperimentalWebPlatformFeatures,
         std::cref(features::kExperimentalContentSecurityPolicyFeatures),
         base::FeatureList::OVERRIDE_ENABLE_FEATURE},
+diff --git a/services/network/network_context.cc b/services/network/network_context.cc
+--- a/services/network/network_context.cc
++++ b/services/network/network_context.cc
+@@ -1118,7 +1118,7 @@ void NetworkContext::SetDocumentReportingEndpoints(
+ 
+ void NetworkContext::SendReportsAndRemoveSource(
+     const base::UnguessableToken& reporting_source) {
+-  NOTREACHED();
++  // NOTREACHED(); removed for build in debug
+ }
+ 
+ void NetworkContext::QueueReport(
+diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
+--- a/services/network/public/mojom/BUILD.gn
++++ b/services/network/public/mojom/BUILD.gn
+@@ -888,6 +888,9 @@ mojom("mojom") {
+     export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
+     export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
+     export_header_blink = "third_party/blink/public/platform/web_common.h"
++  }
++
++  if (enable_reporting) {
+     enabled_features += [ "enable_reporting" ]
+   }
+ 
 diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc

+ 67 - 3
build/patches/Disable-safe-browsing.patch

@@ -63,14 +63,16 @@ Disable CrowdDeny feature
  .../ssl/sct_reporting_service_factory.cc      | 11 +--
  .../browser/ssl/security_state_tab_helper.cc  | 10 +--
  ...urce_filter_web_contents_helper_factory.cc |  4 ++
- chrome/browser/ui/BUILD.gn                    |  1 -
+ chrome/browser/ui/BUILD.gn                    |  2 -
  .../strings/android_chrome_strings.grd        | 15 ----
  chrome/browser/ui/tab_helpers.cc              | 18 -----
  .../ui/webui/interstitials/interstitial_ui.cc | 12 ++--
  chrome/common/safe_browsing/BUILD.gn          |  7 --
  .../chrome_content_renderer_client.cc         |  2 +
+ chrome/test/BUILD.gn                          |  2 -
  .../installer_policies/BUILD.gn               |  2 -
  .../permissions/permission_request_manager.cc |  5 +-
+ .../safe_browsing/content/browser/BUILD.gn    |  1 -
  .../content/common/file_type_policies.cc      |  3 +-
  .../safe_browsing/core/common/features.cc     |  2 +-
  .../content/captive_portal_blocking_page.cc   |  7 --
@@ -79,7 +81,9 @@ Disable CrowdDeny feature
  .../file_system_access_file_writer_impl.cc    | 41 +----------
  .../file_system_access_file_writer_impl.h     |  9 +--
  .../file_system_access_permission_context.h   |  6 --
- 73 files changed, 173 insertions(+), 661 deletions(-)
+ weblayer/BUILD.gn                             |  1 -
+ weblayer/test/BUILD.gn                        |  1 -
+ 77 files changed, 173 insertions(+), 667 deletions(-)
 
 diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml
 --- a/chrome/android/java/res/xml/google_services_preferences.xml
@@ -2294,7 +2298,15 @@ diff --git a/chrome/browser/subresource_filter/chrome_content_subresource_filter
 diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -3885,7 +3885,6 @@ static_library("ui") {
+@@ -512,7 +512,6 @@ static_library("ui") {
+     "//components/renderer_context_menu",
+     "//components/resources",
+     "//components/safe_browsing/content/browser",
+-    "//components/safe_browsing/content/browser:client_side_detection",
+     "//components/safe_browsing/content/browser/password_protection",
+     "//components/safe_browsing/content/browser/web_ui",
+     "//components/safe_browsing/core/browser/db:database_manager",
+@@ -3885,7 +3884,6 @@ static_library("ui") {
        "views/device_chooser_content_view.h",
        "views/devtools_process_observer.cc",
        "views/devtools_process_observer.h",
@@ -2487,6 +2499,25 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
  #include "components/spellcheck/spellcheck_buildflags.h"
  #include "components/subresource_filter/content/renderer/subresource_filter_agent.h"
  #include "components/subresource_filter/content/renderer/unverified_ruleset_dealer.h"
+diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
+--- a/chrome/test/BUILD.gn
++++ b/chrome/test/BUILD.gn
+@@ -1241,7 +1241,6 @@ if (!is_android && !is_fuchsia) {
+       "//components/resources",
+       "//components/safe_browsing:buildflags",
+       "//components/safe_browsing/content/browser",
+-      "//components/safe_browsing/content/browser:client_side_detection",
+       "//components/safe_browsing/content/browser:safe_browsing_service",
+       "//components/safe_browsing/content/browser/password_protection",
+       "//components/safe_browsing/content/browser/password_protection:test_support",
+@@ -5358,7 +5357,6 @@ test("unit_tests") {
+     "//components/resources",
+     "//components/safe_browsing:buildflags",
+     "//components/safe_browsing/content/browser",
+-    "//components/safe_browsing/content/browser:client_side_detection",
+     "//components/safe_browsing/content/browser:client_side_model_loader",
+     "//components/safe_browsing/content/browser/password_protection",
+     "//components/safe_browsing/content/browser/password_protection:mock_password_protection",
 diff --git a/components/component_updater/installer_policies/BUILD.gn b/components/component_updater/installer_policies/BUILD.gn
 --- a/components/component_updater/installer_policies/BUILD.gn
 +++ b/components/component_updater/installer_policies/BUILD.gn
@@ -2514,6 +2545,17 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
  
  void PermissionRequestManager::ScheduleShowBubble() {
    base::RecordAction(base::UserMetricsAction("PermissionBubbleRequest"));
+diff --git a/components/safe_browsing/content/browser/BUILD.gn b/components/safe_browsing/content/browser/BUILD.gn
+--- a/components/safe_browsing/content/browser/BUILD.gn
++++ b/components/safe_browsing/content/browser/BUILD.gn
+@@ -167,7 +167,6 @@ source_set("unit_tests") {
+   ]
+ 
+   deps = [
+-    ":client_side_detection",
+     ":client_side_model_loader",
+     "//base:base",
+     "//base/test:test_support",
 diff --git a/components/safe_browsing/content/common/file_type_policies.cc b/components/safe_browsing/content/common/file_type_policies.cc
 --- a/components/safe_browsing/content/common/file_type_policies.cc
 +++ b/components/safe_browsing/content/common/file_type_policies.cc
@@ -2704,6 +2746,28 @@ diff --git a/content/public/browser/file_system_access_permission_context.h b/co
  
    // Returns whether the give |origin| already allows read permission, or it is
    // possible to request one. This is used to block file dialogs from being
+diff --git a/weblayer/BUILD.gn b/weblayer/BUILD.gn
+--- a/weblayer/BUILD.gn
++++ b/weblayer/BUILD.gn
+@@ -458,7 +458,6 @@ source_set("weblayer_lib_base") {
+     "//components/prefs",
+     "//components/profile_metrics",
+     "//components/safe_browsing/content/browser",
+-    "//components/safe_browsing/content/browser:client_side_detection",
+     "//components/safe_browsing/content/common:interfaces",
+     "//components/safe_browsing/content/renderer:throttles",
+     "//components/safe_browsing/content/renderer/phishing_classifier",
+diff --git a/weblayer/test/BUILD.gn b/weblayer/test/BUILD.gn
+--- a/weblayer/test/BUILD.gn
++++ b/weblayer/test/BUILD.gn
+@@ -243,7 +243,6 @@ test("weblayer_browsertests") {
+       "//components/page_info/android",
+       "//components/safe_browsing/android:safe_browsing_api_handler",
+       "//components/safe_browsing/content/browser",
+-      "//components/safe_browsing/content/browser:client_side_detection",
+       "//components/safe_browsing/content/browser:client_side_model_loader",
+       "//components/safe_browsing/content/common:interfaces",
+       "//components/safe_browsing/core/browser:token_fetcher",
 -- 
 2.17.1
 

+ 13 - 14
build/patches/Experimental-user-scripts-support.patch

@@ -1919,7 +1919,7 @@ new file mode 100644
 +        window.showIntent(fileSelector,
 +            new WindowAndroid.IntentCallback() {
 +                @Override
-+                public void onIntentCompleted(WindowAndroid window, int resultCode, Intent data) {
++                public void onIntentCompleted(int resultCode, Intent data) {
 +                    if (data == null) return;
 +                    Uri filePath = data.getData();
 +                    TryToInstall(context, filePath.toString());
@@ -2118,7 +2118,7 @@ new file mode 100755
 +    @Override
 +    public void onActivityResult(int requestCode, int resultCode, Intent data) {
 +        // handle picker callback from SelectFileDialog
-+        mWindowAndroid.getIntentRequestTracker().onActivityResult(requestCode, resultCode, data, mWindowAndroid);
++        mWindowAndroid.getIntentRequestTracker().onActivityResult(requestCode, resultCode, data);
 +    }
 +
 +    public void onHelpAndFeebackPressed() {
@@ -2689,7 +2689,7 @@ new file mode 100644
 +  void RegisterMessages() override;
 +
 + private:
-+  void HandleRequestSource(const base::ListValue* args);
++  void HandleRequestSource(base::Value::ConstListView args);
 +  void OnScriptsLoaded(
 +      const std::string callback_id,
 +      const std::string script_key,
@@ -2716,13 +2716,13 @@ new file mode 100644
 +                          base::Unretained(this)));
 +}
 +
-+void UserScriptsUIHandler::HandleRequestSource(const base::ListValue* args) {
++void UserScriptsUIHandler::HandleRequestSource(base::Value::ConstListView args) {
 +  AllowJavascript();
-+  std::string callback_id;
-+  CHECK(args->GetString(0, &callback_id));
++  if (args.size() < 2) return;
 +
-+  std::string script_key;
-+  if (args->GetString(1, &script_key) == false) {
++  std::string callback_id = args[0].GetString();
++  std::string script_key = args[1].GetString();
++  if (script_key.empty()) {
 +    std::string json = "Missing key value.";
 +    ResolveJavascriptCallback(base::Value(callback_id), base::Value(json));
 +    return;
@@ -2785,7 +2785,6 @@ new file mode 100644
 +}
 +
 +}
-\ No newline at end of file
 diff --git a/components/user_scripts/browser/ui/user_scripts_ui.h b/components/user_scripts/browser/ui/user_scripts_ui.h
 new file mode 100644
 --- /dev/null
@@ -6246,7 +6245,7 @@ new file mode 100755
 +                             bool allow_file_access,
 +                             std::string* error) {
 +  std::vector<std::string> patterns;
-+  for (size_t i = 0; i < value.GetSize(); ++i) {
++  for (size_t i = 0; i < value.GetList().size(); ++i) {
 +    std::string item;
 +    if (!value.GetString(i, &item))
 +      return false;
@@ -8725,7 +8724,7 @@ new file mode 100755
 +  void DidCreateNewDocument() override;
 +  void DidCreateDocumentElement() override;
 +  void DidFailProvisionalLoad() override;
-+  void DidFinishDocumentLoad() override;
++  void DidDispatchDOMContentLoadedEvent() override;
 +  void WillDetach() override;
 +  void OnDestruct() override;
 +  void OnStop() override;
@@ -8817,9 +8816,9 @@ new file mode 100755
 +  }
 +}
 +
-+void ScriptInjectionManager::RFOHelper::DidFinishDocumentLoad() {
++void ScriptInjectionManager::RFOHelper::DidDispatchDOMContentLoadedEvent() {
 +  if (base::FeatureList::IsEnabled(features::kEnableLoggingUserScripts))
-+    LOG(INFO) << "UserScripts: DidFinishDocumentLoad -> DOCUMENT_END";
++    LOG(INFO) << "UserScripts: DidDispatchDOMContentLoadedEvent -> DOCUMENT_END";
 +
 +  DCHECK(content::RenderThread::Get());
 +  ExtensionFrameHelper::Get(render_frame())
@@ -8828,7 +8827,7 @@ new file mode 100755
 +                     weak_factory_.GetWeakPtr(), UserScript::DOCUMENT_END));
 +
 +  // We try to run idle in two places: a delayed task here and in response to
-+  // ContentRendererClient::RunScriptsAtDocumentIdle(). DidFinishDocumentLoad()
++  // ContentRendererClient::RunScriptsAtDocumentIdle(). DidDispatchDOMContentLoadedEvent()
 +  // corresponds to completing the document's load, whereas
 +  // RunScriptsAtDocumentIdle() corresponds to completing the document and all
 +  // subresources' load (but before the window.onload event). We don't want to

+ 14 - 12
build/patches/Logcat-crash-reports-UI.patch

@@ -8,7 +8,7 @@ Subject: Logcat crash reports UI
  .../crash_upload_list_android.h               |   1 +
  chrome/browser/net/chrome_network_delegate.cc |   7 +
  chrome/browser/ui/BUILD.gn                    |   1 +
- chrome/browser/ui/webui/crashes_ui.cc         | 164 ++++++++++++++++--
+ chrome/browser/ui/webui/crashes_ui.cc         | 166 ++++++++++++++++--
  .../crash/core/browser/crashes_ui_util.cc     |   4 +
  .../crash/core/browser/crashes_ui_util.h      |   2 +
  .../crash/core/browser/resources/crashes.css  |  67 ++++++-
@@ -17,11 +17,11 @@ Subject: Logcat crash reports UI
  components/crash_strings.grdp                 |  22 ++-
  .../minidump_uploader/CrashFileManager.java   |   7 +-
  .../MinidumpUploadCallable.java               |  20 +--
- .../minidump_uploader/MinidumpUploader.java   |  29 +---
+ .../minidump_uploader/MinidumpUploader.java   |  29 +--
  .../upload_list/text_log_upload_list.cc       |   1 +
  components/upload_list/upload_list.cc         |  17 +-
  components/upload_list/upload_list.h          |   9 +
- 18 files changed, 372 insertions(+), 80 deletions(-)
+ 18 files changed, 374 insertions(+), 80 deletions(-)
 
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
@@ -155,7 +155,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
 diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -595,6 +595,7 @@ static_library("ui") {
+@@ -594,6 +594,7 @@ static_library("ui") {
      "//third_party/re2",
      "//third_party/webrtc_overrides:webrtc_component",
      "//third_party/zlib",
@@ -221,11 +221,11 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
 +  void RequestSingleUploadCallback(const std::string& local_id, const std::string& filename);
 +
 +  // Asynchronously requests a user log extraction. Called from JS.
-+  void HandleRequestNewExtraction(const base::ListValue* args);
++  void HandleRequestNewExtraction(base::Value::ConstListView args);
 +  void RequestNewExtraction();
 +
 +  // Requests remove all crash files. Called from JS.
-+  void HandleRequestClearAll(const base::ListValue* args);
++  void HandleRequestClearAll(base::Value::ConstListView args);
 +  void ClearAll();
 +
    scoped_refptr<UploadList> upload_list_;
@@ -244,7 +244,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
    upload_list_ = CreateCrashUploadList();
  }
  
-@@ -142,10 +172,23 @@ void CrashesDOMHandler::RegisterMessages() {
+@@ -142,10 +172,24 @@ void CrashesDOMHandler::RegisterMessages() {
        crash_reporter::kCrashesUIRequestSingleCrashUpload,
        base::BindRepeating(&CrashesDOMHandler::HandleRequestSingleCrashUpload,
                            base::Unretained(this)));
@@ -257,6 +257,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
 +  web_ui()->RegisterMessageCallback(
 +      crash_reporter::kCrashesUIHandleRequestNewExtraction,
 +      base::BindRepeating(&CrashesDOMHandler::HandleRequestNewExtraction,
++                          base::Unretained(this)));
  }
  
  void CrashesDOMHandler::HandleRequestCrashes(base::Value::ConstListView args) {
@@ -268,7 +269,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
    if (first_load_) {
      first_load_ = false;
      if (list_available_)
-@@ -178,8 +221,7 @@ void CrashesDOMHandler::OnUploadListAvailable() {
+@@ -178,8 +222,7 @@ void CrashesDOMHandler::OnUploadListAvailable() {
  }
  
  void CrashesDOMHandler::UpdateUI() {
@@ -278,7 +279,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
  
    bool system_crash_reporter = false;
  #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
-@@ -235,14 +277,111 @@ void CrashesDOMHandler::UpdateUI() {
+@@ -235,14 +278,112 @@ void CrashesDOMHandler::UpdateUI() {
  
  void CrashesDOMHandler::HandleRequestSingleCrashUpload(
      base::Value::ConstListView args) {
@@ -286,6 +287,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
 -  if (!ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled() &&
 -      IsMetricsReportingPolicyManaged()) {
 -    return;
++  std::string local_id = args[0].GetString();
 +  base::ThreadPool::PostTaskAndReplyWithResult(
 +      FROM_HERE, kLoadingTaskTraits,
 +      base::BindOnce(&CrashesDOMHandler::RequestSingleUpload, base::Unretained(this), local_id),
@@ -359,7 +361,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
 +}
 +
 +void CrashesDOMHandler::HandleRequestNewExtraction(
-+    const base::ListValue* args) {
++    base::Value::ConstListView args) {
 +  base::ThreadPool::PostTask(
 +      FROM_HERE, kLoadingTaskTraits,
 +      base::BindOnce(&CrashesDOMHandler::RequestNewExtraction, base::Unretained(this)));
@@ -372,7 +374,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
 +}
 +
 +void CrashesDOMHandler::HandleRequestClearAll(
-+    const base::ListValue* args) {
++    base::Value::ConstListView args) {
 +  base::ThreadPool::PostTaskAndReply(
 +      FROM_HERE, kLoadingTaskTraits,
 +      base::BindOnce(&CrashesDOMHandler::ClearAll, base::Unretained(this)),
@@ -396,7 +398,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
  }
  
  }  // namespace
-@@ -254,7 +393,8 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
+@@ -254,7 +395,8 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
  ///////////////////////////////////////////////////////////////////////////////
  
  CrashesUI::CrashesUI(content::WebUI* web_ui) : WebUIController(web_ui) {

+ 8 - 7
build/patches/Multiple-fingerprinting-mitigations.patch

@@ -27,7 +27,7 @@ Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data
  chrome/browser/BUILD.gn                       |   1 +
  chrome/browser/about_flags.cc                 |  15 ++
  content/browser/BUILD.gn                      |   1 +
- .../renderer_host/render_process_host_impl.cc |   4 +
+ .../renderer_host/render_process_host_impl.cc |   5 +
  content/child/BUILD.gn                        |   1 +
  content/child/runtime_features.cc             |   9 +
  .../public/platform/web_runtime_features.h    |   3 +
@@ -48,7 +48,7 @@ Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data
  third_party/ungoogled/BUILD.gn                |  10 ++
  third_party/ungoogled/ungoogled_switches.cc   |  18 ++
  third_party/ungoogled/ungoogled_switches.h    |  18 ++
- 24 files changed, 345 insertions(+), 3 deletions(-)
+ 24 files changed, 346 insertions(+), 3 deletions(-)
  create mode 100644 third_party/ungoogled/BUILD.gn
  create mode 100644 third_party/ungoogled/ungoogled_switches.cc
  create mode 100644 third_party/ungoogled/ungoogled_switches.h
@@ -110,15 +110,16 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
 diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -215,6 +215,7 @@
+@@ -213,6 +213,8 @@
+ #include "services/tracing/public/cpp/system_tracing_service.h"
+ #endif
  
++#include "third_party/ungoogled/ungoogled_switches.h"
++
  #if defined(OS_WIN)
  #include "base/win/scoped_com_initializer.h"
-+#include "third_party/ungoogled/ungoogled_switches.h"
  #include "base/win/windows_version.h"
- #include "content/browser/renderer_host/dwrite_font_proxy_impl_win.h"
- #include "content/public/common/font_cache_dispatcher_win.h"
-@@ -3427,6 +3428,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -3427,6 +3429,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
      switches::kDisableBreakpad,
      switches::kDisableDatabases,
      switches::kDisableFileSystem,

+ 44 - 18
build/patches/Remove-signin-and-data-saver-integrations.patch

@@ -23,7 +23,7 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
  chrome/android/chrome_java_sources.gni        |  38 -----
  .../PriceTrackingUtilities.java               |   5 +-
  .../browser/feed/FeedSurfaceCoordinator.java  |   5 +-
- .../browser/feed/FeedSurfaceMediator.java     |  90 +---------
+ .../browser/feed/FeedSurfaceMediator.java     |  99 +----------
  chrome/android/java/AndroidManifest.xml       |   8 -
  .../android/java/res/xml/main_preferences.xml |  27 +--
  .../java/res/xml/privacy_preferences.xml      |   4 -
@@ -37,7 +37,7 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
  .../contextualsearch/ContextualSearchUma.java |   5 -
  .../browser/customtabs/CustomTabActivity.java |   3 -
  .../DataReductionPreferenceFragment.java      |  24 +--
- .../browser/firstrun/FirstRunActivity.java    |  31 ----
+ .../browser/firstrun/FirstRunActivity.java    |  40 -----
  .../firstrun/FirstRunFlowSequencer.java       |  31 +---
  .../firstrun/LightweightFirstRunActivity.java |   6 +-
  .../firstrun/ToSAndUMAFirstRunFragment.java   |  11 --
@@ -71,7 +71,7 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
  .../signin/SystemAccountManagerDelegate.java  |  35 +---
  .../net/HttpNegotiateAuthenticator.java       |  88 +---------
  .../chromoting/base/OAuthTokenFetcher.java    |   2 -
- 52 files changed, 48 insertions(+), 1161 deletions(-)
+ 52 files changed, 48 insertions(+), 1179 deletions(-)
 
 diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
 --- a/chrome/android/BUILD.gn
@@ -387,7 +387,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/
      }
  
      /**
-@@ -886,22 +823,6 @@ public class FeedSurfaceMediator
+@@ -886,31 +823,6 @@ public class FeedSurfaceMediator
  
      private ModelList buildMenuItems() {
          ModelList itemList = new ModelList();
@@ -407,10 +407,19 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/
 -                        R.id.ntp_feed_header_menu_item_reactions, iconId));
 -            }
 -        }
-         if (FeedServiceBridge.isAutoplayEnabled()) {
-             itemList.add(buildMenuListItem(
-                     R.string.ntp_manage_autoplay, R.id.ntp_feed_header_menu_item_autoplay, iconId));
-@@ -1112,11 +1033,6 @@ public class FeedSurfaceMediator
+-        if (FeedServiceBridge.isAutoplayEnabled()) {
+-            itemList.add(buildMenuListItem(
+-                    R.string.ntp_manage_autoplay, R.id.ntp_feed_header_menu_item_autoplay, iconId));
+-        }
+-        itemList.add(buildMenuListItem(
+-                R.string.learn_more, R.id.ntp_feed_header_menu_item_learn, iconId));
+-        itemList.add(getMenuToggleSwitch(
+-                mSectionHeaderModel.get(SectionHeaderListProperties.IS_SECTION_ENABLED_KEY),
+-                iconId));
+         return itemList;
+     }
+ 
+@@ -1112,11 +1024,6 @@ public class FeedSurfaceMediator
          updateSectionHeader();
      }
  
@@ -1232,7 +1241,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/datareduction/s
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
-@@ -27,12 +27,9 @@ import org.chromium.base.metrics.RecordHistogram;
+@@ -27,14 +27,10 @@ import org.chromium.base.metrics.RecordHistogram;
  import org.chromium.base.supplier.Supplier;
  import org.chromium.chrome.R;
  import org.chromium.chrome.browser.customtabs.CustomTabActivity;
@@ -1243,9 +1252,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
  import org.chromium.chrome.browser.metrics.UmaUtils;
 -import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
  import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
- import org.chromium.chrome.browser.signin.SigninFirstRunFragment;
+-import org.chromium.chrome.browser.signin.SigninFirstRunFragment;
  import org.chromium.chrome.browser.signin.services.FREMobileIdentityConsistencyFieldTrial;
-@@ -104,7 +101,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
+ import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
+ import org.chromium.ui.base.LocalizationUtils;
+@@ -104,7 +100,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
  
      private static final int FRE_PROGRESS_STARTED = 0;
      private static final int FRE_PROGRESS_WELCOME_SHOWN = 1;
@@ -1253,21 +1264,36 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
      private static final int FRE_PROGRESS_SIGNIN_SHOWN = 3;
      private static final int FRE_PROGRESS_COMPLETED_SIGNED_IN = 4;
      private static final int FRE_PROGRESS_COMPLETED_NOT_SIGNED_IN = 5;
-@@ -197,13 +193,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
-             notifyAdapter = true;
-         }
+@@ -155,7 +150,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
+     private void createPageSequence() {
+         FREMobileIdentityConsistencyFieldTrial.createFirstRunTrial();
+         if (FREMobileIdentityConsistencyFieldTrial.isEnabled()) {
+-            mPages.add(SigninFirstRunFragment::new);
+         } else {
+             mPages.add(shouldCreateEnterpriseCctTosPage()
+                             ? new TosAndUmaFirstRunFragmentWithEnterpriseSupport.Page()
+@@ -189,20 +183,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
+         mFirstRunFlowSequencer.onNativeAndPoliciesInitialized(mFreProperties);
  
+         boolean notifyAdapter = false;
+-        // An optional sign-in page.
+-        if (FREMobileIdentityConsistencyFieldTrial.isEnabled()
+-                && mFreProperties.getBoolean(SHOW_SIGNIN_PAGE)) {
+-            mPages.add(SyncConsentFirstRunFragment::new);
+-            mFreProgressStates.add(FRE_PROGRESS_SIGNIN_SHOWN);
+-            notifyAdapter = true;
+-        }
+-
 -        // An optional Data Saver page.
 -        if (mFreProperties.getBoolean(SHOW_DATA_REDUCTION_PAGE)) {
 -            mPages.add(new DataReductionProxyFirstRunFragment.Page());
 -            mFreProgressStates.add(FRE_PROGRESS_DATA_SAVER_SHOWN);
 -            notifyAdapter = true;
 -        }
--
+ 
          // An optional page to select a default search engine.
          if (mFreProperties.getBoolean(SHOW_SEARCH_ENGINE_PAGE)) {
-             mPages.add(new DefaultSearchEngineFirstRunFragment.Page());
-@@ -211,14 +200,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
+@@ -211,14 +191,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
              notifyAdapter = true;
          }
  
@@ -1282,7 +1308,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
          if (notifyAdapter && mPagerAdapter != null) {
              mPagerAdapter.notifyDataSetChanged();
          }
-@@ -489,18 +470,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
+@@ -489,18 +461,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
          FirstRunFlowSequencer.markFlowAsCompleted(
                  mResultSignInAccountName, mResultShowSignInSettings);
  

+ 146 - 28
build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch

@@ -3,34 +3,44 @@ Date: Sat, 7 Nov 2020 21:59:18 +0000
 Subject: Revert the removal of an option to block autoplay
 
 ---
- .../browser_ui/site_settings/android/BUILD.gn |  5 ++++
- .../res/xml/site_settings_preferences.xml     |  4 ++++
- .../ContentSettingsResources.java             |  5 +++-
- .../site_settings/SingleCategorySettings.java |  4 ++++
- .../site_settings/SingleWebsiteSettings.java  | 22 ++++++++++++++++++
- .../site_settings/SiteSettingsCategory.java   |  9 ++++++--
- .../browser_ui/site_settings/Website.java     |  8 +++++++
- .../WebsitePermissionsFetcher.java            |  1 +
- .../WebsitePreferenceBridge.java              |  4 ++++
- .../android/website_preference_bridge.cc      | 23 +++++++++++++++++++
- .../strings/android/site_settings.grdp        |  9 ++++++++
- .../core/browser/content_settings_registry.cc |  2 +-
- .../core/browser/content_settings_utils.cc    |  2 ++
- .../core/common/content_settings.cc           |  1 +
- .../core/common/content_settings.h            |  1 +
- .../core/common/content_settings.mojom        |  1 +
- .../common/content_settings_mojom_traits.cc   |  1 +
- .../common/content_settings_mojom_traits.h    |  5 ++++
- .../renderer/content_settings_agent_impl.cc   | 11 +++++++++
- .../renderer/content_settings_agent_impl.h    |  1 +
- .../android/page_info_controller_android.cc   |  1 +
- components/page_info/page_info.cc             |  6 +++++
- components/page_info/page_info_ui.cc          |  1 +
- components/site_settings_strings.grdp         |  5 +++-
- .../platform/web_content_settings_client.h    |  3 +++
- .../core/html/media/autoplay_policy.cc        | 12 +++++++++-
- .../core/html/media/autoplay_policy.h         |  4 ++++
- 27 files changed, 145 insertions(+), 6 deletions(-)
+ .../browser_ui/site_settings/android/BUILD.gn |   5 ++++
+ .../res/drawable-hdpi/settings_autoplay.png   | Bin 0 -> 456 bytes
+ .../res/drawable-mdpi/settings_autoplay.png   | Bin 0 -> 296 bytes
+ .../res/drawable-xhdpi/settings_autoplay.png  | Bin 0 -> 551 bytes
+ .../res/drawable-xxhdpi/settings_autoplay.png | Bin 0 -> 792 bytes
+ .../drawable-xxxhdpi/settings_autoplay.png    | Bin 0 -> 1064 bytes
+ .../res/xml/site_settings_preferences.xml     |   4 +++
+ .../ContentSettingsResources.java             |   5 +++-
+ .../site_settings/SingleCategorySettings.java |   4 +++
+ .../site_settings/SingleWebsiteSettings.java  |  22 +++++++++++++++++
+ .../site_settings/SiteSettingsCategory.java   |   9 +++++--
+ .../browser_ui/site_settings/Website.java     |   8 ++++++
+ .../WebsitePermissionsFetcher.java            |   1 +
+ .../WebsitePreferenceBridge.java              |   4 +++
+ .../android/website_preference_bridge.cc      |  23 ++++++++++++++++++
+ .../strings/android/site_settings.grdp        |   9 +++++++
+ .../core/browser/content_settings_registry.cc |   2 +-
+ .../core/browser/content_settings_utils.cc    |   2 ++
+ .../core/common/content_settings.cc           |   1 +
+ .../core/common/content_settings.h            |   1 +
+ .../core/common/content_settings.mojom        |   1 +
+ .../common/content_settings_mojom_traits.cc   |   1 +
+ .../common/content_settings_mojom_traits.h    |   5 ++++
+ .../renderer/content_settings_agent_impl.cc   |  11 +++++++++
+ .../renderer/content_settings_agent_impl.h    |   1 +
+ .../android/page_info_controller_android.cc   |   1 +
+ components/page_info/page_info.cc             |   6 +++++
+ components/page_info/page_info_ui.cc          |   1 +
+ components/site_settings_strings.grdp         |   5 +++-
+ .../platform/web_content_settings_client.h    |   3 +++
+ .../core/html/media/autoplay_policy.cc        |  12 ++++++++-
+ .../core/html/media/autoplay_policy.h         |   4 +++
+ 32 files changed, 145 insertions(+), 6 deletions(-)
+ create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/settings_autoplay.png
+ create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/settings_autoplay.png
+ create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/settings_autoplay.png
+ create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxhdpi/settings_autoplay.png
+ create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/settings_autoplay.png
 
 diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
 --- a/components/browser_ui/site_settings/android/BUILD.gn
@@ -47,6 +57,114 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
      "java/res/drawable/ic_person_24dp.xml",
      "java/res/drawable/settings_bluetooth.xml",
      "java/res/layout/add_site_dialog.xml",
+diff --git a/components/browser_ui/site_settings/android/java/res/drawable-hdpi/settings_autoplay.png b/components/browser_ui/site_settings/android/java/res/drawable-hdpi/settings_autoplay.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..a8a9265f14cd8445ad1f55845099e60dc3c4edf1
+GIT binary patch
+literal 456
+zcmV;(0XP1MP)<h;3K|Lk000e1NJLTq001Na001Ni1ONa4O9@aD0004xNkl<Zcmd^>
+zv2MaJ5QYmZs7m@68Tt%)0T}7#GcJmh4B69}fh}W`x!sUhd4N1chpY%8u@-es;cQTy
+zGbWY1VQ**q%l&uuT^{am%=;qbIaI7>hvTfF;<*Ut{eMAbL!QB&HFUzBXR~2P41Zx8
+z)>!6-O>RP(9xN_j-$FSZiy-wPUj)-Jl(4<5Et;Mc!<K5}jwP!>dwn%v3G5VXX+fR6
+zfpz3x+Y|Y)K6`aNHVw{qdv4}^DAdl0F;g<cu%;M_QeJHg8RVIajV_AK%qV!0vEmv1
+z#vVbjZa-Q+lSd;emiMaVzX)Z*+nGY^7d%tYY9KFz2z6mO9x2+}RepX<5}`zKxo)iR
+zz{m)~NhMClXs`4GHM$vG2T_S4KzpqpIGl{BX8{q3sfX5s0TlVSK=Ataj-&0{v9#{N
+z{;&j_q`#yfB8jBm<%OhAge7edm84b@`b2QRo9WRKN#xNwD<h5zoBL8ri$BDs;tw$`
+y{$1Kp0i#npN<C~x1#L&}8>IV|-Tf!x{>CqV{oZM{Igf1s0000<MNUMnLSTY>m&@A#
+
+literal 0
+HcmV?d00001
+
+diff --git a/components/browser_ui/site_settings/android/java/res/drawable-mdpi/settings_autoplay.png b/components/browser_ui/site_settings/android/java/res/drawable-mdpi/settings_autoplay.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..49fa10d44f4007532d0d03d15fdcb1a715857e96
+GIT binary patch
+literal 296
+zcmV+@0oVSCP)<h;3K|Lk000e1NJLTq000;O000;W1ONa4N`Cco0002*Nkl<Zc-p;F
+zu?>ST5R5=Hk+X;yg9#|y{3AI^L4jN_0yR^lp<y0UAY}`bhK9U}6x+c{;s$?XpYHT`
+z_WQ8+DiaXc!3Y!8NIOv`U+9>_9hQ%}W9}t45w<H~z#4hQDkf8`VbB=1O|%hcI?jda
+zV;k+`LgB0>TQfw*%xg4TCAk}wycg<C;jW}mI*Sz_g!XRC-~-OCu{Db@O*?8?8^Rj&
+zS{^N1H6fiLjCAC#fRLNPkP|W*!URjjT!AiQtzvYZ{t%#iA(xXD1Xz-(u@oBGf2}Be
+u*BbnAfuj*Re80yVxjo)NA1L&T?!2C$I@?4>V>|Ky0000<MNUMnLSTX*1bI&Y
+
+literal 0
+HcmV?d00001
+
+diff --git a/components/browser_ui/site_settings/android/java/res/drawable-xhdpi/settings_autoplay.png b/components/browser_ui/site_settings/android/java/res/drawable-xhdpi/settings_autoplay.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..5a4128a5e02949de754f9cab2635824eda8c539c
+GIT binary patch
+literal 551
+zcmV+?0@(eDP)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0005*Nkl<Zc-rk(
+zy>fy;5RRo0wX?Hwh9Zw(#Vgp}9uO@kj!GT?W_XdLp-A4qiidDg@B~=L$xN`2Fo6Ry
+zoC`9!!WnNX*>%6WZ+~v@;l6HTnG5Pb03nIUF_Q>F2&iK&{=v0ABR=d&Dwa&+>$CpO
+zN8o1rO<Uv$u0HDF9##;Ow3|Q-tE-%+18~W?=HLW7u&HLKOxcVLm1<yTUrsfUGq~xX
+zqx<cUyx0DE0A@`^cGeUaIn=iCwjFlbea(GBJf>jQOd%dgDu@oJ0JqvZU3NJ!T~_A+
+zw>7k!d)Tk%U1PSM!@i8g3Qx?K@4o3Chv27xSRb|1lL*LZCn{;7NuQNv<q5!Ftw$V!
+zc)av3R5$TCJ)+DZDSW^ao>676eW3vl6flwYSMx=l(G+1kL4+N%tlEhfAQy}(nDFWr
+zbXw{Z4tCiO1OTTBcDW68nyP>kgahDIfn8VxO;uQ6Yd8Q-71auD*mMx(DnrEqaH<To
+z&_)dhyat$p1K?CKh1bGGfX(<C05JbrZN`P>Q#wV`gM2wnZ5*JY22WGzg(js{SktOi
+z^lWxu_H1_Y+jaYe^U~wOk$z>$zx3sgE%FC1e02PlFgl8cUvcTd1Q~vNjPEQT-<g7p
+p?=l}ClAlmgAAvHTvG;Wo>j%AMEx!+_@2>y=002ovPDHLkV1fY;_gnw~
+
+literal 0
+HcmV?d00001
+
+diff --git a/components/browser_ui/site_settings/android/java/res/drawable-xxhdpi/settings_autoplay.png b/components/browser_ui/site_settings/android/java/res/drawable-xxhdpi/settings_autoplay.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..7fceb8c2b546970a3720e8ab225799aa03895b7f
+GIT binary patch
+literal 792
+zcmV+z1LypSP)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj0008tNkl<ZcmeHN
+zv2Nl_5Kd(&P^2J2k<wEAFOV*wK{6%nd}~AH7AGB@E1m)cC{TL;PY?@4L47q{DkQ2)
+zgu;oFPN%!E!Ny}lw9<LD9oFB@H#0js!$l#56r!s*CDlL=Bg|=u6>VsP6)iEx2tCzs
+zN?!=Ys;Vvm+R!dxZSbnPR`u*)=$?G~q+QDONj}}54UDQIpq+dnupUkhrgMXd90~(9
+z>D-*sHYV1z%eSyr=BeO3;m5&Ge2@<pO;xiip5YmGMb*%ROFljhg4(L5++aL|o)4Xt
+z#%NjP*f=bsMdO23efEqzx#k+Py)EC-cdk<X`U-t|-#g6Ixz21IO!tgFux}-M*tcpx
+z+bE=rR*I5^H|s7_BE7>~l(<Z;9NA<MwvEhAv<UAec5h`y4E^$WnI||NFX<&hz9~zC
+z>oA;)6G#{m)`C=tNtmpB)?rp!gtK?*J1gwU@xCMXrLcRedOG_Aoa>~>!hiCJ<GzU?
+zU4g;RFi3>{ojT&^9q|2A6eswfXXRwNew}jUlw`DpvbTS<8sy~{`pMeAwZ6%yL!Xy$
+zN2*G=JTQ;lS${M|)Hzo?si<yxhaM+sazIk*Xq?iqof0qI(UJg?P=^+O4kR2zHF)`D
+zl|_IA)LCU-!l_0)@}9u|IUq50<g;J&;sK4Ankxn*pe__Vqj<GBGo&d7B%n^2OnV;x
+zfh7Y}69W=Zr)o@h8E>K0Up2cT1|*=)t}wk-{0CUjdxjX0fI83Mf&Ybo(3S(znzB<m
+z^)SCv%fntq6%#ah*z2DdwY@s>U#@89zg#sfKk^r7!;A&m>sd-zwDXs+niu)Z|Ao(>
+z;TfMn@`obY`5%hfKBYBiHdqh(w`25gSn1i))3E8OQ(Krf&Sz(7oX<QX`)FaR!DvC-
+z;R|!`ZTxsjnS4B@Ou=|cg8`miBTkKmz^eW)jLCUb2{*+b2?DrQRj0pNXexyiQpitx
+WnED%yq_MdG0000<MNUMnLSTZmtagO}
+
+literal 0
+HcmV?d00001
+
+diff --git a/components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/settings_autoplay.png b/components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/settings_autoplay.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..92a315bb00ac1f4dc675e894bf4af3ba7c68bf39
+GIT binary patch
+literal 1064
+zcmV+@1lRkCP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@000B;Nkl<Zc-rk-
+zF-Rjp6x}q5UMCS0#3Pl(5mH&l%1Q;{uKI6w6G2RqfI_g2*e8Om;Gwl(ZGDB6<Z@mY
+z41!h)DtJW--GhTGoY}a$GqZ^U^QZnZ|INPr^Z%bejuk6btXQ$4Pc|mmBCFCqouNZL
+z+*6<WxThXEbVmEE$`&^!KcwMX<5*@*wCR=nknxH(Yhrn8{DYY8r>Mvd@I-#RfhTrA
+zML#uC<7*jKp)UCfqsuC_%t(wck71K;$=5J$u~{A)viWQYSLEv(xME8~Gk$Frr{wD&
+zI9;0^#@?^uf&63!9@uK4#y8Tm7iz{GPOt-V=gT=S+ekOkUbdWb=Rw%P3EhS2?={j1
+znNJh=@$S+WRQC#g>V2o{6{t=Z?|z3LG~wtMZ-y=hF8Pd>n~yV_n@0=J13_GRGrG;6
+z!}Wm09<l3XrRL0HmmUXf$+b79b@vCEkE8V|m6_M4a5NCYj5h8ElLt5Mf{yv!1>6J^
+zi6*pop5R{>=jCZ_r}{L`gMViY9x2#y;<%R48&%;r*r_TXTLH$uVB1MRu#FdSHKn7?
+z`-}(CeD>8zNbpUBfCq&DBPizKc3=Bf2#S%UBhDc1I|)nBzrdE{;{7Yp^VBj!$TQBx
+zU|S+zz^3T;B^;-eQx(qzY{qtLVzw3S*uwXXPwGdTn6<_H_N*cX4be2o$8UU5g&+nP
+ztP-!%(B(t6s4>q!uz#qm24H<k2=lrzDi~B0_J233?tcwcDq&ZkQ87A!4)}QA%f<zu
+zN+mDL=L_s0dX?>oQ*Am<Tmb4+LW?hjMXctzD}w*YO8`)&lA9OoSdl_b7mgzXK%Gi_
+z?u=G6wV#{`bvXd)RH8aJPdie9oUbr@1vvofRPqXZWjjJ~o-Oiq9zP`qK%Gi{imxNF
+z#ZV>GxMfcqM;3rOm2koVsD>M`&n>zm4?vwt*x~f|!wop&79@E9>Qn-8+GpV^zc}AJ
+zFAqSSO71+T*$FqG_g1BxlLw$qrE-qb>xHV|o^zsEc>wBE^0J)HeYgSrw<?XaJOFhn
+zHPW0;|APTQNjCuVDP;an+!=-&MJXXSYW_iHekj4JNd|K$X%6Ph52wvfXhcC<e@cl`
+zVkxC4tod=0da3dbmbI2u4)v8)uq;{FLQA%=g_7RFmf@vE<BPjPEU%+9qVl@=7aZzW
+zOoyYnVlw}dPjsfExn`|pg0EQ(zvwo+)xh{>55wDS3~zX{EoY-``m=49hBUsaw;r=*
+z+}2~(e82VBHh+(@{oX!+2n#ThdxByg0maD|^ghF~58(`dil|N~cLlAek3rFLSGLCO
+ib6hJ{tXQ#P#rX?0El=KlH_u1_0000<MNUMnLSTX(y!wd%
+
+literal 0
+HcmV?d00001
+
 diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
 --- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
 +++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml

+ 153 - 21
build/patches/Site-setting-for-images.patch

@@ -3,23 +3,34 @@ Date: Tue, 5 Oct 2021 08:38:52 +0000
 Subject: Site setting for images
 
 ---
- .../browser_ui/site_settings/android/BUILD.gn |  5 +++++
- .../res/xml/site_settings_preferences.xml     |  4 ++++
- .../ContentSettingsResources.java             |  4 ++++
- .../site_settings/SingleCategorySettings.java |  4 ++++
- .../site_settings/SingleWebsiteSettings.java  | 22 +++++++++++++++++++
- .../site_settings/SiteSettingsCategory.java   |  9 ++++++--
- .../site_settings/SiteSettingsUtil.java       |  1 +
- .../browser_ui/site_settings/Website.java     |  6 +++++
- .../WebsitePermissionsFetcher.java            |  1 +
- .../android/website_preference_bridge.cc      |  1 +
- .../strings/android/site_settings.grdp        |  6 +++++
- .../core/browser/content_settings_registry.cc |  3 ++-
- .../core/browser/content_settings_utils.cc    |  9 ++------
- .../android/page_info_controller_android.cc   |  4 ++++
- components/page_info/page_info.cc             |  7 ++++--
- components/page_info/page_info_ui.cc          |  1 +
- 16 files changed, 75 insertions(+), 12 deletions(-)
+ .../browser_ui/site_settings/android/BUILD.gn |   5 ++++
+ .../res/drawable-hdpi/permission_images.png   | Bin 0 -> 257 bytes
+ .../res/drawable-mdpi/permission_images.png   | Bin 0 -> 186 bytes
+ .../res/drawable-xhdpi/permission_images.png  | Bin 0 -> 316 bytes
+ .../res/drawable-xxhdpi/permission_images.png | Bin 0 -> 449 bytes
+ .../drawable-xxxhdpi/permission_images.png    | Bin 0 -> 532 bytes
+ .../res/xml/site_settings_preferences.xml     |   4 ++++
+ .../ContentSettingsResources.java             |   4 ++++
+ .../site_settings/SingleCategorySettings.java |   4 ++++
+ .../site_settings/SingleWebsiteSettings.java  |  22 ++++++++++++++++++
+ .../site_settings/SiteSettingsCategory.java   |   9 +++++--
+ .../site_settings/SiteSettingsUtil.java       |   1 +
+ .../browser_ui/site_settings/Website.java     |   6 +++++
+ .../WebsitePermissionsFetcher.java            |   1 +
+ .../android/website_preference_bridge.cc      |   1 +
+ .../strings/android/site_settings.grdp        |   6 +++++
+ .../core/browser/content_settings_registry.cc |   3 ++-
+ .../core/browser/content_settings_utils.cc    |   9 ++-----
+ .../android/page_info_controller_android.cc   |   4 ++++
+ components/page_info/page_info.cc             |   7 ++++--
+ components/page_info/page_info_ui.cc          |   4 ++--
+ components/site_settings_strings.grdp         |  12 +++++-----
+ 22 files changed, 82 insertions(+), 20 deletions(-)
+ create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/permission_images.png
+ create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/permission_images.png
+ create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/permission_images.png
+ create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxhdpi/permission_images.png
+ create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/permission_images.png
 
 diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
 --- a/components/browser_ui/site_settings/android/BUILD.gn
@@ -64,6 +75,88 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
      "java/res/drawable-xxxhdpi/permission_javascript.png",
      "java/res/drawable-xxxhdpi/permission_popups.png",
      "java/res/drawable-xxxhdpi/permission_protected_media.png",
+diff --git a/components/browser_ui/site_settings/android/java/res/drawable-hdpi/permission_images.png b/components/browser_ui/site_settings/android/java/res/drawable-hdpi/permission_images.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..cafee5acf2299e534676a15fb029192e066551c9
+GIT binary patch
+literal 257
+zcmV+c0sj7pP)<h;3K|Lk000e1NJLTq001Na001Ni1ONa4O9@aD0002UNkl<ZcmZP|
+z9*lxew#fFVXHox&g^^Dq+e6u~7z8xtKdCUX9g9IA*N_aKVKeAIIdG^OG-}YOL6J+M
+z=1{?)$ormr4jfTui8lyg|4by_p9m|Enh1r+w*(DBw;xzO9fR>B>S3zFJ)`~-FbLEB
+zAW2Bk5_vR~8KEwso}fXP_D5Pq{*3w<p@5>0DQX)*gD~xnN{fodD3paF?-Mi#Y(GH|
+zZWQ&MkU`N5M1hFpL7hb?uSFuCQm<a4yrzwM2CZr74@Ln1pdnSs3x>A700000NkvXX
+Hu0mjfaQkDG
+
+literal 0
+HcmV?d00001
+
+diff --git a/components/browser_ui/site_settings/android/java/res/drawable-mdpi/permission_images.png b/components/browser_ui/site_settings/android/java/res/drawable-mdpi/permission_images.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..52435094e69ea5278e5c2a60238c7c374961ef08
+GIT binary patch
+literal 186
+zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+iMo$;VkP60Ri7g6uj9(RAslQ|J
+zDR75+7h6ZspQr%SKk7Uy7bS)`KY4!Q!HV@QrgIuMJ4s3?32|iJ5IZHaQ|QdA<`XV@
+z2No-Ss#_tz?5vUg<mCxxJ{<wc_;o8*?=Y$1H*fl&w8TkOplD%KVEo3c4v%9~rzs1a
+k;0l{G+5Dws#s($^mqRr#7AM@F4s;BIr>mdKI;Vst089i%5C8xG
+
+literal 0
+HcmV?d00001
+
+diff --git a/components/browser_ui/site_settings/android/java/res/drawable-xhdpi/permission_images.png b/components/browser_ui/site_settings/android/java/res/drawable-xhdpi/permission_images.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..cf3b7d0e10cd0e660db9b2532c54a317c7ea4c6c
+GIT binary patch
+literal 316
+zcmV-C0mJ@@P)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+00034Nkl<ZcwX(7
+zp$@_@5QZ0mAULoyC<KxxKwuEaWxZ2NaJ&Rhft#2akAUGBkO&lNQv*j3gp5D}*APnD
+zbv5Mr>Azp{U()nEK1|&NKBkysSq;cA4gBBN7g$<S{7}G(0v4o70hMD#t`?N_zycO%
+z!vYqtAcn-HU^{9}+qiQifTQR=0>J>!_JSCeAA(yrc_l<tSwK~cnz)hUVj*WBsVtx>
+zumk&deC;*l3{ApVAXgFg@$^(4g07sPNoWexRp1z|cnOE!aw0MoP!$Bs#Y~li#6Un*
+z=s=S&5Kt95&?K}4RD}s5`k&X-@#hyZwIFr*eRscr*soBS(+b5f^_@FBh3KYE{OnEu
+O0000<MNUMnLSTY+QGR&<
+
+literal 0
+HcmV?d00001
+
+diff --git a/components/browser_ui/site_settings/android/java/res/drawable-xxhdpi/permission_images.png b/components/browser_ui/site_settings/android/java/res/drawable-xxhdpi/permission_images.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..d4d1f0c6e9a59ad9e334daeeb830c953f371706f
+GIT binary patch
+literal 449
+zcmV;y0Y3hTP)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj0004qNkl<ZcwX(<
+zze>YU6vy#j)Ir6`sdRGHQCx+t4o-6IId=*)FW?jO3G@jZvg!kL>E_acI_m1An@ca%
+zLHq+j4wj_lLUKbY=X)QZAIixk<iIaY(=;vO#E#h6?*M0FN1Pynf2L)J0tj`6rUlO;
+z;RGgm{!5$)An@VD4>Ya|WJi7=R~LvKd=fwnXDL7mQjmfaq#y+;NI?oxkb>CpiJdkG
+zWDP)ZV?cb4EKVB%;+xJIvW_?HLp`9o1)vwxf@JpWG(2cvR{5%!!yj~rnJ5kn;wQ5W
+zm<_%y0?`?AaT*fz-rYwQwfQ**x<)RUq%a`rL81eG`^(`+vxQtTNkKrDn2AsMOE|8(
+zi@8x80(9S5&;3weum%g`v|<py(hl-Pzt7tR<|mU>CFrwzgrc(NO|C-8W0J~&sE@f(
+z+xPP>#Z`d@SV1LmS`s8zVfkc|N`mAnET2qLDG>EgaTNdmS6BtHs|_@1`0}Os>#6z|
+rcuTqBlqE2a!;CjO|0S@dX_|%~l|w?sH+N5m00000NkvXXu0mjfPvFC^
+
+literal 0
+HcmV?d00001
+
+diff --git a/components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/permission_images.png b/components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/permission_images.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..cca41100e76e81974b4c22d1d9a1fdffabe9cf60
+GIT binary patch
+literal 532
+zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z<Ar!#WAEJ?(J+tzrzVUt-OnZ
+zj<TsIB)#y^ztG6Yc5Kzg<sLaPP0}u>4urJLS>(KvDJM1I5sSeVC!Qr--l?HpO;<zI
+zelGp~lj*0*{_RKXuQCITW?(qR>{)S8Tk~J#v^^72Y!=i?d{cQE)Ag;b*t31_vH9nV
+zHE+q!GY^>%($(j4E91N6`!0s(yqgp{MPz5Sl(mY-3OzXbj%l?Y=bDW0B`>bE=rS;J
+zI502?G%&CzU@&c->ZCM25B&cuB92+~LH~=K&+k8LyEK}{Uu@Ih3sBg#T-SozH^Gg4
+zORL(#T*i5ynspDne;j<vY4QX8gzcwZc+BHze1DQPRN&}au8h?uIQReE`FDE=bNX72
+zDbcA#dh@q3^@lX89gIJaC%W^=e6Pmof%Cm)czzJS5El4jUD`>WMK{8MQcJJ6zdmUy
+znIZIt^-b7CyHznp%AEI@%2rSLmEqQ&vKXj-L$vGf6?;<3penTVXY!_lRAk79>d&0Z
+z;?9^WDsRH+$8<~UoXf_^4coe`=U8%Ntp2gcvp~Qg>Zmp6Z*GaTkLIw<kphN9qx`;8
+zMn5h;e$c<a*?vF&A4ZoC{sBz&EFw>gb>bq=Zve-^0sWl|`X($0(Fg}|Jzf1=);T3K
+F0RV{K+KvDK
+
+literal 0
+HcmV?d00001
+
 diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
 --- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
 +++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
@@ -348,14 +441,53 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
 diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_info_ui.cc
 --- a/components/page_info/page_info_ui.cc
 +++ b/components/page_info/page_info_ui.cc
-@@ -208,6 +208,7 @@ base::span<const PageInfoUI::PermissionUIInfo> GetContentSettingsUIInfo() {
+@@ -195,6 +195,8 @@ base::span<const PageInfoUI::PermissionUIInfo> GetContentSettingsUIInfo() {
+      IDS_SITE_SETTINGS_TYPE_CAMERA_PAN_TILT_ZOOM_MID_SENTENCE},
+     {ContentSettingsType::IDLE_DETECTION, IDS_SITE_SETTINGS_TYPE_IDLE_DETECTION,
+      IDS_SITE_SETTINGS_TYPE_IDLE_DETECTION_MID_SENTENCE},
++    {ContentSettingsType::IMAGES, IDS_SITE_SETTINGS_TYPE_IMAGES,
++     IDS_SITE_SETTINGS_TYPE_IMAGES_MID_SENTENCE},
+ #if !defined(OS_ANDROID)
+     // Page Info Permissions that are not defined in Android.
+     {ContentSettingsType::FILE_HANDLING, IDS_SITE_SETTINGS_TYPE_FILE_HANDLING,
+@@ -206,8 +208,6 @@ base::span<const PageInfoUI::PermissionUIInfo> GetContentSettingsUIInfo() {
+      IDS_SITE_SETTINGS_TYPE_FONT_ACCESS_MID_SENTENCE},
+     {ContentSettingsType::HID_GUARD, IDS_SITE_SETTINGS_TYPE_HID_DEVICES,
       IDS_SITE_SETTINGS_TYPE_HID_DEVICES_MID_SENTENCE},
-     {ContentSettingsType::IMAGES, IDS_SITE_SETTINGS_TYPE_IMAGES,
-      IDS_SITE_SETTINGS_TYPE_IMAGES_MID_SENTENCE},
-+    {ContentSettingsType::IMAGES, IDS_PAGE_INFO_TYPE_IMAGES}, // needed
+-    {ContentSettingsType::IMAGES, IDS_SITE_SETTINGS_TYPE_IMAGES,
+-     IDS_SITE_SETTINGS_TYPE_IMAGES_MID_SENTENCE},
      {ContentSettingsType::SERIAL_GUARD, IDS_SITE_SETTINGS_TYPE_SERIAL_PORTS,
       IDS_SITE_SETTINGS_TYPE_SERIAL_PORTS_MID_SENTENCE},
      {ContentSettingsType::WINDOW_PLACEMENT,
+diff --git a/components/site_settings_strings.grdp b/components/site_settings_strings.grdp
+--- a/components/site_settings_strings.grdp
++++ b/components/site_settings_strings.grdp
+@@ -148,6 +148,12 @@
+   <message name="IDS_SITE_SETTINGS_TYPE_VR_MID_SENTENCE" desc="The label used for the VR site settings controls when used mid-sentence.">
+     virtual reality
+   </message>
++  <message name="IDS_SITE_SETTINGS_TYPE_IMAGES" desc="The label used for images site settings controls.">
++    Images
++  </message>
++  <message name="IDS_SITE_SETTINGS_TYPE_IMAGES_MID_SENTENCE" desc="The label used for images site settings controls when used mid-sentence.">
++    images
++  </message>
+ 
+   <!-- Site Settings desktop-only -->
+   <if expr="not is_android">
+@@ -181,12 +187,6 @@
+   <message name="IDS_SITE_SETTINGS_TYPE_HID_DEVICES_MID_SENTENCE" desc="The label used for the HID site settings controls when used mid-sentence.">
+     HID devices
+   </message>
+-  <message name="IDS_SITE_SETTINGS_TYPE_IMAGES" desc="The label used for images site settings controls.">
+-    Images
+-  </message>
+-  <message name="IDS_SITE_SETTINGS_TYPE_IMAGES_MID_SENTENCE" desc="The label used for images site settings controls when used mid-sentence.">
+-    images
+-  </message>
+   <message name="IDS_SITE_SETTINGS_TYPE_INSECURE_CONTENT" desc="The label used for the insecure content site settings controls. This setting controls whether HTTP content will be displayed on HTTPS sites.">
+     Insecure content
+   </message>
 -- 
 2.17.1
 

+ 5 - 4
build/patches/disable-AdsBlockedInfoBar.patch

@@ -3,8 +3,8 @@ Date: Mon, 26 Aug 2019 17:54:28 -0400
 Subject: disable AdsBlockedInfoBar
 
 ---
- .../browser/profile_interaction_manager.cc    | 43 +------------------
- 1 file changed, 1 insertion(+), 42 deletions(-)
+ .../browser/profile_interaction_manager.cc    | 44 +------------------
+ 1 file changed, 1 insertion(+), 43 deletions(-)
 
 diff --git a/components/subresource_filter/content/browser/profile_interaction_manager.cc b/components/subresource_filter/content/browser/profile_interaction_manager.cc
 --- a/components/subresource_filter/content/browser/profile_interaction_manager.cc
@@ -23,10 +23,11 @@ diff --git a/components/subresource_filter/content/browser/profile_interaction_m
  namespace subresource_filter {
  
  ProfileInteractionManager::ProfileInteractionManager(
-@@ -135,42 +128,8 @@ void ProfileInteractionManager::MaybeShowNotification() {
+@@ -134,43 +127,8 @@ void ProfileInteractionManager::MaybeShowNotification() {
+   DCHECK(page_);
    DCHECK(page_->IsPrimary());
  
-   const GURL& top_level_url = page_->GetMainDocument().GetLastCommittedURL();
+-  const GURL& top_level_url = page_->GetMainDocument().GetLastCommittedURL();
 -  if (profile_context_->settings_manager()->ShouldShowUIForSite(
 -          top_level_url)) {
 -#if defined(OS_ANDROID)