浏览代码

Release 90.0.4430.59

csagan5 4 年之前
父节点
当前提交
aaac339b89

+ 9 - 1
CHANGELOG.md

@@ -1,5 +1,13 @@
+# 90.0.4430.59
+* fix menu items not properly displayed with tab overflow menu regroup (fixes https://github.com/bromite/bromite/issues/963)
+* fix text displayed for menu entry to bookmark all tabs
+* bookmarks import/export: disable SAF by default (fixes https://github.com/bromite/bromite/issues/1039)
+* disable offline measurement background task
+* dropped patch to show warnings for TSLv1.0/v1.1 connections (upstream now disallows them)
+* disable AImageReader by default on Android 9 and below for Qualcomm (fixes https://github.com/bromite/bromite/issues/1005)
+
 # 89.0.4389.117
 # 89.0.4389.117
-* disable AImageReader by default on Android 9 and below (fixes https://github.com/bromite/bromite/issues/1005)
+* disable AImageReader by default on Android 9 and below for ARM (fixes https://github.com/bromite/bromite/issues/1005)
 * log checksum of AdBlock filters
 * log checksum of AdBlock filters
 
 
 # 89.0.4389.100
 # 89.0.4389.100

+ 1 - 1
build/RELEASE

@@ -1 +1 @@
-90.0.4430.56
+90.0.4430.59

+ 0 - 1
build/bromite_patches_list.txt

@@ -23,7 +23,6 @@ ungoogled-chromium-Disable-translate-integration.patch
 ungoogled-chromium-Disable-profile-avatar.patch
 ungoogled-chromium-Disable-profile-avatar.patch
 ungoogled-chromium-Disable-intranet-redirect-detector.patch
 ungoogled-chromium-Disable-intranet-redirect-detector.patch
 ungoogled-chromium-Disable-Google-host-detection.patch
 ungoogled-chromium-Disable-Google-host-detection.patch
-ungoogled-chromium-Disable-GCM.patch
 ungoogled-chromium-Disable-Gaia.patch
 ungoogled-chromium-Disable-Gaia.patch
 ungoogled-chromium-Disable-domain-reliability.patch
 ungoogled-chromium-Disable-domain-reliability.patch
 ungoogled-chromium-Disable-Network-Time-Tracker.patch
 ungoogled-chromium-Disable-Network-Time-Tracker.patch

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

@@ -634,7 +634,7 @@ new file mode 100644
 diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
 diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
 --- a/chrome/browser/ui/BUILD.gn
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -256,6 +256,8 @@ static_library("ui") {
+@@ -254,6 +254,8 @@ static_library("ui") {
      "webui/metrics_handler.h",
      "webui/metrics_handler.h",
      "webui/net_export_ui.cc",
      "webui/net_export_ui.cc",
      "webui/net_export_ui.h",
      "webui/net_export_ui.h",
@@ -646,7 +646,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
 diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
 diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
 +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
 +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -53,6 +53,7 @@
+@@ -52,6 +52,7 @@
  #include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
  #include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
  #include "chrome/browser/ui/webui/policy/policy_ui.h"
  #include "chrome/browser/ui/webui/policy/policy_ui.h"
  #include "chrome/browser/ui/webui/predictors/predictors_ui.h"
  #include "chrome/browser/ui/webui/predictors/predictors_ui.h"
@@ -654,7 +654,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
  #include "chrome/browser/ui/webui/quota_internals/quota_internals_ui.h"
  #include "chrome/browser/ui/webui/quota_internals/quota_internals_ui.h"
  #include "chrome/browser/ui/webui/signin_internals_ui.h"
  #include "chrome/browser/ui/webui/signin_internals_ui.h"
  #include "chrome/browser/ui/webui/sync_internals/sync_internals_ui.h"
  #include "chrome/browser/ui/webui/sync_internals/sync_internals_ui.h"
-@@ -558,6 +559,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
+@@ -555,6 +556,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
      return &NewWebUI<MemoryInternalsUI>;
      return &NewWebUI<MemoryInternalsUI>;
    if (url.host_piece() == chrome::kChromeUINetExportHost)
    if (url.host_piece() == chrome::kChromeUINetExportHost)
      return &NewWebUI<NetExportUI>;
      return &NewWebUI<NetExportUI>;

+ 44 - 26
build/patches/Add-menu-item-to-bookmark-all-tabs.patch

@@ -4,11 +4,11 @@ Subject: Add menu item to bookmark all tabs
 
 
 ---
 ---
  chrome/android/java/res/menu/main_menu.xml    |  7 +++
  chrome/android/java/res/menu/main_menu.xml    |  7 +++
- .../java/res/menu/main_menu_regroup.xml       |  4 ++
+ .../java/res/menu/main_menu_regroup.xml       |  9 +++
  .../chrome/browser/ChromeTabbedActivity.java  | 26 ++++++++
  .../chrome/browser/ChromeTabbedActivity.java  | 26 ++++++++
- .../browser/bookmarks/BookmarkBridge.java     | 62 +++++++++++++++++++
+ .../browser/bookmarks/BookmarkBridge.java     | 61 +++++++++++++++++++
  .../browser/bookmarks/BookmarkUtils.java      |  4 ++
  .../browser/bookmarks/BookmarkUtils.java      |  4 ++
- .../android/bookmarks/bookmark_bridge.cc      | 17 +++++
+ .../android/bookmarks/bookmark_bridge.cc      | 17 ++++++
  .../android/bookmarks/bookmark_bridge.h       |  4 ++
  .../android/bookmarks/bookmark_bridge.h       |  4 ++
  .../bookmarks/chrome_bookmark_client.cc       |  2 +
  .../bookmarks/chrome_bookmark_client.cc       |  2 +
  .../strings/android_chrome_strings.grd        |  3 +
  .../strings/android_chrome_strings.grd        |  3 +
@@ -19,7 +19,7 @@ Subject: Add menu item to bookmark all tabs
  components/bookmarks/browser/bookmark_model.h |  7 +++
  components/bookmarks/browser/bookmark_model.h |  7 +++
  components/bookmarks/browser/bookmark_node.cc | 13 ++++
  components/bookmarks/browser/bookmark_node.cc | 13 ++++
  components/bookmarks/browser/bookmark_node.h  |  5 ++
  components/bookmarks/browser/bookmark_node.h  |  5 ++
- 16 files changed, 168 insertions(+), 1 deletion(-)
+ 16 files changed, 172 insertions(+), 1 deletion(-)
 
 
 diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
 diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
 --- a/chrome/android/java/res/menu/main_menu.xml
 --- a/chrome/android/java/res/menu/main_menu.xml
@@ -29,36 +29,55 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
              android:title="@string/menu_bookmarks"
              android:title="@string/menu_bookmarks"
              android:icon="@drawable/btn_star_filled" />
              android:icon="@drawable/btn_star_filled" />
 +        <item android:id="@+id/bookmark_all_tabs_menu_id"
 +        <item android:id="@+id/bookmark_all_tabs_menu_id"
-+            android:title="@string/accessibility_menu_bookmark"
++            android:title="@string/menu_bookmark_all_tabs"
 +            android:titleCondensed="@string/menu_bookmark_all_tabs"
 +            android:titleCondensed="@string/menu_bookmark_all_tabs"
 +            android:icon="@drawable/ic_folder_blue_24dp" />
 +            android:icon="@drawable/ic_folder_blue_24dp" />
          <item android:id="@+id/recent_tabs_menu_id"
          <item android:id="@+id/recent_tabs_menu_id"
              android:title="@string/menu_recent_tabs"
              android:title="@string/menu_recent_tabs"
              android:icon="@drawable/devices_black_24dp" />
              android:icon="@drawable/devices_black_24dp" />
-@@ -136,6 +140,9 @@
-         <item android:id="@id/new_incognito_tab_menu_id"
-             android:title="@string/menu_new_incognito_tab"
-             android:icon="@drawable/incognito_simple" />
+@@ -145,6 +149,9 @@
+         <item android:id="@+id/menu_group_tabs"
+             android:title="@string/menu_group_tabs"
+             android:icon="@drawable/ic_widgets" />
 +        <item android:id="@+id/bookmark_all_tabs_menu_id"
 +        <item android:id="@+id/bookmark_all_tabs_menu_id"
 +            android:title="@string/menu_bookmark_all_tabs"
 +            android:title="@string/menu_bookmark_all_tabs"
 +            android:icon="@drawable/ic_folder_blue_24dp" />
 +            android:icon="@drawable/ic_folder_blue_24dp" />
-         <item android:id="@+id/close_all_tabs_menu_id"
-             android:title="@string/menu_close_all_tabs"
-             android:icon="@drawable/btn_close_white" />
+         <item android:id="@+id/track_prices_row_menu_id"
+             android:title="@string/menu_track_prices"
+             android:icon="@drawable/ic_trending_down_black" />
 diff --git a/chrome/android/java/res/menu/main_menu_regroup.xml b/chrome/android/java/res/menu/main_menu_regroup.xml
 diff --git a/chrome/android/java/res/menu/main_menu_regroup.xml b/chrome/android/java/res/menu/main_menu_regroup.xml
 --- a/chrome/android/java/res/menu/main_menu_regroup.xml
 --- a/chrome/android/java/res/menu/main_menu_regroup.xml
 +++ b/chrome/android/java/res/menu/main_menu_regroup.xml
 +++ b/chrome/android/java/res/menu/main_menu_regroup.xml
-@@ -32,6 +32,10 @@
-                 android:title="@string/accessibility_menu_bookmark"
-                 android:titleCondensed="@string/menu_bookmark"
-                 android:icon="@drawable/btn_star"/>
-+              <item android:id="@+id/bookmark_all_tabs_menu_id"
-+                android:title="@string/accessibility_menu_bookmark"
-+                android:titleCondensed="@string/menu_bookmark_all_tabs"
-+                android:icon="@drawable/ic_folder_blue_24dp" />
-               <item android:id="@+id/offline_page_id"
-                 android:title="@string/download_page"
-                 android:titleCondensed="@string/menu_download"
+@@ -89,6 +89,9 @@
+                     android:icon="@drawable/btn_star" />
+           </menu>
+         </item>
++        <item android:id="@+id/bookmark_all_tabs_menu_id"
++            android:title="@string/menu_bookmark_all_tabs"
++            android:icon="@drawable/ic_folder_blue_24dp" />
+         <item android:id="@+id/recent_tabs_menu_id"
+             android:title="@string/menu_recent_tabs"
+             android:icon="@drawable/devices_black_24dp" />
+@@ -210,6 +213,9 @@
+         <item android:id="@+id/menu_group_tabs"
+             android:title="@string/menu_group_tabs"
+             android:icon="@drawable/ic_widgets" />
++        <item android:id="@+id/bookmark_all_tabs_menu_id"
++            android:title="@string/menu_bookmark_all_tabs"
++            android:icon="@drawable/ic_folder_blue_24dp" />
+         <item android:id="@+id/track_prices_row_menu_id"
+             android:title="@string/menu_track_prices"
+             android:icon="@drawable/ic_trending_down_black" />
+@@ -252,6 +258,9 @@
+         <item android:id="@id/menu_group_tabs"
+             android:title="@string/menu_group_tabs"
+             android:icon="@drawable/ic_widgets" />
++        <item android:id="@+id/bookmark_all_tabs_menu_id"
++            android:title="@string/menu_bookmark_all_tabs"
++            android:icon="@drawable/ic_folder_blue_24dp" />
+         <item android:id="@id/track_prices_row_menu_id"
+             android:title="@string/menu_track_prices"
+             android:icon="@drawable/ic_trending_down_black" />
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -164,7 +183,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
      /**
      /**
       * @return Id representing the special "other" folder from bookmark model.
       * @return Id representing the special "other" folder from bookmark model.
       */
       */
-@@ -1099,6 +1116,50 @@ public class BookmarkBridge {
+@@ -1099,6 +1116,49 @@ public class BookmarkBridge {
                  mNativeBookmarkBridge, BookmarkBridge.this, title, url);
                  mNativeBookmarkBridge, BookmarkBridge.this, title, url);
      }
      }
  
  
@@ -208,14 +227,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
 +        Snackbar snackbar = Snackbar.make(folderName, snackbarController, Snackbar.TYPE_ACTION,
 +        Snackbar snackbar = Snackbar.make(folderName, snackbarController, Snackbar.TYPE_ACTION,
 +                        Snackbar.UMA_BOOKMARK_ADDED)
 +                        Snackbar.UMA_BOOKMARK_ADDED)
 +                        .setTemplateText(activity.getString(R.string.bookmark_page_saved_folder));
 +                        .setTemplateText(activity.getString(R.string.bookmark_page_saved_folder));
-+//        snackbar.setSingleLine(false).setAction(activity.getString(R.string.bookmark_item_edit), null);
 +        snackbarManager.showSnackbar(snackbar);
 +        snackbarManager.showSnackbar(snackbar);
 +    }
 +    }
 +
 +
      /**
      /**
       * @param url The URL of the reading list item.
       * @param url The URL of the reading list item.
       * @return The reading list item with the URL, or null if no such reading list item.
       * @return The reading list item with the URL, or null if no such reading list item.
-@@ -1355,6 +1416,7 @@ public class BookmarkBridge {
+@@ -1355,6 +1415,7 @@ public class BookmarkBridge {
          void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
          void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
                  List<BookmarkId> folderList, List<Integer> depthList);
                  List<BookmarkId> folderList, List<Integer> depthList);
          BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
          BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);

+ 1 - 1
build/patches/Allow-playing-audio-in-background.patch

@@ -23,7 +23,7 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
  void WebMediaPlayerImpl::EnabledAudioTracksChanged(
  void WebMediaPlayerImpl::EnabledAudioTracksChanged(
      const blink::WebVector<blink::WebMediaPlayer::TrackId>& enabledTrackIds) {
      const blink::WebVector<blink::WebMediaPlayer::TrackId>& enabledTrackIds) {
    DCHECK(main_task_runner_->BelongsToCurrentThread());
    DCHECK(main_task_runner_->BelongsToCurrentThread());
-@@ -3447,7 +3453,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
+@@ -3457,7 +3463,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
    // Audio only stream is allowed to play when in background.
    // Audio only stream is allowed to play when in background.
    // TODO: We should check IsBackgroundOptimizationCandidate here. But we need
    // TODO: We should check IsBackgroundOptimizationCandidate here. But we need
    // to move the logic of checking video frames out of that function.
    // to move the logic of checking video frames out of that function.

+ 224 - 54
build/patches/Remove-binary-blob-integrations.patch

@@ -1,5 +1,5 @@
-From: Wengling Chen <feiyu2817@gmail.com>
-Date: Sat, 2 Nov 2019 09:22:31 +0100
+From: csagan5 <32685696+csagan5@users.noreply.github.com>
+Date: Mon, 5 Apr 2021 21:37:12 +0200
 Subject: Remove binary blob integrations
 Subject: Remove binary blob integrations
 
 
 Remove dependency on com.google.android.gms.auth
 Remove dependency on com.google.android.gms.auth
@@ -16,11 +16,13 @@ Remove dependency on fido, iid, instantapps, location
 Remove dependency on com.google.android.gms.cast
 Remove dependency on com.google.android.gms.cast
 Remove dependency on auth, signin, dynamic and tasks
 Remove dependency on auth, signin, dynamic and tasks
 Remove google_services_gcm
 Remove google_services_gcm
+ungoogled-chromium: Disable GCM
+Disable Google Cloud Messaging (GCM) client
 
 
 Parts of this patch were developed by csagan5, uazo and others.
 Parts of this patch were developed by csagan5, uazo and others.
 ---
 ---
  ...em_webview_bundle.AndroidManifest.expected |   6 -
  ...em_webview_bundle.AndroidManifest.expected |   6 -
- chrome/android/BUILD.gn                       |  41 --
+ chrome/android/BUILD.gn                       |  36 --
  chrome/android/chrome_java_sources.gni        |   8 -
  chrome/android/chrome_java_sources.gni        |   8 -
  chrome/android/java/AndroidManifest.xml       |  68 ---
  chrome/android/java/AndroidManifest.xml       |  68 ---
  .../org/chromium/chrome/browser/AppHooks.java |  14 +-
  .../org/chromium/chrome/browser/AppHooks.java |  14 +-
@@ -37,11 +39,16 @@ Parts of this patch were developed by csagan5, uazo and others.
  .../settings/PasswordSettings.java            |  14 -
  .../settings/PasswordSettings.java            |  14 -
  .../browser/webauth/AuthenticatorImpl.java    |  29 +-
  .../browser/webauth/AuthenticatorImpl.java    |  29 +-
  .../modules/chrome_feature_modules.gni        |   3 -
  .../modules/chrome_feature_modules.gni        |   3 -
+ chrome/browser/BUILD.gn                       |   2 -
  chrome/browser/language/android/BUILD.gn      |   1 -
  chrome/browser/language/android/BUILD.gn      |   1 -
  .../browser/language/AppLocaleUtils.java      |  24 -
  .../browser/language/AppLocaleUtils.java      |  24 -
+ .../prefetch/prefetch_service_factory.cc      |  16 -
+ .../push_messaging_service_factory.cc         |   8 +-
  .../browser/signin/services/android/BUILD.gn  |   1 -
  .../browser/signin/services/android/BUILD.gn  |   1 -
+ chrome/browser/ui/BUILD.gn                    |   3 -
+ .../webui/chrome_web_ui_controller_factory.cc |   3 -
  chrome/test/android/BUILD.gn                  |   2 -
  chrome/test/android/BUILD.gn                  |   2 -
- components/background_task_scheduler/BUILD.gn |   6 -
+ components/background_task_scheduler/BUILD.gn |   5 -
  .../internal/BUILD.gn                         |  10 -
  .../internal/BUILD.gn                         |  10 -
  .../BackgroundTaskGcmTaskService.java         | 160 ------
  .../BackgroundTaskGcmTaskService.java         | 160 ------
  ...ackgroundTaskSchedulerFactoryInternal.java |   6 +-
  ...ackgroundTaskSchedulerFactoryInternal.java |   6 +-
@@ -50,6 +57,7 @@ Parts of this patch were developed by csagan5, uazo and others.
  components/externalauth/android/BUILD.gn      |   3 -
  components/externalauth/android/BUILD.gn      |   3 -
  .../externalauth/ExternalAuthUtils.java       |  18 +-
  .../externalauth/ExternalAuthUtils.java       |  18 +-
  .../UserRecoverableErrorHandler.java          |   7 -
  .../UserRecoverableErrorHandler.java          |   7 -
+ components/gcm_driver/gcm_client_impl.cc      |   4 +
  .../gcm_driver/instance_id/android/BUILD.gn   |   3 -
  .../gcm_driver/instance_id/android/BUILD.gn   |   3 -
  .../instance_id/InstanceIDBridge.java         |  49 +-
  .../instance_id/InstanceIDBridge.java         |  49 +-
  .../media_router/browser/android/BUILD.gn     |   9 -
  .../media_router/browser/android/BUILD.gn     |   9 -
@@ -57,9 +65,9 @@ Parts of this patch were developed by csagan5, uazo and others.
  .../media_router/CastSessionUtil.java         |  35 --
  .../media_router/CastSessionUtil.java         |  35 --
  .../components/media_router/MediaSink.java    |  44 +-
  .../components/media_router/MediaSink.java    |  44 +-
  .../media_router/MediaStatusBridge.java       |  40 +-
  .../media_router/MediaStatusBridge.java       |  40 +-
- .../caf/BaseNotificationController.java       |  42 --
+ .../caf/BaseNotificationController.java       |  52 --
  .../caf/BaseSessionController.java            | 100 +---
  .../caf/BaseSessionController.java            | 100 +---
- .../caf/CafBaseMediaRouteProvider.java        | 111 +---
+ .../caf/CafBaseMediaRouteProvider.java        | 114 +---
  .../caf/CafMediaRouteProvider.java            |  16 -
  .../caf/CafMediaRouteProvider.java            |  16 -
  .../media_router/caf/CafMessageHandler.java   |  97 +---
  .../media_router/caf/CafMessageHandler.java   |  97 +---
  .../media_router/caf/CastMediaSource.java     |  10 +-
  .../media_router/caf/CastMediaSource.java     |  10 +-
@@ -67,7 +75,7 @@ Parts of this patch were developed by csagan5, uazo and others.
  .../caf/CastSessionController.java            |  84 ---
  .../caf/CastSessionController.java            |  84 ---
  .../media_router/caf/CastUtils.java           |   8 -
  .../media_router/caf/CastUtils.java           |   8 -
  .../CafExpandedControllerActivity.java        |  41 +-
  .../CafExpandedControllerActivity.java        |  41 +-
- .../CafRemotingMediaRouteProvider.java        |   2 +-
+ .../CafRemotingMediaRouteProvider.java        |   5 +-
  .../remoting/FlingingControllerAdapter.java   |  74 ---
  .../remoting/FlingingControllerAdapter.java   |  74 ---
  .../caf/remoting/RemotingMediaSource.java     |   8 +-
  .../caf/remoting/RemotingMediaSource.java     |   8 +-
  .../remoting/RemotingSessionController.java   |  26 -
  .../remoting/RemotingSessionController.java   |  26 -
@@ -77,6 +85,7 @@ Parts of this patch were developed by csagan5, uazo and others.
  components/signin/public/android/BUILD.gn     |   2 -
  components/signin/public/android/BUILD.gn     |   2 -
  .../signin/GmsAvailabilityException.java      |   4 +-
  .../signin/GmsAvailabilityException.java      |   4 +-
  .../signin/SystemAccountManagerDelegate.java  |  21 +-
  .../signin/SystemAccountManagerDelegate.java  |  21 +-
+ .../push_messaging/push_messaging_manager.cc  |   6 +-
  content/public/android/BUILD.gn               |   4 -
  content/public/android/BUILD.gn               |   4 -
  content/public/common/content_features.cc     |   2 +-
  content/public/common/content_features.cc     |   2 +-
  content/test/BUILD.gn                         |   4 -
  content/test/BUILD.gn                         |   4 -
@@ -88,7 +97,7 @@ Parts of this patch were developed by csagan5, uazo and others.
  third_party/android_deps/BUILD.gn             | 520 +-----------------
  third_party/android_deps/BUILD.gn             | 520 +-----------------
  .../gms/ChromiumPlayServicesAvailability.java |  10 +-
  .../gms/ChromiumPlayServicesAvailability.java |  10 +-
  third_party/google_android_play_core/BUILD.gn |   5 -
  third_party/google_android_play_core/BUILD.gn |   5 -
- 69 files changed, 65 insertions(+), 2549 deletions(-)
+ 76 files changed, 71 insertions(+), 2595 deletions(-)
  delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
  delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
  delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
  delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
 
 
@@ -139,16 +148,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "//chrome/android/modules/image_editor/provider:java",
      "//chrome/android/modules/image_editor/provider:java",
      "//chrome/android/modules/stack_unwinder/provider:java",
      "//chrome/android/modules/stack_unwinder/provider:java",
      "//chrome/android/webapk/libs/client:client_java",
      "//chrome/android/webapk/libs/client:client_java",
-@@ -422,8 +412,6 @@ android_library("chrome_java") {
-     "//components/feature_engagement:feature_engagement_java",
-     "//components/feed/core/proto:proto_java_v2",
-     "//components/find_in_page/android:java",
--    "//components/gcm_driver/android:gcm_driver_java",
--    "//components/gcm_driver/instance_id/android:instance_id_driver_java",
-     "//components/infobars/android:infobar_android_enums_java",
-     "//components/infobars/android:java",
-     "//components/infobars/core:infobar_enums_java",
-@@ -539,7 +527,6 @@ android_library("chrome_java") {
+@@ -539,7 +529,6 @@ android_library("chrome_java") {
      "//third_party/blink/public/mojom:android_mojo_bindings_java",
      "//third_party/blink/public/mojom:android_mojo_bindings_java",
      "//third_party/blink/public/mojom:mojom_platform_java",
      "//third_party/blink/public/mojom:mojom_platform_java",
      "//third_party/gif_player:gif_player_java",
      "//third_party/gif_player:gif_player_java",
@@ -156,7 +156,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "//third_party/metrics_proto:metrics_proto_java",
      "//third_party/metrics_proto:metrics_proto_java",
      "//ui/android:ui_java",
      "//ui/android:ui_java",
      "//ui/base/mojom:mojom_java",
      "//ui/base/mojom:mojom_java",
-@@ -804,11 +791,6 @@ junit_binary("chrome_junit_tests") {
+@@ -804,11 +793,6 @@ junit_binary("chrome_junit_tests") {
      ":chrome_app_java_resources",
      ":chrome_app_java_resources",
      ":chrome_java",
      ":chrome_java",
      ":partner_location_descriptor_proto_java",
      ":partner_location_descriptor_proto_java",
@@ -168,7 +168,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "//base:base_java",
      "//base:base_java",
      "//base:base_java_test_support",
      "//base:base_java_test_support",
      "//base:base_junit_test_support",
      "//base:base_junit_test_support",
-@@ -1059,14 +1041,6 @@ android_library("chrome_test_java") {
+@@ -1059,14 +1043,6 @@ android_library("chrome_test_java") {
      ":chrome_app_java_resources",
      ":chrome_app_java_resources",
      ":chrome_test_util_java",
      ":chrome_test_util_java",
      ":partner_location_descriptor_proto_java",
      ":partner_location_descriptor_proto_java",
@@ -183,17 +183,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "//base:base_java",
      "//base:base_java",
      "//base:base_java_test_support",
      "//base:base_java_test_support",
      "//base:jni_java",
      "//base:jni_java",
-@@ -1212,9 +1186,6 @@ android_library("chrome_test_java") {
-     "//components/externalauth/android:java",
-     "//components/favicon/android:java",
-     "//components/feature_engagement:feature_engagement_java",
--    "//components/gcm_driver/android:gcm_driver_java",
--    "//components/gcm_driver/instance_id/android:instance_id_driver_java",
--    "//components/gcm_driver/instance_id/android:instance_id_driver_test_support_java",
-     "//components/infobars/android:java",
-     "//components/infobars/android:javatests",
-     "//components/infobars/core:infobar_enums_java",
-@@ -2059,7 +2030,6 @@ android_library("browser_java_test_support") {
+@@ -2059,7 +2035,6 @@ android_library("browser_java_test_support") {
    ]
    ]
    deps = [
    deps = [
      ":chrome_java",
      ":chrome_java",
@@ -201,7 +191,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "//base:base_java",
      "//base:base_java",
      "//base:base_java_test_support",
      "//base:base_java_test_support",
      "//chrome/browser/profiles/android:java",
      "//chrome/browser/profiles/android:java",
-@@ -2200,8 +2170,6 @@ android_library("base_monochrome_module_java") {
+@@ -2200,8 +2175,6 @@ android_library("base_monochrome_module_java") {
  # enable_chrome_module is true and //chrome code is in a DFM.
  # enable_chrome_module is true and //chrome code is in a DFM.
  android_library("base_module_java") {
  android_library("base_module_java") {
    sources = [
    sources = [
@@ -210,7 +200,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
      "java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
      "java/src/org/chromium/chrome/browser/DeferredStartupHandler.java",
      "java/src/org/chromium/chrome/browser/DeferredStartupHandler.java",
      "java/src/org/chromium/chrome/browser/base/DexFixer.java",
      "java/src/org/chromium/chrome/browser/base/DexFixer.java",
-@@ -2212,8 +2180,6 @@ android_library("base_module_java") {
+@@ -2212,8 +2185,6 @@ android_library("base_module_java") {
      "java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java",
      "java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java",
      "java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java",
      "java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java",
      "java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java",
      "java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java",
@@ -219,7 +209,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
      "java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
      "java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
      "java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
      "java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java",
      "java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java",
-@@ -2240,15 +2206,10 @@ android_library("base_module_java") {
+@@ -2240,15 +2211,10 @@ android_library("base_module_java") {
      "java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
      "java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
      "java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java",
      "java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java",
      "java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
      "java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
@@ -235,7 +225,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "//base:base_java",
      "//base:base_java",
      "//base:jni_java",
      "//base:jni_java",
      "//chrome/browser/download/android:file_provider_java",
      "//chrome/browser/download/android:file_provider_java",
-@@ -2265,7 +2226,6 @@ android_library("base_module_java") {
+@@ -2265,7 +2231,6 @@ android_library("base_module_java") {
      "//third_party/androidx:androidx_annotation_annotation_java",
      "//third_party/androidx:androidx_annotation_annotation_java",
      "//third_party/androidx:androidx_collection_collection_java",
      "//third_party/androidx:androidx_collection_collection_java",
      "//third_party/androidx:androidx_fragment_fragment_java",
      "//third_party/androidx:androidx_fragment_fragment_java",
@@ -243,7 +233,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "//ui/android:ui_no_recycler_view_java",
      "//ui/android:ui_no_recycler_view_java",
  
  
      # Deps needed for child processes.
      # Deps needed for child processes.
-@@ -2284,7 +2244,6 @@ android_library("base_module_java") {
+@@ -2284,7 +2249,6 @@ android_library("base_module_java") {
      # Deps to pull services into base module.
      # Deps to pull services into base module.
      # TODO(crbug.com/1126301): Consider moving these to the chrome module to
      # TODO(crbug.com/1126301): Consider moving these to the chrome module to
      # reduce base dex size.
      # reduce base dex size.
@@ -1408,6 +1398,18 @@ diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/
  
  
  # Modules shipped in Trichrome (Android Q+).
  # Modules shipped in Trichrome (Android Q+).
  trichrome_module_descs = monochrome_module_descs
  trichrome_module_descs = monochrome_module_descs
+diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
+--- a/chrome/browser/BUILD.gn
++++ b/chrome/browser/BUILD.gn
+@@ -5926,8 +5926,6 @@ static_library("browser") {
+       "offline_pages/offliner_helper.h",
+       "offline_pages/offliner_user_data.cc",
+       "offline_pages/offliner_user_data.h",
+-      "offline_pages/prefetch/gcm_token.cc",
+-      "offline_pages/prefetch/gcm_token.h",
+       "offline_pages/prefetch/offline_metrics_collector_impl.cc",
+       "offline_pages/prefetch/offline_metrics_collector_impl.h",
+       "offline_pages/prefetch/offline_prefetch_download_client.cc",
 diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/android/BUILD.gn
 diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/android/BUILD.gn
 --- a/chrome/browser/language/android/BUILD.gn
 --- a/chrome/browser/language/android/BUILD.gn
 +++ b/chrome/browser/language/android/BUILD.gn
 +++ b/chrome/browser/language/android/BUILD.gn
@@ -1459,6 +1461,57 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse
 -        }
 -        }
      }
      }
  }
  }
+diff --git a/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc b/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
+--- a/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
++++ b/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
+@@ -18,7 +18,6 @@
+ #include "chrome/browser/image_fetcher/image_fetcher_service_factory.h"
+ #include "chrome/browser/net/system_network_context_manager.h"
+ #include "chrome/browser/offline_pages/offline_page_model_factory.h"
+-#include "chrome/browser/offline_pages/prefetch/gcm_token.h"
+ #include "chrome/browser/offline_pages/prefetch/offline_metrics_collector_impl.h"
+ #include "chrome/browser/offline_pages/prefetch/prefetch_background_task_handler_impl.h"
+ #include "chrome/browser/profiles/profile.h"
+@@ -68,21 +67,6 @@ void SwitchToFullBrowserImageFetcher(PrefetchServiceImpl* prefetch_service,
+ }
+ 
+ void OnProfileCreated(PrefetchServiceImpl* prefetch_service, Profile* profile) {
+-  if (IsPrefetchingOfflinePagesEnabled()) {
+-    // Trigger an update of the cached GCM token. This needs to be post tasked
+-    // because otherwise leads to circular dependency between
+-    // PrefetchServiceFactory and GCMProfileServiceFactory. See
+-    // https://crbug.com/944952
+-    // Update is not a priority so make sure it happens after the critical
+-    // startup path.
+-    content::GetUIThreadTaskRunner({base::TaskPriority::BEST_EFFORT})
+-        ->PostTask(FROM_HERE,
+-                   base::BindOnce(
+-                       &GetGCMToken, profile, kPrefetchingOfflinePagesAppId,
+-                       base::BindOnce(&PrefetchServiceImpl::GCMTokenReceived,
+-                                      prefetch_service->GetWeakPtr())));
+-  }
+-
+   SwitchToFullBrowserImageFetcher(prefetch_service, profile->GetProfileKey());
+ }
+ 
+diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/chrome/browser/push_messaging/push_messaging_service_factory.cc
+--- a/chrome/browser/push_messaging/push_messaging_service_factory.cc
++++ b/chrome/browser/push_messaging/push_messaging_service_factory.cc
+@@ -28,13 +28,7 @@
+ // static
+ PushMessagingServiceImpl* PushMessagingServiceFactory::GetForProfile(
+     content::BrowserContext* context) {
+-  // The Push API is not currently supported in incognito mode.
+-  // See https://crbug.com/401439.
+-  if (context->IsOffTheRecord())
+-    return nullptr;
+-
+-  return static_cast<PushMessagingServiceImpl*>(
+-      GetInstance()->GetServiceForBrowserContext(context, true));
++  return nullptr;
+ }
+ 
+ // static
 diff --git a/chrome/browser/signin/services/android/BUILD.gn b/chrome/browser/signin/services/android/BUILD.gn
 diff --git a/chrome/browser/signin/services/android/BUILD.gn b/chrome/browser/signin/services/android/BUILD.gn
 --- a/chrome/browser/signin/services/android/BUILD.gn
 --- a/chrome/browser/signin/services/android/BUILD.gn
 +++ b/chrome/browser/signin/services/android/BUILD.gn
 +++ b/chrome/browser/signin/services/android/BUILD.gn
@@ -1470,6 +1523,46 @@ diff --git a/chrome/browser/signin/services/android/BUILD.gn b/chrome/browser/si
      "//base:base_java",
      "//base:base_java",
      "//base:jni_java",
      "//base:jni_java",
      "//chrome/browser/preferences:java",
      "//chrome/browser/preferences:java",
+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
+@@ -230,8 +230,6 @@ static_library("ui") {
+     "webui/flags/flags_ui.h",
+     "webui/flags/flags_ui_handler.cc",
+     "webui/flags/flags_ui_handler.h",
+-    "webui/gcm_internals_ui.cc",
+-    "webui/gcm_internals_ui.h",
+     "webui/internals/internals_ui.cc",
+     "webui/internals/internals_ui.h",
+     "webui/interstitials/interstitial_ui.cc",
+@@ -439,7 +437,6 @@ static_library("ui") {
+     "//components/feedback",
+     "//components/find_in_page",
+     "//components/flags_ui",
+-    "//components/gcm_driver",
+     "//components/google/core/common",
+     "//components/heap_profiling/multi_process",
+     "//components/history/content/browser",
+diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
++++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+@@ -36,7 +36,6 @@
+ #include "chrome/browser/ui/webui/download_internals/download_internals_ui.h"
+ #include "chrome/browser/ui/webui/engagement/site_engagement_ui.h"
+ #include "chrome/browser/ui/webui/flags/flags_ui.h"
+-#include "chrome/browser/ui/webui/gcm_internals_ui.h"
+ #include "chrome/browser/ui/webui/internals/internals_ui.h"
+ #include "chrome/browser/ui/webui/interstitials/interstitial_ui.h"
+ #include "chrome/browser/ui/webui/invalidations/invalidations_ui.h"
+@@ -540,8 +539,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
+     return &NewWebUI<FlagsDeprecatedUI>;
+   if (url.host_piece() == chrome::kChromeUIFlagsHost)
+     return &NewWebUI<FlagsUI>;
+-  if (url.host_piece() == chrome::kChromeUIGCMInternalsHost)
+-    return &NewWebUI<GCMInternalsUI>;
+   if (url.host_piece() == chrome::kChromeUIInternalsHost)
+     return &NewWebUI<InternalsUI>;
+   if (url.host_piece() == chrome::kChromeUIInterstitialHost)
 diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
 diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
 --- a/chrome/test/android/BUILD.gn
 --- a/chrome/test/android/BUILD.gn
 +++ b/chrome/test/android/BUILD.gn
 +++ b/chrome/test/android/BUILD.gn
@@ -1485,15 +1578,7 @@ diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
 diff --git a/components/background_task_scheduler/BUILD.gn b/components/background_task_scheduler/BUILD.gn
 diff --git a/components/background_task_scheduler/BUILD.gn b/components/background_task_scheduler/BUILD.gn
 --- a/components/background_task_scheduler/BUILD.gn
 --- a/components/background_task_scheduler/BUILD.gn
 +++ b/components/background_task_scheduler/BUILD.gn
 +++ b/components/background_task_scheduler/BUILD.gn
-@@ -104,7 +104,6 @@ if (is_android) {
-     bypass_platform_checks = true
-     testonly = true
-     sources = [
--      "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskServiceTest.java",
-       "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskJobServiceTest.java",
-       "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerAlarmManagerTest.java",
-       "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManagerTest.java",
-@@ -121,11 +120,6 @@ if (is_android) {
+@@ -121,11 +121,6 @@ if (is_android) {
  
  
      deps = [
      deps = [
        ":background_task_scheduler_task_ids_java",
        ":background_task_scheduler_task_ids_java",
@@ -2118,6 +2203,41 @@ diff --git a/components/externalauth/android/java/src/org/chromium/components/ex
              }
              }
              // This can happen if |errorCode| is ConnectionResult.SERVICE_INVALID.
              // This can happen if |errorCode| is ConnectionResult.SERVICE_INVALID.
              if (mDialog != null && !mDialog.isShowing()) {
              if (mDialog != null && !mDialog.isShowing()) {
+diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc
+--- a/components/gcm_driver/gcm_client_impl.cc
++++ b/components/gcm_driver/gcm_client_impl.cc
+@@ -467,6 +467,7 @@ void GCMClientImpl::StartGCM() {
+ 
+ void GCMClientImpl::InitializeMCSClient() {
+   DCHECK(network_connection_tracker_);
++  return;
+   std::vector<GURL> endpoints;
+   endpoints.push_back(gservices_settings_.GetMCSMainEndpoint());
+   GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint();
+@@ -661,6 +662,7 @@ void GCMClientImpl::AddHeartbeatInterval(const std::string& scope,
+                                          int interval_ms) {
+   DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
+   DCHECK(mcs_client_);
++  return;
+   mcs_client_->AddHeartbeatInterval(scope, interval_ms);
+ }
+ 
+@@ -672,6 +674,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) {
+ 
+ void GCMClientImpl::StartCheckin() {
+   DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
++  return;
+ 
+   // Make sure no checkin is in progress.
+   if (checkin_request_)
+@@ -749,6 +752,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
+ 
+ void GCMClientImpl::SchedulePeriodicCheckin() {
+   DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
++  return;
+ 
+   // Make sure no checkin is in progress.
+   if (checkin_request_.get() || !device_checkin_info_.accounts_set)
 diff --git a/components/gcm_driver/instance_id/android/BUILD.gn b/components/gcm_driver/instance_id/android/BUILD.gn
 diff --git a/components/gcm_driver/instance_id/android/BUILD.gn b/components/gcm_driver/instance_id/android/BUILD.gn
 --- a/components/gcm_driver/instance_id/android/BUILD.gn
 --- a/components/gcm_driver/instance_id/android/BUILD.gn
 +++ b/components/gcm_driver/instance_id/android/BUILD.gn
 +++ b/components/gcm_driver/instance_id/android/BUILD.gn
@@ -2663,6 +2783,27 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
      }
      }
  
  
      /////////////////////////////////////////////////////////////////////////////////////////////
      /////////////////////////////////////////////////////////////////////////////////////////////
+@@ -122,20 +80,10 @@ public abstract class BaseNotificationController
+ 
+     @Override
+     public void onPlay(int actionSource) {
+-        if (!mSessionController.isConnected()) return;
+-
+-        mSessionController.getRemoteMediaClient().play();
+-        MediaRouteUmaRecorder.recordCastNotificationControlsAction(
+-                MediaRouteUmaRecorder.CastNotificationControls.RESUME);
+     }
+ 
+     @Override
+     public void onPause(int actionSource) {
+-        if (!mSessionController.isConnected()) return;
+-
+-        mSessionController.getRemoteMediaClient().pause();
+-        MediaRouteUmaRecorder.recordCastNotificationControlsAction(
+-                MediaRouteUmaRecorder.CastNotificationControls.PAUSE);
+     }
+ 
+     @Override
 diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
 diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
 --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
 --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
 +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
 +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
@@ -2831,15 +2972,18 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
 diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
 diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
 --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
 --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
 +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
 +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
-@@ -13,7 +13,6 @@ import androidx.mediarouter.media.MediaRouter;
+@@ -12,10 +12,6 @@ import androidx.mediarouter.media.MediaRouteSelector;
+ import androidx.mediarouter.media.MediaRouter;
  import androidx.mediarouter.media.MediaRouter.RouteInfo;
  import androidx.mediarouter.media.MediaRouter.RouteInfo;
  
  
- import com.google.android.gms.cast.framework.CastSession;
+-import com.google.android.gms.cast.framework.CastSession;
 -import com.google.android.gms.cast.framework.SessionManagerListener;
 -import com.google.android.gms.cast.framework.SessionManagerListener;
- import com.google.android.gms.cast.framework.media.RemoteMediaClient;
- 
+-import com.google.android.gms.cast.framework.media.RemoteMediaClient;
+-
  import org.chromium.base.Log;
  import org.chromium.base.Log;
-@@ -39,7 +38,7 @@ import java.util.Set;
+ import org.chromium.components.media_router.DiscoveryCallback;
+ import org.chromium.components.media_router.DiscoveryDelegate;
+@@ -39,7 +35,7 @@ import java.util.Set;
   * A base provider containing common implementation for CAF-based {@link MediaRouteProvider}s.
   * A base provider containing common implementation for CAF-based {@link MediaRouteProvider}s.
   */
   */
  public abstract class CafBaseMediaRouteProvider
  public abstract class CafBaseMediaRouteProvider
@@ -2848,7 +2992,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
      private static final String TAG = "CafMR";
      private static final String TAG = "CafMR";
  
  
      protected static final List<MediaSink> NO_SINKS = Collections.emptyList();
      protected static final List<MediaSink> NO_SINKS = Collections.emptyList();
-@@ -155,7 +154,6 @@ public abstract class CafBaseMediaRouteProvider
+@@ -155,7 +151,6 @@ public abstract class CafBaseMediaRouteProvider
              // current session and clean up the routes (can't wait for session ending as the signal
              // current session and clean up the routes (can't wait for session ending as the signal
              // might be delayed).
              // might be delayed).
              sessionController().endSession();
              sessionController().endSession();
@@ -2856,7 +3000,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
          }
          }
          if (mPendingCreateRouteRequestInfo != null) {
          if (mPendingCreateRouteRequestInfo != null) {
              cancelPendingRequest("Request replaced");
              cancelPendingRequest("Request replaced");
-@@ -184,9 +182,6 @@ public abstract class CafBaseMediaRouteProvider
+@@ -184,9 +179,6 @@ public abstract class CafBaseMediaRouteProvider
              mManager.onCreateRouteRequestError("The sink does not exist", nativeRequestId);
              mManager.onCreateRouteRequestError("The sink does not exist", nativeRequestId);
          }
          }
  
  
@@ -2866,7 +3010,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
          mPendingCreateRouteRequestInfo = new CreateRouteRequestInfo(source, sink, presentationId,
          mPendingCreateRouteRequestInfo = new CreateRouteRequestInfo(source, sink, presentationId,
                  origin, tabId, isOffTheRecord, nativeRequestId, targetRouteInfo);
                  origin, tabId, isOffTheRecord, nativeRequestId, targetRouteInfo);
  
  
-@@ -213,110 +208,6 @@ public abstract class CafBaseMediaRouteProvider
+@@ -213,110 +205,6 @@ public abstract class CafBaseMediaRouteProvider
          removeRoute(routeId, /* error= */ null);
          removeRoute(routeId, /* error= */ null);
      }
      }
  
  
