diff --git a/CHANGELOG.md b/CHANGELOG.md index 88d80974..6d0a8d09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,21 @@ +# 88.0.4324.187 +* fix exit menu item not working in tablet mode +* add menu item to bookmark all tabs (fixes https://github.com/bromite/bromite/issues/570) +* enable app overflow menu icons by default +* UI for adblock filters (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/811) +* dropped patch to not permit user-installed certificates +* ignore enterprise policies for secure DNS (fixes https://github.com/bromite/bromite/issues/832) + # 88.0.4324.185 * fix favicons fallback search (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/788) * fix potential DIAL crash when network state changes (thanks to @Ahrotahn) * fix crash when opening links in incognito-only mode (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/899) * disallow empty custom user agent (thanks to @uazo) -* dropped patch to not permit user-installed certificates # 88.0.4324.149 * fix proxy PAC URL option not working (fixes https://github.com/bromite/bromite/issues/908) * store proxy configuration in LocalState instead of Profile (thanks to @uazo) * fix toggle for reversing the meaning of bypass rules (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/884) -* ignore managed state and policies for secure DNS (fixes https://github.com/bromite/bromite/issues/832) * do not permit user-installed certificates # 88.0.4324.141 diff --git a/build/RELEASE b/build/RELEASE index 28e68994..6b0ce5a6 100644 --- a/build/RELEASE +++ b/build/RELEASE @@ -1 +1 @@ -88.0.4324.185 +88.0.4324.187 diff --git a/build/bromite_patches_list.txt b/build/bromite_patches_list.txt index d19ebf78..d7073f40 100644 --- a/build/bromite_patches_list.txt +++ b/build/bromite_patches_list.txt @@ -154,7 +154,8 @@ Enable-network-isolation-features.patch Disable-unified-autoplay-feature.patch Revert-flags-remove-num-raster-threads.patch webview-Hard-no-to-persistent-histograms.patch -Ignore-managed-state-and-policies-for-secure-DNS.patch -Do-not-permit-user-installed-certificates.patch +Ignore-enterprise-policies-for-secure-DNS.patch Fix-favicons-fallback-search.patch +Enable-app-overflow-menu-icons-by-default.patch +Add-menu-item-to-bookmark-all-tabs.patch Automated-domain-substitution.patch diff --git a/build/patches/Add-an-always-incognito-mode.patch b/build/patches/Add-an-always-incognito-mode.patch index 0879e6f5..f6df0ec1 100644 --- a/build/patches/Add-an-always-incognito-mode.patch +++ b/build/patches/Add-an-always-incognito-mode.patch @@ -141,7 +141,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate; import org.chromium.chrome.browser.IntentHandler.TabOpenType; import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout; -@@ -1601,8 +1602,9 @@ public class ChromeTabbedActivity extends ChromeActivity +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 ++++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +@@ -53,6 +53,7 @@ import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate; + import org.chromium.chrome.browser.IntentHandler.TabOpenType; + import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout; + import org.chromium.chrome.browser.app.ChromeActivity; ++import org.chromium.chrome.browser.ApplicationLifetime; + import org.chromium.chrome.browser.app.tabmodel.AsyncTabParamsManagerSingleton; + import org.chromium.chrome.browser.app.tabmodel.ChromeNextTabPolicySupplier; + import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton; +@@ -1785,6 +1786,8 @@ public class ChromeTabbedActivity extends ChromeActivity +Date: Thu, 18 Feb 2021 21:22:52 +0100 +Subject: Add menu item to bookmark all tabs + +--- + chrome/android/java/res/menu/main_menu.xml | 6 ++ + .../java/res/menu/main_menu_regroup.xml | 3 + + .../chrome/browser/ChromeTabbedActivity.java | 23 +++++++ + .../browser/bookmarks/BookmarkBridge.java | 62 +++++++++++++++++++ + .../browser/bookmarks/BookmarkUtils.java | 4 ++ + .../android/bookmarks/bookmark_bridge.cc | 17 +++++ + .../android/bookmarks/bookmark_bridge.h | 4 ++ + .../bookmarks/chrome_bookmark_client.cc | 2 + + .../strings/android_chrome_strings.grd | 3 + + components/bookmark_bar_strings.grdp | 6 ++ + .../browser/bookmark_load_details.cc | 4 ++ + .../bookmarks/browser/bookmark_load_details.h | 2 + + .../bookmarks/browser/bookmark_model.cc | 3 +- + components/bookmarks/browser/bookmark_model.h | 7 +++ + components/bookmarks/browser/bookmark_node.cc | 13 ++++ + components/bookmarks/browser/bookmark_node.h | 5 ++ + 16 files changed, 163 insertions(+), 1 deletion(-) + +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 ++++ b/chrome/android/java/res/menu/main_menu.xml +@@ -119,6 +119,9 @@ + android:icon="@drawable/vr_headset" /> + ++ + + +@@ -155,6 +158,9 @@ + ++ + + +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 ++++ b/chrome/android/java/res/menu/main_menu_regroup.xml +@@ -184,6 +184,9 @@ + android:icon="@drawable/vr_headset" /> + ++ + +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 ++++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +@@ -58,6 +58,8 @@ import org.chromium.chrome.browser.ApplicationLifetime; + import org.chromium.chrome.browser.app.tabmodel.AsyncTabParamsManagerSingleton; + import org.chromium.chrome.browser.app.tabmodel.ChromeNextTabPolicySupplier; + import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton; ++import org.chromium.chrome.browser.bookmarks.BookmarkBridge; ++import org.chromium.chrome.browser.bookmarks.BookmarkModel; + import org.chromium.chrome.browser.bookmarks.BookmarkUtils; + import org.chromium.chrome.browser.compositor.CompositorViewHolder; + import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator; +@@ -1796,6 +1798,8 @@ public class ChromeTabbedActivity extends ChromeActivity folderList, List depthList); + BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller); ++ BookmarkId getTabsCollectionFolderId(long nativeBookmarkBridge, BookmarkBridge caller); + BookmarkId getMobileFolderId(long nativeBookmarkBridge, BookmarkBridge caller); + BookmarkId getOtherFolderId(long nativeBookmarkBridge, BookmarkBridge caller); + BookmarkId getDesktopFolderId(long nativeBookmarkBridge, BookmarkBridge caller); +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java +@@ -439,6 +439,7 @@ public class BookmarkUtils { + List topLevelFolders = new ArrayList<>(); + BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId(); + BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId(); ++ BookmarkId tabsCollectionNodeId = bookmarkModel.getTabsCollectionFolderId(); + BookmarkId othersNodeId = bookmarkModel.getOtherFolderId(); + + List specialFoldersIds = +@@ -464,6 +465,9 @@ public class BookmarkUtils { + if (bookmarkModel.isFolderVisible(mobileNodeId)) { + topLevelFolders.add(mobileNodeId); + } ++ if (bookmarkModel.isFolderVisible(tabsCollectionNodeId)) { ++ topLevelFolders.add(tabsCollectionNodeId); ++ } + if (bookmarkModel.isFolderVisible(desktopNodeId)) { + topLevelFolders.add(desktopNodeId); + } +diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc +--- a/chrome/browser/android/bookmarks/bookmark_bridge.cc ++++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc +@@ -388,6 +388,11 @@ void BookmarkBridge::GetTopLevelFolderIDs( + top_level_folders.push_back(node.get()); + } + ++ for (const auto& node : bookmark_model_->tabs_collection_node()->children()) { ++ if (node->is_folder()) ++ top_level_folders.push_back(node.get()); ++ } ++ + for (const auto& node : bookmark_model_->bookmark_bar_node()->children()) { + if (node->is_folder()) + top_level_folders.push_back(node.get()); +@@ -426,6 +431,7 @@ void BookmarkBridge::GetAllFoldersWithDepths( + // Vector to temporarily contain all child bookmarks at same level for sorting + std::vector bookmarks = { + bookmark_model_->mobile_node(), ++ bookmark_model_->tabs_collection_node(), + bookmark_model_->bookmark_bar_node(), + bookmark_model_->other_node(), + }; +@@ -480,6 +486,17 @@ ScopedJavaLocalRef BookmarkBridge::GetMobileFolderId( + return folder_id_obj; + } + ++ScopedJavaLocalRef BookmarkBridge::GetTabsCollectionFolderId( ++ JNIEnv* env, ++ const JavaParamRef& obj) { ++ DCHECK_CURRENTLY_ON(BrowserThread::UI); ++ const BookmarkNode* tabs_collection_node = bookmark_model_->tabs_collection_node(); ++ ScopedJavaLocalRef folder_id_obj = ++ JavaBookmarkIdCreateBookmarkId( ++ env, tabs_collection_node->id(), GetBookmarkType(tabs_collection_node)); ++ return folder_id_obj; ++} ++ + ScopedJavaLocalRef BookmarkBridge::GetOtherFolderId( + JNIEnv* env, + const JavaParamRef& obj) { +diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser/android/bookmarks/bookmark_bridge.h +--- a/chrome/browser/android/bookmarks/bookmark_bridge.h ++++ b/chrome/browser/android/bookmarks/bookmark_bridge.h +@@ -107,6 +107,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, + JNIEnv* env, + const base::android::JavaParamRef& obj); + ++ base::android::ScopedJavaLocalRef GetTabsCollectionFolderId( ++ JNIEnv* env, ++ const base::android::JavaParamRef& obj); ++ + base::android::ScopedJavaLocalRef GetOtherFolderId( + JNIEnv* env, + const base::android::JavaParamRef& obj); +diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.cc b/chrome/browser/bookmarks/chrome_bookmark_client.cc +--- a/chrome/browser/bookmarks/chrome_bookmark_client.cc ++++ b/chrome/browser/bookmarks/chrome_bookmark_client.cc +@@ -105,6 +105,8 @@ bool ChromeBookmarkClient::IsPermanentNodeVisibleWhenEmpty( + return !is_mobile; + case bookmarks::BookmarkNode::MOBILE: + return is_mobile; ++ case bookmarks::BookmarkNode::TABS_COLLECTION: ++ return is_mobile; + } + + return false; +diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd +--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd ++++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +@@ -2987,6 +2987,9 @@ Data from your Incognito session will only be cleared from Chrome when you + Track prices + ++ ++ Bookmark all tabs ++ + + Get image descriptions + +diff --git a/components/bookmark_bar_strings.grdp b/components/bookmark_bar_strings.grdp +--- a/components/bookmark_bar_strings.grdp ++++ b/components/bookmark_bar_strings.grdp +@@ -20,6 +20,9 @@ + + Mobile bookmarks + ++ ++ Tabs collection ++ + + Other bookmarks + +@@ -34,6 +37,9 @@ + + Mobile Bookmarks + ++ ++ Tabs Collection ++ + + Other Bookmarks + +diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc +--- a/components/bookmarks/browser/bookmark_load_details.cc ++++ b/components/bookmarks/browser/bookmark_load_details.cc +@@ -34,6 +34,10 @@ BookmarkLoadDetails::BookmarkLoadDetails(BookmarkClient* client) + root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks( + max_id_++, + client->IsPermanentNodeVisibleWhenEmpty(BookmarkNode::MOBILE)))); ++ tabs_collection_folder_node_ = static_cast( ++ root_node_->Add(BookmarkPermanentNode::CreateTabsCollectionBookmarks( ++ max_id_++, ++ client->IsPermanentNodeVisibleWhenEmpty(BookmarkNode::TABS_COLLECTION)))); + } + + BookmarkLoadDetails::~BookmarkLoadDetails() = default; +diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/bookmarks/browser/bookmark_load_details.h +--- a/components/bookmarks/browser/bookmark_load_details.h ++++ b/components/bookmarks/browser/bookmark_load_details.h +@@ -42,6 +42,7 @@ class BookmarkLoadDetails { + BookmarkPermanentNode* bb_node() { return bb_node_; } + BookmarkPermanentNode* mobile_folder_node() { return mobile_folder_node_; } + BookmarkPermanentNode* other_folder_node() { return other_folder_node_; } ++ BookmarkPermanentNode* tabs_collection_folder_node() { return tabs_collection_folder_node_; } + + TitledUrlIndex* index() { return index_.get(); } + std::unique_ptr owned_index() { return std::move(index_); } +@@ -96,6 +97,7 @@ class BookmarkLoadDetails { + BookmarkPermanentNode* bb_node_ = nullptr; + BookmarkPermanentNode* other_folder_node_ = nullptr; + BookmarkPermanentNode* mobile_folder_node_ = nullptr; ++ BookmarkPermanentNode* tabs_collection_folder_node_ = nullptr; + LoadManagedNodeCallback load_managed_node_callback_; + std::unique_ptr index_; + BookmarkNode::MetaInfoMap model_meta_info_map_; +diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc +--- a/components/bookmarks/browser/bookmark_model.cc ++++ b/components/bookmarks/browser/bookmark_model.cc +@@ -559,7 +559,7 @@ bool BookmarkModel::HasBookmarks() { + bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + return bookmark_bar_node_->children().empty() && +- other_node_->children().empty() && mobile_node_->children().empty(); ++ other_node_->children().empty() && mobile_node_->children().empty() && tabs_collection_node_->children().empty(); + } + + bool BookmarkModel::IsBookmarked(const GURL& url) { +@@ -800,6 +800,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr details) { + bookmark_bar_node_ = details->bb_node(); + other_node_ = details->other_folder_node(); + mobile_node_ = details->mobile_folder_node(); ++ tabs_collection_node_ = details->tabs_collection_folder_node(); + + titled_url_index_->SetNodeSorter( + std::make_unique(client_.get())); +diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h +--- a/components/bookmarks/browser/bookmark_model.h ++++ b/components/bookmarks/browser/bookmark_model.h +@@ -116,6 +116,12 @@ class BookmarkModel : public BookmarkUndoProvider, + return mobile_node_; + } + ++ // Returns the 'mobile' node. This is NULL until loaded. ++ const BookmarkNode* tabs_collection_node() const { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ return tabs_collection_node_; ++ } ++ + bool is_root_node(const BookmarkNode* node) const { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + return node == root_; +@@ -389,6 +395,7 @@ class BookmarkModel : public BookmarkUndoProvider, + BookmarkPermanentNode* bookmark_bar_node_ = nullptr; + BookmarkPermanentNode* other_node_ = nullptr; + BookmarkPermanentNode* mobile_node_ = nullptr; ++ BookmarkPermanentNode* tabs_collection_node_ = nullptr; + + // The maximum ID assigned to the bookmark nodes in the model. + int64_t next_node_id_ = 1; +diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmarks/browser/bookmark_node.cc +--- a/components/bookmarks/browser/bookmark_node.cc ++++ b/components/bookmarks/browser/bookmark_node.cc +@@ -40,6 +40,8 @@ const char BookmarkNode::kOtherBookmarksNodeGuid[] = + "00000000-0000-4000-a000-000000000003"; + const char BookmarkNode::kMobileBookmarksNodeGuid[] = + "00000000-0000-4000-a000-000000000004"; ++const char BookmarkNode::kTabsCollectionBookmarksNodeGuid[] = ++ "00000000-0000-4000-a000-000000000006"; + const char BookmarkNode::kManagedNodeGuid[] = + "00000000-0000-4000-a000-000000000005"; + +@@ -198,6 +200,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id, + visible_when_empty)); + } + ++// static ++std::unique_ptr ++BookmarkPermanentNode::CreateTabsCollectionBookmarks(int64_t id, ++ bool visible_when_empty) { ++ // base::WrapUnique() used because the constructor is private. ++ return base::WrapUnique(new BookmarkPermanentNode( ++ id, TABS_COLLECTION, kTabsCollectionBookmarksNodeGuid, ++ l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_TABS_COLLECTION_FOLDER_NAME), ++ visible_when_empty)); ++} ++ + BookmarkPermanentNode::BookmarkPermanentNode(int64_t id, + Type type, + const std::string& guid, +diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks/browser/bookmark_node.h +--- a/components/bookmarks/browser/bookmark_node.h ++++ b/components/bookmarks/browser/bookmark_node.h +@@ -35,6 +35,7 @@ class BookmarkNode : public ui::TreeNode, public TitledUrlNode { + FOLDER, + BOOKMARK_BAR, + OTHER_NODE, ++ TABS_COLLECTION, + MOBILE + }; + +@@ -50,6 +51,7 @@ class BookmarkNode : public ui::TreeNode, public TitledUrlNode { + static const char kBookmarkBarNodeGuid[]; + static const char kOtherBookmarksNodeGuid[]; + static const char kMobileBookmarksNodeGuid[]; ++ static const char kTabsCollectionBookmarksNodeGuid[]; + static const char kManagedNodeGuid[]; + + // Creates a new node with |id|, |guid| and |url|. +@@ -241,6 +243,9 @@ class BookmarkPermanentNode : public BookmarkNode { + static std::unique_ptr CreateMobileBookmarks( + int64_t id, + bool visible_when_empty); ++ static std::unique_ptr CreateTabsCollectionBookmarks( ++ int64_t id, ++ bool visible_when_empty); + + // Constructor is private to disallow the construction of permanent nodes + // other than the well-known ones, see factory methods. +-- +2.17.1 + diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index 0fbcc685..e013b217 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -54,7 +54,7 @@ diff --git a/chrome/android/java/res/menu/main_menu_regroup.xml b/chrome/android 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -1811,6 +1811,8 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -2075,6 +2075,8 @@ public abstract class ChromeActivity } catch (ActivityNotFoundException e) { Toast.makeText(context, R.string.open_webapk_failed, Toast.LENGTH_SHORT).show(); } diff --git a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch index 8b0ec2b3..414faeca 100644 --- a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch +++ b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch @@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -1077,8 +1077,10 @@ public class ChromeTabbedActivity extends ChromeActivity "$1Chrome Extension Name" wants to connect to a HID device -@@ -10350,7 +10350,7 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -10386,7 +10386,7 @@ Please help our engineers fix this problem. Tell us what happened right before y @@ -4112,7 +4112,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources wants to see the make and model of your Security Key -@@ -10525,13 +10525,13 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -10561,13 +10561,13 @@ Please help our engineers fix this problem. Tell us what happened right before y @@ -4128,7 +4128,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources Pick an option -@@ -10711,7 +10711,7 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -10747,7 +10747,7 @@ Please help our engineers fix this problem. Tell us what happened right before y @@ -4137,7 +4137,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources Select an account to sign in -@@ -10724,7 +10724,7 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -10760,7 +10760,7 @@ Please help our engineers fix this problem. Tell us what happened right before y Your security key can't be used with this site @@ -4146,7 +4146,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources Your security key does not have enough space for any more accounts. -@@ -10733,7 +10733,7 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -10769,7 +10769,7 @@ Please help our engineers fix this problem. Tell us what happened right before y Allow this site to see your security key? @@ -4155,7 +4155,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources Allow -@@ -10920,7 +10920,7 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -10956,7 +10956,7 @@ Please help our engineers fix this problem. Tell us what happened right before y @@ -4164,7 +4164,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources -@@ -11009,7 +11009,7 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -11045,7 +11045,7 @@ Please help our engineers fix this problem. Tell us what happened right before y @@ -4173,7 +4173,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources @@ -8234,7 +8234,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro You are viewing a preview of this page -@@ -3572,7 +3572,7 @@ Data from your Incognito session will only be cleared from Chrome when you @@ -8243,7 +8243,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro No compatible devices found -@@ -3611,7 +3611,7 @@ Data from your Incognito session will only be cleared from Chrome when you @@ -8252,7 +8252,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Got it -@@ -3866,7 +3866,7 @@ Data from your Incognito session will only be cleared from Chrome when you %1$sTanya's Pixel 2... diff --git a/build/patches/Bromite-AdBlockUpdaterService.patch b/build/patches/Bromite-AdBlockUpdaterService.patch index 1ae41594..1ac24676 100644 --- a/build/patches/Bromite-AdBlockUpdaterService.patch +++ b/build/patches/Bromite-AdBlockUpdaterService.patch @@ -2504,3 +2504,4 @@ diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/conte NavigationThrottle* NavigationThrottleRunner::GetDeferringThrottle() const { -- 2.17.1 + diff --git a/build/patches/Do-not-permit-user-installed-certificates.patch b/build/patches/Do-not-permit-user-installed-certificates.patch deleted file mode 100644 index 620ff168..00000000 --- a/build/patches/Do-not-permit-user-installed-certificates.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Artem Borisov -Date: Wed, 3 Feb 2021 12:49:05 +0000 -Subject: Do not permit user-installed certificates - -Current Android policy allows user-installed certificates usage only if that -specific certificate is permitted by the specific application in its network -security configuration. -Default Chromium configuration though allows all user-installed certificates, -potentially making it easier to let in the malicious traffic. -This patch disallows user certificates by default. ---- - chrome/android/java/res_base/xml/network_security_config.xml | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/chrome/android/java/res_base/xml/network_security_config.xml b/chrome/android/java/res_base/xml/network_security_config.xml ---- a/chrome/android/java/res_base/xml/network_security_config.xml -+++ b/chrome/android/java/res_base/xml/network_security_config.xml -@@ -11,7 +11,6 @@ - See https://crbug.com/827265. See also MediaPlayerRenderer. --> - - -- - - - --- -2.17.1 - diff --git a/build/patches/Enable-app-overflow-menu-icons-by-default.patch b/build/patches/Enable-app-overflow-menu-icons-by-default.patch new file mode 100644 index 00000000..3b5acffb --- /dev/null +++ b/build/patches/Enable-app-overflow-menu-icons-by-default.patch @@ -0,0 +1,23 @@ +From: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Thu, 18 Feb 2021 22:10:11 +0100 +Subject: Enable app overflow menu icons by default + +--- + chrome/browser/flags/android/chrome_feature_list.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc +--- a/chrome/browser/flags/android/chrome_feature_list.cc ++++ b/chrome/browser/flags/android/chrome_feature_list.cc +@@ -640,7 +640,7 @@ const base::Feature kTabToGTSAnimation{"TabToGTSAnimation", + base::FEATURE_ENABLED_BY_DEFAULT}; + + const base::Feature kTabbedAppOverflowMenuIcons{ +- "TabbedAppOverflowMenuIcons", base::FEATURE_DISABLED_BY_DEFAULT}; ++ "TabbedAppOverflowMenuIcons", base::FEATURE_ENABLED_BY_DEFAULT}; + + const base::Feature kTabbedAppOverflowMenuRegroup{ + "TabbedAppOverflowMenuRegroup", base::FEATURE_DISABLED_BY_DEFAULT}; +-- +2.17.1 + diff --git a/build/patches/Ignore-enterprise-policies-for-secure-DNS.patch b/build/patches/Ignore-enterprise-policies-for-secure-DNS.patch new file mode 100644 index 00000000..583c83a2 --- /dev/null +++ b/build/patches/Ignore-enterprise-policies-for-secure-DNS.patch @@ -0,0 +1,25 @@ +From: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Tue, 26 Jan 2021 00:21:51 +0100 +Subject: Ignore enterprise policies for secure DNS + +--- + .../org/chromium/chrome/browser/policy/EnterpriseInfo.java | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java +@@ -90,6 +90,10 @@ public class EnterpriseInfo { + ThreadUtils.assertOnUiThread(); + assert callback != null; + ++ if (true) { ++ return; ++ } ++ + // If there is already a cached result post a task to return it. + if (mOwnedState != null) { + mHandler.post(() -> callback.onResult(mOwnedState)); +-- +2.17.1 + diff --git a/build/patches/Ignore-managed-state-and-policies-for-secure-DNS.patch b/build/patches/Ignore-managed-state-and-policies-for-secure-DNS.patch deleted file mode 100644 index e1a03ca9..00000000 --- a/build/patches/Ignore-managed-state-and-policies-for-secure-DNS.patch +++ /dev/null @@ -1,72 +0,0 @@ -From: csagan5 <32685696+csagan5@users.noreply.github.com> -Date: Tue, 26 Jan 2021 00:21:51 +0100 -Subject: Ignore managed state and policies for secure DNS - ---- - chrome/browser/net/secure_dns_policy_handler.cc | 3 +++ - chrome/browser/net/stub_resolver_config_reader.cc | 3 +-- - chrome/browser/privacy/secure_dns_bridge.cc | 9 ++------- - 3 files changed, 6 insertions(+), 9 deletions(-) - -diff --git a/chrome/browser/net/secure_dns_policy_handler.cc b/chrome/browser/net/secure_dns_policy_handler.cc ---- a/chrome/browser/net/secure_dns_policy_handler.cc -+++ b/chrome/browser/net/secure_dns_policy_handler.cc -@@ -28,6 +28,8 @@ SecureDnsPolicyHandler::~SecureDnsPolicyHandler() {} - - bool SecureDnsPolicyHandler::CheckPolicySettings(const PolicyMap& policies, - PolicyErrorMap* errors) { -+ return false; -+#if 0 - bool mode_is_applicable = true; - bool templates_is_applicable = true; - -@@ -84,6 +86,7 @@ bool SecureDnsPolicyHandler::CheckPolicySettings(const PolicyMap& policies, - } - - return mode_is_applicable || templates_is_applicable; -+#endif - } - - void SecureDnsPolicyHandler::ApplyPolicySettings(const PolicyMap& policies, -diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/net/stub_resolver_config_reader.cc ---- a/chrome/browser/net/stub_resolver_config_reader.cc -+++ b/chrome/browser/net/stub_resolver_config_reader.cc -@@ -269,8 +269,7 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration( - SecureDnsModeDetailsForHistogram mode_details; - SecureDnsConfig::ManagementMode forced_management_mode = - SecureDnsConfig::ManagementMode::kNoOverride; -- bool is_managed = -- local_state_->FindPreference(prefs::kDnsOverHttpsMode)->IsManaged(); -+ bool is_managed = false; - if (!is_managed && ShouldDisableDohForManaged()) { - secure_dns_mode = net::SecureDnsMode::kOff; - forced_management_mode = SecureDnsConfig::ManagementMode::kDisabledManaged; -diff --git a/chrome/browser/privacy/secure_dns_bridge.cc b/chrome/browser/privacy/secure_dns_bridge.cc ---- a/chrome/browser/privacy/secure_dns_bridge.cc -+++ b/chrome/browser/privacy/secure_dns_bridge.cc -@@ -86,8 +86,7 @@ static void JNI_SecureDnsBridge_SetMode(JNIEnv* env, jint mode) { - } - - static jboolean JNI_SecureDnsBridge_IsModeManaged(JNIEnv* env) { -- PrefService* local_state = g_browser_process->local_state(); -- return local_state->IsManagedPreference(prefs::kDnsOverHttpsMode); -+ return false; - } - - static ScopedJavaLocalRef JNI_SecureDnsBridge_GetProviders( -@@ -131,11 +130,7 @@ static jboolean JNI_SecureDnsBridge_SetTemplates( - } - - static jint JNI_SecureDnsBridge_GetManagementMode(JNIEnv* env) { -- return static_cast( -- SystemNetworkContextManager::GetStubResolverConfigReader() -- ->GetSecureDnsConfiguration( -- true /* force_check_parental_controls_for_automatic_mode */) -- .management_mode()); -+ return static_cast(SecureDnsConfig::ManagementMode::kNoOverride); - } - - static void JNI_SecureDnsBridge_UpdateDropdownHistograms( --- -2.17.1 - diff --git a/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch b/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch index ad93dd5b..7fcd845f 100644 --- a/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch +++ b/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch @@ -9,8 +9,8 @@ Subject: Remove blocklisted URLs upon bookmark creation diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -135,6 +135,8 @@ import org.chromium.chrome.browser.settings.SettingsLauncher; - import org.chromium.chrome.browser.settings.SettingsLauncherImpl; +@@ -141,6 +141,8 @@ import org.chromium.chrome.browser.settings.SettingsLauncherImpl; + import org.chromium.chrome.browser.settings.AdBlockPreferences; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.share.ShareDelegateImpl; +import org.chromium.chrome.browser.suggestions.SuggestionsDependencyFactory; @@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabHidingType; -@@ -205,6 +207,8 @@ import org.chromium.ui.widget.Toast; +@@ -212,6 +214,8 @@ import org.chromium.ui.widget.Toast; import org.chromium.url.Origin; import org.chromium.webapk.lib.client.WebApkNavigationClient; @@ -27,7 +27,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; -@@ -249,6 +253,7 @@ public abstract class ChromeActivity +@@ -256,6 +260,7 @@ public abstract class ChromeActivity private UmaSessionStats mUmaSessionStats; private ContextReporter mContextReporter; @@ -35,7 +35,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv private boolean mPartnerBrowserRefreshNeeded; -@@ -1234,6 +1239,11 @@ public abstract class ChromeActivity +@@ -1255,6 +1260,11 @@ public abstract class ChromeActivity mCompositorViewHolder = null; } @@ -47,7 +47,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv onDestroyInternal(); if (mDidAddPolicyChangeListener) { -@@ -1470,6 +1480,13 @@ public abstract class ChromeActivity +@@ -1491,6 +1501,13 @@ public abstract class ChromeActivity // Defense in depth against the UI being erroneously enabled. BookmarkBridge bridge = mBookmarkBridgeSupplier.get(); diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch index 2f16b606..06e6a2fa 100644 --- a/build/patches/User-agent-customization.patch +++ b/build/patches/User-agent-customization.patch @@ -254,7 +254,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -69,6 +69,7 @@ import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl; +@@ -73,6 +73,7 @@ import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl; import org.chromium.chrome.browser.app.flags.ChromeCachedFlags; import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingDelegateFactory; import org.chromium.chrome.browser.app.tabmodel.AsyncTabParamsManagerSingleton; @@ -262,7 +262,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.bookmarks.BookmarkBridge; import org.chromium.chrome.browser.bookmarks.BookmarkBridge.BookmarkItem; import org.chromium.chrome.browser.bookmarks.BookmarkModel; -@@ -206,6 +207,13 @@ import org.chromium.ui.modaldialog.ModalDialogManager; +@@ -213,6 +214,13 @@ import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.widget.Toast; import org.chromium.url.Origin; import org.chromium.webapk.lib.client.WebApkNavigationClient; @@ -276,7 +276,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.url.GURL; -@@ -2074,11 +2082,18 @@ public abstract class ChromeActivity +@@ -2095,11 +2103,18 @@ public abstract class ChromeActivity } else if (id == R.id.view_source_id) { currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrlString())); } else if (id == R.id.request_desktop_site_id || id == R.id.request_desktop_site_check_id) { @@ -1081,7 +1081,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc --- a/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc -@@ -3124,4 +3124,17 @@ const char kIncognitoTabHistoryEnabled[] = +@@ -3121,4 +3121,17 @@ const char kIncognitoTabHistoryEnabled[] = "incognito_tab_history_enabled"; #endif @@ -1102,7 +1102,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -1097,6 +1097,14 @@ extern const char kSecurityTokenSessionNotificationSeconds[]; +@@ -1096,6 +1096,14 @@ extern const char kSecurityTokenSessionNotificationSeconds[]; extern const char kIncognitoTabHistoryEnabled[]; #endif