@@ -3466,7 +3610,17 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
 diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
 diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
 --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
 --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
 +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
 +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
-@@ -74,6 +74,6 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider {
+@@ -49,9 +49,6 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider {
+     @Override
+     public void detachRoute(String routeId) {
+         super.detachRoute(routeId);
+-        MediaRouteUmaRecorder.recordRemoteSessionTimeWithoutMediaElementPercentage(
+-                mSessionController.getFlingingController().getApproximateCurrentTime(),
+-                mSessionController.getFlingingController().getDuration());
+     }
+ 
+     @Override
+@@ -74,6 +71,6 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider {
  
  
          if (!mRoutes.containsKey(routeId)) return null;
          if (!mRoutes.containsKey(routeId)) return null;
  
  
@@ -3794,6 +3948,22 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s
      }
      }
  
  
      protected boolean hasGetAccountsPermission() {
      protected boolean hasGetAccountsPermission() {
+diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
+--- a/content/browser/push_messaging/push_messaging_manager.cc
++++ b/content/browser/push_messaging/push_messaging_manager.cc
+@@ -957,11 +957,7 @@ void PushMessagingManager::Core::GetSubscriptionInfoOnUI(
+ 
+ PushMessagingService* PushMessagingManager::Core::service() {
+   DCHECK_CURRENTLY_ON(BrowserThread::UI);
+-  RenderProcessHost* process_host =
+-      RenderProcessHost::FromID(render_process_id_);
+-  return process_host
+-             ? process_host->GetBrowserContext()->GetPushMessagingService()
+-             : nullptr;
++  return nullptr;
+ }
+ 
+ base::WeakPtr<PushMessagingManager::Core>
 diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
 diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
 --- a/content/public/android/BUILD.gn
 --- a/content/public/android/BUILD.gn
 +++ b/content/public/android/BUILD.gn
 +++ b/content/public/android/BUILD.gn

+ 1 - 1
build/patches/Timezone-customization.patch

@@ -507,7 +507,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
          CharSequence[] descriptions = new String[2];
          CharSequence[] descriptions = new String[2];
          descriptions[0] =
          descriptions[0] =
 -                getString(ContentSettingsResources.getSiteSummary(ContentSettingValues.ALLOW));
 -                getString(ContentSettingsResources.getSiteSummary(ContentSettingValues.ALLOW));
-+                getString(ContentSettingsResources.getSiteSummary(contentSettingsType, 
++                getString(ContentSettingsResources.getSiteSummary(contentSettingsType,
 +                                                                  ContentSettingValues.ALLOW));
 +                                                                  ContentSettingValues.ALLOW));
          descriptions[1] =
          descriptions[1] =
 -                getString(ContentSettingsResources.getSiteSummary(ContentSettingValues.BLOCK));
 -                getString(ContentSettingsResources.getSiteSummary(ContentSettingValues.BLOCK));

+ 0 - 39
build/patches/ungoogled-chromium-Disable-GCM.patch

@@ -1,39 +0,0 @@
-From: csagan5 <32685696+csagan5@users.noreply.github.com>
-Date: Mon, 12 Feb 2018 21:37:10 +0100
-Subject: ungoogled-chromium: Disable GCM
-
-Disable Google Cloud Messaging (GCM) client
----
- components/gcm_driver/gcm_client_impl.cc | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc
---- a/components/gcm_driver/gcm_client_impl.cc
-+++ b/components/gcm_driver/gcm_client_impl.cc
-@@ -464,6 +464,7 @@ void GCMClientImpl::StartGCM() {
-   device_checkin_info_.Reset();
-   StartCheckin();
- }
-+  return;
- 
- void GCMClientImpl::InitializeMCSClient() {
-   DCHECK(network_connection_tracker_);
-@@ -661,6 +662,7 @@ void GCMClientImpl::AddHeartbeatInterval(const std::string& scope,
-                                          int interval_ms) {
-   DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
-   DCHECK(mcs_client_);
-+  return;
-   mcs_client_->AddHeartbeatInterval(scope, interval_ms);
- }
- 
-@@ -735,6 +737,7 @@ void GCMClientImpl::OnCheckinCompleted(
-     }
- 
-     last_checkin_time_ = clock_->Now();
-+  return;
-     gcm_store_->SetLastCheckinInfo(
-         last_checkin_time_, device_checkin_info_.last_checkin_accounts,
-         base::BindOnce(&GCMClientImpl::SetLastCheckinInfoCallback,
--- 
-2.17.1
-