Patches (fixed) for v127 (#1293)

This commit is contained in:
Carmelo Messina
2024-07-23 17:06:49 +02:00
parent 80bacb8d58
commit eea4b62c6c
33 changed files with 1051 additions and 474 deletions
-1
View File
@@ -70,7 +70,6 @@ autofill-miscellaneous.patch
Enable-native-Android-autofill.patch
translate-disable-fetching-of-languages-from-server.patch
Offer-builtin-autocomplete-for-chrome-flags.patch
Use-4-tile-rows-never-show-logo.patch
Disable-various-metrics.patch
Enable-StrictOriginIsolation-and-SitePerProcess.patch
Use-64-bit-WebView-processes.patch
@@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/resources/proxy_config.js | 278 +++++++++++++
chrome/browser/ui/BUILD.gn | 2 +
.../webui/chrome_web_ui_controller_factory.cc | 3 +
chrome/browser/ui/webui/proxy_config_ui.cc | 393 ++++++++++++++++++
chrome/browser/ui/webui/proxy_config_ui.cc | 392 ++++++++++++++++++
chrome/browser/ui/webui/proxy_config_ui.h | 31 ++
chrome/common/webui_url_constants.cc | 4 +
chrome/common/webui_url_constants.h | 2 +
@@ -40,7 +40,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../proxy_config/proxy_policy_handler.cc | 2 +-
net/proxy_resolution/proxy_config.cc | 51 ++-
net/proxy_resolution/proxy_config.h | 3 +
25 files changed, 980 insertions(+), 17 deletions(-)
25 files changed, 979 insertions(+), 17 deletions(-)
create mode 100644 chrome/browser/resources/proxy_config.css
create mode 100644 chrome/browser/resources/proxy_config.html
create mode 100644 chrome/browser/resources/proxy_config.js
@@ -694,7 +694,7 @@ diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webu
new file mode 100644
--- /dev/null
+++ b/chrome/browser/ui/webui/proxy_config_ui.cc
@@ -0,0 +1,393 @@
@@ -0,0 +1,392 @@
+/*
+ This file is part of Bromite.
+
@@ -895,8 +895,7 @@ new file mode 100644
+ state.SetByDottedPath("config.rules.fallback_proxies", base::Value(omitDirect(rules.fallback_proxies.ToPacString())));
+ break;
+ default:
+ NOTREACHED();
+ break;
+ NOTREACHED_NORETURN();
+ }
+ state.SetByDottedPath("config.rules.type", base::Value(type));
+ state.SetByDottedPath("config.rules.bypass_rules", base::Value(rules.bypass_rules.ToString()));
@@ -645,7 +645,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
@@ -95,6 +95,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -101,6 +101,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
setOnMenuItemClickListener(dragEnabled ? null : this);
}
@@ -663,7 +663,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
void setEditButtonVisible(boolean visible) {
mEditButtonVisible = visible;
getMenu().findItem(R.id.edit_menu_id).setVisible(visible);
@@ -171,6 +182,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -177,6 +188,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
void setCurrentFolder(BookmarkId folder) {
mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
@@ -677,7 +677,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
void setNavigateBackRunnable(Runnable navigateBackRunnable) {
@@ -190,6 +208,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -196,6 +214,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
hideOverflowMenu();
@@ -691,7 +691,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
return mMenuIdClickedFunction.apply(menuItem.getItemId());
}
@@ -205,6 +230,9 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -211,6 +236,9 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
protected void showNormalView() {
super.showNormalView();
@@ -718,7 +718,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
@@ -74,6 +74,10 @@ class BookmarkToolbarProperties {
@@ -81,6 +81,10 @@ class BookmarkToolbarProperties {
static final WritableObjectPropertyKey<Runnable> NAVIGATE_BACK_RUNNABLE =
new WritableObjectPropertyKey<>();
@@ -729,7 +729,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
static final PropertyKey[] ALL_KEYS = {
BOOKMARK_OPENER,
@@ -101,6 +105,8 @@ class BookmarkToolbarProperties {
@@ -108,6 +112,8 @@ class BookmarkToolbarProperties {
SELECTION_MODE_SHOW_OPEN_IN_INCOGNITO,
SELECTION_MODE_SHOW_MOVE,
SELECTION_MODE_SHOW_MARK_READ,
@@ -742,7 +742,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
@@ -54,6 +54,12 @@ class BookmarkToolbarViewBinder {
@@ -56,6 +56,12 @@ class BookmarkToolbarViewBinder {
model.get(BookmarkToolbarProperties.CHECKED_VIEW_MENU_ID));
} else if (key == BookmarkToolbarProperties.CURRENT_FOLDER) {
bookmarkToolbar.setCurrentFolder(model.get(BookmarkToolbarProperties.CURRENT_FOLDER));
+12 -15
View File
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
base/BUILD.gn | 4 +-
base/android/feature_map.cc | 5 +
.../base/cached_flags/CachedFlag.java | 8 +-
base/feature_list.cc | 78 +++++++++
base/feature_list.cc | 76 +++++++++
base/feature_list.h | 72 ++++++++-
build/android/gyp/java_cpp_features.py | 17 ++
chrome/android/java/res/values/values.xml | 3 +
@@ -46,7 +46,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
components/components_strings.grd | 1 +
.../content_settings/core/common/features.cc | 1 +
.../placeholder.txt | 1 +
components/flags_ui/flags_state.cc | 56 ++++++-
components/flags_ui/flags_state.cc | 55 ++++++-
components/flags_ui/resources/app.html | 42 ++++-
components/flags_ui/resources/app.ts | 41 ++++-
components/flags_ui/resources/experiment.html | 7 +-
@@ -90,7 +90,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
services/network/public/cpp/features.h | 1 +
third_party/blink/common/features.cc | 1 +
third_party/blink/public/common/features.h | 1 +
76 files changed, 741 insertions(+), 22 deletions(-)
76 files changed, 738 insertions(+), 22 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/placeholder.txt
@@ -215,7 +215,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
namespace {
// Pointer to the FeatureList instance singleton that was set via
@@ -472,6 +497,48 @@ bool FeatureList::IsEnabled(const Feature& feature) {
@@ -472,6 +497,46 @@ bool FeatureList::IsEnabled(const Feature& feature) {
return g_feature_list_instance->IsFeatureEnabled(feature);
}
@@ -236,8 +236,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
+ return key;
+ }
+ }
+ NOTREACHED();
+ return nullptr;
+ NOTREACHED_NORETURN();
+}
+
+// static
@@ -257,14 +256,13 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
+ return value == base::FEATURE_ENABLED_BY_DEFAULT;
+ }
+ }
+ NOTREACHED();
+ return false;
+ NOTREACHED_NORETURN();
+}
+
// static
bool FeatureList::IsValidFeatureOrFieldTrialName(std::string_view name) {
return IsStringASCII(name) && name.find_first_of(",<*") == std::string::npos;
@@ -718,6 +785,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) {
@@ -718,6 +783,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) {
void FeatureList::FinalizeInitialization() {
DCHECK(!initialized_);
@@ -971,7 +969,7 @@ new file mode 100644
diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_state.cc
--- a/components/flags_ui/flags_state.cc
+++ b/components/flags_ui/flags_state.cc
@@ -359,7 +359,22 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags(
@@ -359,7 +359,21 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags(
for (const std::string& entry_name : enabled_entries) {
const auto& entry_it = name_to_switch_map.find(entry_name);
@@ -989,13 +987,12 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
+ continue;
+ }
+ }
+ NOTREACHED();
+ continue;
+ NOTREACHED_NORETURN();
+ }
const SwitchEntry& entry = entry_it->second;
if (!entry.switch_name.empty())
@@ -676,6 +691,27 @@ void FlagsState::GetFlagFeatureEntries(
@@ -676,6 +690,27 @@ void FlagsState::GetFlagFeatureEntries(
data.Set("links", std::move(links));
}
@@ -1023,7 +1020,7 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
switch (entry.type) {
case FeatureEntry::SINGLE_VALUE:
case FeatureEntry::SINGLE_DISABLE_VALUE:
@@ -804,6 +840,16 @@ void FlagsState::AddSwitchesToCommandLine(
@@ -804,6 +839,16 @@ void FlagsState::AddSwitchesToCommandLine(
for (const std::string& entry_name : enabled_entries) {
const auto& entry_it = name_to_switch_map.find(entry_name);
if (entry_it == name_to_switch_map.end()) {
@@ -1040,7 +1037,7 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
NOTREACHED_IN_MIGRATION();
continue;
}
@@ -1056,6 +1102,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName(
@@ -1056,6 +1101,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName(
bool FlagsState::IsSupportedFeature(const FlagsStorage* storage,
const std::string& name,
int platform_mask) const {
@@ -57,6 +57,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../one_time_permissions_tracker.h | 5 +-
.../one_time_permissions_tracker_factory.cc | 2 +-
.../permissions/embedded_permission_prompt.cc | 2 +-
...exclusive_access_permission_prompt_view.cc | 2 +-
.../permission_prompt_bubble_base_view.cc | 2 +-
.../site_settings/PermissionInfo.java | 1 +
.../site_settings/SingleWebsiteSettings.java | 9 ++
@@ -86,7 +87,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/permissions/permission_request.h | 16 +++-
.../permissions/permission_request_manager.cc | 45 ++++++----
.../permissions/permission_request_manager.h | 11 ++-
34 files changed, 488 insertions(+), 61 deletions(-)
35 files changed, 489 insertions(+), 62 deletions(-)
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
@@ -237,6 +238,18 @@ diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc b
break;
case Action::kDeny:
delegate_->Deny();
diff --git a/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc b/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc
--- a/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc
+++ b/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc
@@ -99,7 +99,7 @@ void ExclusiveAccessPermissionPromptView::RunButtonCallback(int button_id) {
}
ButtonType button = GetButtonType(button_id);
if (button == ButtonType::kAllowThisTime) {
- delegate_->AcceptThisTime();
+ delegate_->AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
} else if (button == ButtonType::kAlwaysAllow) {
delegate_->Accept();
} else if (button == ButtonType::kNeverAllow) {
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
@@ -122,7 +122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
/** Fragment to keep track of the all the privacy related preferences. */
public class PrivacySettings extends ChromeBaseSettingsFragment
- implements Preference.OnPreferenceChangeListener, FragmentSettingsLauncher {
+ implements Preference.OnPreferenceChangeListener, FragmentSettingsLauncher, INeedSnackbarManage {
+ implements Preference.OnPreferenceChangeListener, FragmentSettingsLauncher, INeedSnackbarManager {
+
+ private SnackbarManager mSnackbarManager;
+ private Snackbar mSnackbar;
@@ -21,7 +21,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/ChromeSharedPreferences.java | 8 ++++++
.../LegacyChromePreferenceKeys.java | 1 +
.../SingleTabSwitcherOnNtpMediator.java | 3 +-
.../SingleTabSwitcherOnNtpMediator.java | 1 +
.../omnibox/LocationBarCoordinator.java | 2 +-
.../strings/android_chrome_strings.grd | 7 +++++
.../java/res/layout/control_container.xml | 12 ++++----
@@ -36,7 +36,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../res/xml/accessibility_preferences.xml | 5 ++++
.../AccessibilitySettingsDelegate.java | 11 ++++++++
.../chromium/ui/base/DeviceFormFactor.java | 9 ++++++
32 files changed, 168 insertions(+), 33 deletions(-)
32 files changed, 167 insertions(+), 32 deletions(-)
diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
@@ -385,15 +385,6 @@ diff --git a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/brow
import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.url.GURL;
@@ -87,7 +88,7 @@ public class SingleTabSwitcherOnNtpMediator {
mSingleTabCardClickedCallback = singleTabCardClickedCallback;
mSeeMoreLinkClickedCallback = seeMoreLinkClickedCallback;
mUiConfig = uiConfig;
- mIsTablet = isTablet;
+ mIsTablet = isTablet && !DeviceFormFactor.isForceTabletUI();
mModuleDelegate = moduleDelegate;
mMarginForPhoneAndNarrowWindowOnTablet =
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
@@ -22,6 +22,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../clear_browsing_data_dialog.ts | 2 +
.../strings/android_chrome_strings.grd | 3 +
.../settings_localized_strings_provider.cc | 1 +
.../content/browsing_data_helper.cc | 5 +-
.../core/browsing_data_policies_utils.cc | 20 ++---
.../core/browsing_data_policies_utils.h | 11 +++
.../browsing_data/core/browsing_data_utils.cc | 31 ++++++++
@@ -30,7 +31,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
components/browsing_data/core/pref_names.h | 10 +++
.../search_engines/template_url_service.cc | 1 +
content/browser/storage_partition_impl.cc | 1 +
26 files changed, 312 insertions(+), 17 deletions(-)
27 files changed, 316 insertions(+), 18 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
@@ -534,6 +535,22 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
{"titleAndCount", IDS_SETTINGS_TITLE_AND_COUNT},
{"safeBrowsingEnableExtendedReportingDesc",
IDS_SETTINGS_SAFEBROWSING_ENABLE_REPORTING_DESC},
diff --git a/components/browsing_data/content/browsing_data_helper.cc b/components/browsing_data/content/browsing_data_helper.cc
--- a/components/browsing_data/content/browsing_data_helper.cc
+++ b/components/browsing_data/content/browsing_data_helper.cc
@@ -40,8 +40,11 @@ bool WebsiteSettingsFilterAdapter(
// this filter is used for is DURABLE_STORAGE, which also only uses
// origin-scoped patterns. Such patterns can be directly translated to a GURL.
GURL url(primary_pattern.ToString());
- DCHECK(url.is_valid()) << "url: '" << url.possibly_invalid_spec() << "' "
+ if (!url.is_valid()) {
+ LOG(INFO) << "url: '" << url.possibly_invalid_spec() << "' "
<< "pattern: '" << primary_pattern.ToString() << "'";
+ return true;
+ }
return predicate.Run(url);
}
diff --git a/components/browsing_data/core/browsing_data_policies_utils.cc b/components/browsing_data/core/browsing_data_policies_utils.cc
--- a/components/browsing_data/core/browsing_data_policies_utils.cc
+++ b/components/browsing_data/core/browsing_data_policies_utils.cc
@@ -7,7 +7,7 @@ This approach is not comprehensive, see also:
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../execution_context/execution_context.cc | 16 ++++++++++
.../execution_context/execution_context.cc | 15 +++++++++
.../execution_context/execution_context.h | 1 +
.../renderer/core/loader/base_fetch_context.h | 1 +
.../core/loader/frame_fetch_context.cc | 20 ++++++++++++
@@ -19,12 +19,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../websockets/websocket_channel_impl.cc | 5 +++
.../modules/websockets/websocket_common.cc | 30 ++++++++++++++++++
.../modules/websockets/websocket_common.h | 4 +++
12 files changed, 133 insertions(+), 2 deletions(-)
12 files changed, 132 insertions(+), 2 deletions(-)
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
@@ -709,6 +709,22 @@ void ExecutionContext::WriteIntoTrace(
@@ -709,6 +709,21 @@ void ExecutionContext::WriteIntoTrace(
proto->set_world_type(GetWorldType(*this));
}
@@ -40,8 +40,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
+ case network::mojom::IPAddressSpace::kLocal:
+ return "local";
+ }
+ NOTREACHED();
+ return "public";
+ NOTREACHED_NORETURN();
+}
+
bool ExecutionContext::CrossOriginIsolatedCapabilityOrDisabledWebSecurity()
@@ -31,7 +31,7 @@ diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/c
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
@@ -25,6 +25,8 @@ import java.util.ArrayList;
@@ -26,6 +26,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
@@ -40,7 +40,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Main toolbar of bookmark UI. It is responsible for displaying title and buttons associated with
* the current context.
@@ -183,12 +185,16 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -189,12 +191,16 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
void setCurrentFolder(BookmarkId folder) {
mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
enableImportExportMenu();
@@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
void setNavigateBackRunnable(Runnable navigateBackRunnable) {
@@ -215,6 +221,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -221,6 +227,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
mExportBookmarkRunnable.run();
return true;
}
@@ -75,7 +75,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
return mMenuIdClickedFunction.apply(menuItem.getItemId());
}
@@ -232,6 +249,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -238,6 +255,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
getMenu().findItem(R.id.import_menu_id).setVisible(mCurrentFolder != null);
getMenu().findItem(R.id.export_menu_id).setVisible(mCurrentFolder != null);
+29 -6
View File
@@ -33,12 +33,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/omaha/UpdateStatusProvider.java | 168 +++++++----
.../browser/omaha/VersionNumberGetter.java | 3 +-
.../omaha/inline/InlineUpdateController.java | 57 ++++
.../safety_hub/SafetyHubFetchService.java | 5 -
.../strings/android_chrome_strings.grd | 23 +-
.../endpoint_fetcher/endpoint_fetcher.cc | 101 ++++++-
.../endpoint_fetcher/endpoint_fetcher.h | 23 +-
.../Bromite-auto-updater.inc | 3 +
.../Bromite-auto-updater.inc | 1 +
30 files changed, 1225 insertions(+), 69 deletions(-)
31 files changed, 1225 insertions(+), 74 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/CromiteUpdateStatusProvider.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
create mode 100644 chrome/browser/endpoint_fetcher/BUILD.gn
@@ -752,7 +753,7 @@ new file mode 100644
+#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointFetcher_jni.h"
+#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointResponse_jni.h"
+#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointHeaderResponse_jni.h"
+#include "chrome/browser/profiles/profile_android.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/signin/identity_manager_factory.h"
+#include "chrome/common/channel_info.h"
+#include "components/signin/public/base/consent_level.h"
@@ -812,7 +813,7 @@ new file mode 100644
+ std::vector<std::string> scopes;
+ base::android::AppendJavaStringArrayToStringVector(env, jscopes, &scopes);
+ auto endpoint_fetcher = std::make_unique<EndpointFetcher>(
+ ProfileAndroid::FromProfileAndroid(jprofile)
+ Profile::FromJavaObject(jprofile)
+ ->GetDefaultStoragePartition()
+ ->GetURLLoaderFactoryForBrowserProcess(),
+ base::android::ConvertJavaStringToUTF8(env, joauth_consumer_name),
@@ -823,7 +824,7 @@ new file mode 100644
+ net::NetworkTrafficAnnotationTag::FromJavaAnnotation(
+ jannotation_hash_code),
+ IdentityManagerFactory::GetForProfile(
+ ProfileAndroid::FromProfileAndroid(jprofile)),
+ Profile::FromJavaObject(jprofile)),
+ // TODO(crbug.com/1466445): ConsentLevel::kSync is deprecated and should
+ // be removed. See ConsentLevel::kSync documentation for details.
+ signin::ConsentLevel::kSync);
@@ -844,7 +845,7 @@ new file mode 100644
+ jint jannotation_hash_code,
+ const base::android::JavaParamRef<jobject>& jcallback) {
+ auto endpoint_fetcher = std::make_unique<EndpointFetcher>(
+ ProfileAndroid::FromProfileAndroid(jprofile)
+ Profile::FromJavaObject(jprofile)
+ ->GetDefaultStoragePartition()
+ ->GetURLLoaderFactoryForBrowserProcess(),
+ GURL(base::android::ConvertJavaStringToUTF8(env, jurl)),
@@ -871,7 +872,7 @@ new file mode 100644
+ jint jannotation_hash_code,
+ const base::android::JavaParamRef<jobject>& jcallback) {
+ auto endpoint_fetcher = std::make_unique<EndpointFetcher>(
+ ProfileAndroid::FromProfileAndroid(jprofile)
+ Profile::FromJavaObject(jprofile)
+ ->GetDefaultStoragePartition()
+ ->GetURLLoaderFactoryForBrowserProcess(),
+ GURL(base::android::ConvertJavaStringToUTF8(env, jurl)),
@@ -1645,6 +1646,28 @@ new file mode 100644
+ */
+ void completeUpdate();
+}
diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java b/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java
--- a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java
+++ b/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java
@@ -53,9 +53,6 @@ public class SafetyHubFetchService implements SyncService.SyncStateChangedListen
if (syncService != null) {
syncService.addSyncStateChangedListener(this);
}
-
- // Fetch latest update status.
- UpdateStatusProvider.getInstance().addObserver(mUpdateCallback);
}
@Override
@@ -64,8 +61,6 @@ public class SafetyHubFetchService implements SyncService.SyncStateChangedListen
if (syncService != null) {
syncService.removeSyncStateChangedListener(this);
}
-
- UpdateStatusProvider.getInstance().removeObserver(mUpdateCallback);
}
/** See {@link ChromeActivitySessionTracker#onForegroundSessionStart()}. */
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
+1 -12
View File
@@ -53,8 +53,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../chromium/product_logo_white.png | Bin 2512 -> 6790 bytes
content/child/runtime_features.cc | 23 +++--
tools/grit/grit/grd_reader.py | 35 +++++++
ui/base/ui_base_features.cc | 2 +
50 files changed, 174 insertions(+), 111 deletions(-)
49 files changed, 172 insertions(+), 111 deletions(-)
diff --git a/build/BUILD.gn b/build/BUILD.gn
--- a/build/BUILD.gn
@@ -19003,14 +19002,4 @@ diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
class GrdPartContentHandler(xml.sax.handler.ContentHandler):
def __init__(self, parent):
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
--- a/ui/base/ui_base_features.cc
+++ b/ui/base/ui_base_features.cc
@@ -529,4 +529,6 @@ BASE_FEATURE(kEnableGestureBeginEndTypes,
"EnableGestureBeginEndTypes",
base::FEATURE_DISABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_ENABLED(kChromeRefresh2023);
+SET_CROMITE_FEATURE_ENABLED(kChromeRefreshSecondary2023);
} // namespace features
--
+62 -5
View File
@@ -4,11 +4,12 @@ Subject: Disable GSA by default
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../org/chromium/chrome/browser/IntentHandler.java | 5 -----
.../chromium/chrome/browser/share/LensUtils.java | 14 ++------------
.../org/chromium/chrome/browser/gsa/GSAState.java | 14 +++++---------
.../Disable-GSA-by-default.inc | 1 +
4 files changed, 8 insertions(+), 26 deletions(-)
.../chrome/browser/IntentHandler.java | 5 -----
.../chrome/browser/share/LensUtils.java | 14 ++------------
.../chromium/chrome/browser/gsa/GSAState.java | 14 +++++---------
.../GoogleBottomBarActionsHandler.java | 19 ++-----------------
.../Disable-GSA-by-default.inc | 1 +
5 files changed, 10 insertions(+), 43 deletions(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
@@ -141,6 +142,62 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAStat
return packageInfo == null ? null : packageInfo.versionName;
}
diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java b/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java
--- a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java
+++ b/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java
@@ -4,9 +4,6 @@
package org.chromium.chrome.browser.ui.google_bottom_bar;
-import static org.chromium.chrome.browser.gsa.GSAState.GOOGLE_APP_CLASS_NAME;
-import static org.chromium.chrome.browser.gsa.GSAState.PACKAGE_NAME;
-import static org.chromium.chrome.browser.gsa.GSAState.VOICE_SEARCH_INTENT_ACTION;
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_HOME;
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_LENS;
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_SEARCH;
@@ -106,11 +103,6 @@ class GoogleBottomBarActionsHandler {
}
void onSearchboxMicTap() {
- GoogleBottomBarLogger.logButtonClicked(SEARCHBOX_VOICE_SEARCH);
- Intent intent = new Intent(VOICE_SEARCH_INTENT_ACTION);
- intent.setPackage(PACKAGE_NAME);
-
- startGoogleAppActivityForResult(intent, "openGoogleAppVoiceSearch");
}
void onSearchboxLensTap() {
@@ -148,21 +140,13 @@ class GoogleBottomBarActionsHandler {
}
private void openGoogleAppSearch() {
- Intent intent = new Intent(SearchManager.INTENT_ACTION_GLOBAL_SEARCH);
- intent.setPackage(PACKAGE_NAME);
-
- startGoogleAppActivityForResult(intent, "openGoogleAppSearch");
}
private void openGoogleAppHome() {
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.addCategory(Intent.CATEGORY_INFO);
- intent.setClassName(PACKAGE_NAME, GOOGLE_APP_CLASS_NAME);
-
- startGoogleAppActivityForResult(intent, "openGoogleAppHome");
}
private void startGoogleAppActivityForResult(Intent intent, String actionName) {
+ if ((true)) return;
intent.putExtra(EXTRA_IS_LAUNCHED_FROM_CHROME_SEARCH_ENTRYPOINT, true);
if (PackageManagerUtils.canResolveActivity(intent)) {
@@ -285,6 +269,7 @@ class GoogleBottomBarActionsHandler {
}
private void sendPendingIntentWithUrl(PendingIntent pendingIntent) {
+ if ((true)) return;
Tab tab = mTabProvider.get();
if (tab == null) {
Log.e(TAG, "Can't send pending intent as tab is null.");
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
new file mode 100644
--- /dev/null
@@ -14,7 +14,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/aw_content_browser_client.cc | 3 +
.../chromium/android_webview/AwSettings.java | 4 +-
chrome/android/java/AndroidManifest.xml | 4 -
components/attribution_reporting/features.cc | 2 +
.../aggregatable_trigger_config.cc | 2 +-
components/attribution_reporting/features.cc | 1 +
.../origin_trials/features.cc | 2 +
.../render_view_context_menu_base.cc | 3 -
.../aggregatable_report_sender.cc | 15 +-
@@ -38,7 +39,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
third_party/blink/renderer/core/page/page.cc | 2 +-
.../platform/runtime_enabled_features.json5 | 1 +
ui/events/android/motion_event_android.cc | 6 +-
27 files changed, 73 insertions(+), 375 deletions(-)
28 files changed, 73 insertions(+), 376 deletions(-)
create mode 100644 cromite_flags/content/common/features_cc/Disable-conversion-measurement-api.inc
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-conversion-measurement-api.inc
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc
@@ -106,15 +107,26 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
{% set enable_openxr = enable_openxr|default(0) %}
{% if enable_openxr == "true" %}
<!-- launchMode is set to singleTask because there should never be multiple copies of the app running. -->
diff --git a/components/attribution_reporting/aggregatable_trigger_config.cc b/components/attribution_reporting/aggregatable_trigger_config.cc
--- a/components/attribution_reporting/aggregatable_trigger_config.cc
+++ b/components/attribution_reporting/aggregatable_trigger_config.cc
@@ -86,7 +86,7 @@ bool IsValid(SourceRegistrationTimeConfig source_registration_time_config,
base::expected<std::optional<std::string>, TriggerRegistrationError>
ParseTriggerContextId(base::Value* value) {
- if (!value) {
+ if ((true)) {
return std::nullopt;
}
diff --git a/components/attribution_reporting/features.cc b/components/attribution_reporting/features.cc
--- a/components/attribution_reporting/features.cc
+++ b/components/attribution_reporting/features.cc
@@ -17,4 +17,6 @@ BASE_FEATURE(kAttributionAggregatableDebugReporting,
@@ -17,4 +17,5 @@ BASE_FEATURE(kAttributionAggregatableDebugReporting,
"AttributionAggregatableDebugReporting",
base::FEATURE_ENABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kConversionMeasurement);
+SET_CROMITE_FEATURE_DISABLED(kAttributionReportingTriggerContextId);
} // namespace attribution_reporting::features
diff --git a/components/embedder_support/origin_trials/features.cc b/components/embedder_support/origin_trials/features.cc
--- a/components/embedder_support/origin_trials/features.cc
+11 -2
View File
@@ -8,10 +8,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/chrome_java_sources.gni | 1 -
.../android/java/res/xml/main_preferences.xml | 5 -----
.../browser/settings/SettingsActivity.java | 19 -------------------
.../settings/SettingsLauncherImpl.java | 4 +---
.../settings/SettingsLauncherImpl.java | 6 ++----
chrome/browser/BUILD.gn | 1 -
.../suggestions/action/OmniboxPedal.java | 3 ---
7 files changed, 1 insertion(+), 37 deletions(-)
7 files changed, 2 insertions(+), 38 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
@@ -125,6 +125,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
case SettingsFragment.MAIN:
case SettingsFragment.PAYMENT_METHODS:
case SettingsFragment.SITE:
@@ -132,7 +130,7 @@ public class SettingsLauncherImpl implements SettingsLauncher {
case SettingsFragment.PAYMENT_METHODS:
return AutofillPaymentMethodsFragment.class;
case SettingsFragment.SAFETY_CHECK:
- return SafetyCheckSettingsFragment.class;
+ return null;
case SettingsFragment.SITE:
return SiteSettings.class;
case SettingsFragment.ACCESSIBILITY:
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -34,7 +34,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../autofill/AutofillManagerWrapper.java | 5 +-
.../components/autofill/AutofillProvider.java | 7 ++
.../BrowserSelectionActionMenuDelegate.java | 62 ++++++++++++++
.../browser/content_autofill_driver.cc | 12 +++
.../browser/content_autofill_driver.cc | 13 +++
.../content/browser/content_autofill_driver.h | 10 +++
.../content_autofill_driver_factory.cc | 12 +++
.../content/renderer/autofill_agent.cc | 6 ++
@@ -47,7 +47,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../autofill/core/common/autofill_features.h | 4 -
.../autofill/core/common/autofill_prefs.cc | 4 +-
.../autofill/core/common/autofill_prefs.h | 5 ++
32 files changed, 267 insertions(+), 96 deletions(-)
32 files changed, 268 insertions(+), 96 deletions(-)
create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
@@ -671,20 +671,21 @@ new file mode 100644
diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc
--- a/components/autofill/content/browser/content_autofill_driver.cc
+++ b/components/autofill/content/browser/content_autofill_driver.cc
@@ -247,6 +247,12 @@ void RouteToManager(ContentAutofillDriver& source,
@@ -247,6 +247,13 @@ void RouteToManager(ContentAutofillDriver& source,
AutofillManager& manager = target.GetAutofillManager();
(manager.*
manager_fun)(WithNewVersion(std::forward<ManagerArgs>(args))...);
+
+ AutofillManager& secondary_autofill_manager = target.secondary_autofill_manager();
+ raw_ptr<AutofillManager> secondary_autofill_manager =
+ target.secondary_autofill_manager();
+ if (secondary_autofill_manager) {
+ (secondary_autofill_manager.*
+ (secondary_autofill_manager->*
+ manager_fun)(WithNewVersion(std::forward<ManagerArgs>(args))...);
+ }
},
source, Lift(source, std::forward<ActualArgs>(args))...);
}
@@ -589,6 +595,8 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue(
@@ -589,6 +596,8 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue(
void ContentAutofillDriver::Reset() {
owner_->router().UnregisterDriver(*this, /*driver_is_dying=*/false);
autofill_manager_->Reset();
@@ -693,7 +694,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
}
const mojo::AssociatedRemote<mojom::AutofillAgent>&
@@ -601,6 +609,10 @@ ContentAutofillDriver::GetAutofillAgent() {
@@ -601,6 +610,10 @@ ContentAutofillDriver::GetAutofillAgent() {
return autofill_agent_;
}
@@ -9,9 +9,9 @@ PartitionNelAndReportingByNetworkIsolationKey
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../features_cc/Enable-network-isolation-features.inc | 10 ++++++++++
.../features_cc/Enable-network-isolation-features.inc | 1 +
2 files changed, 11 insertions(+)
.../base/features_cc/Enable-network-isolation-features.inc | 6 ++++++
.../cpp/features_cc/Enable-network-isolation-features.inc | 1 +
2 files changed, 7 insertions(+)
create mode 100644 cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Enable-network-isolation-features.inc
@@ -19,14 +19,10 @@ diff --git a/cromite_flags/net/base/features_cc/Enable-network-isolation-feature
new file mode 100644
--- /dev/null
+++ b/cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc
@@ -0,0 +1,10 @@
@@ -0,0 +1,6 @@
+SET_CROMITE_FEATURE_ENABLED(kSplitCacheByNetworkIsolationKey);
+SET_CROMITE_FEATURE_ENABLED(kSplitCodeCacheByNetworkIsolationKey);
+SET_CROMITE_FEATURE_ENABLED(kSplitHostCacheByNetworkIsolationKey);
+SET_CROMITE_FEATURE_ENABLED(kPartitionConnectionsByNetworkIsolationKey);
+SET_CROMITE_FEATURE_ENABLED(kPartitionHttpServerPropertiesByNetworkIsolationKey);
+SET_CROMITE_FEATURE_ENABLED(kPartitionSSLSessionsByNetworkIsolationKey);
+SET_CROMITE_FEATURE_ENABLED(kPartitionNelAndReportingByNetworkIsolationKey);
+
+SET_CROMITE_FEATURE_DISABLED(kEnableCrossSiteFlagNetworkIsolationKey);
+SET_CROMITE_FEATURE_DISABLED(kEnableFrameSiteSharedOpaqueNetworkIsolationKey);
@@ -12,6 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/app/settings_strings.grdp | 3 +
chrome/app/settings_strings_android.grdp | 260 ++++++++++++++++++
chrome/browser/BUILD.gn | 3 +
.../chrome_browser_interface_binders.cc | 12 +
chrome/browser/resources/BUILD.gn | 6 +
chrome/browser/resources/settings/BUILD.gn | 2 +-
.../resources/settings/page_visibility.ts | 30 +-
@@ -24,7 +25,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../browser/resources/settings/settings.html | 8 +-
.../settings/settings_ui/settings_ui.html | 6 +
.../resources/settings_shared/BUILD.gn | 2 +-
.../browser/search_engines/android/BUILD.gn | 1 +
chrome/browser/search/background/BUILD.gn | 4 +-
.../browser/search_engines/android/BUILD.gn | 2 +
.../java/res/layout/search_engine_layout.xml | 25 ++
.../settings/SearchEngineSettings.java | 19 ++
chrome/browser/ui/BUILD.gn | 12 +
@@ -43,11 +45,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
...ings_localized_strings_provider_android.cc | 198 +++++++++++++
...tings_localized_strings_provider_android.h | 19 ++
.../ui/webui/settings/settings_ui_android.cc | 134 +++++++++
.../ui/webui/settings/settings_ui_android.h | 127 +++++++++
.../ui/webui/settings/settings_ui_android.h | 119 ++++++++
chrome/chrome_paks.gni | 11 +
.../browser_ui/settings/SettingsLauncher.java | 2 +
.../search_engine_desktop_ui.grdp | 6 +
.../android/template_url_service_android.cc | 2 +-
.../search_engines/search_engines_switches.cc | 1 +
.../search_engines/template_url_service.cc | 8 +-
.../search_engines/template_url_service.h | 6 +-
content/browser/webui/web_ui_impl.cc | 14 +-
@@ -67,7 +70,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
ui/webui/resources/include_polymer.gni | 2 +-
ui/webui/resources/js/BUILD.gn | 2 +-
ui/webui/resources/js/load_time_data.ts | 17 +-
60 files changed, 1097 insertions(+), 61 deletions(-)
63 files changed, 1106 insertions(+), 62 deletions(-)
create mode 100644 chrome/app/settings_strings_android.grdp
create mode 100644 chrome/browser/search_engines/android/java/res/layout/search_engine_layout.xml
create mode 100644 chrome/browser/ui/webui/settings/settings_localized_strings_provider_android.cc
@@ -418,6 +421,35 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
} else {
#!is_android
sources += [
diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser/chrome_browser_interface_binders.cc
--- a/chrome/browser/chrome_browser_interface_binders.cc
+++ b/chrome/browser/chrome_browser_interface_binders.cc
@@ -145,6 +145,9 @@
#endif
#if BUILDFLAG(IS_ANDROID)
+#include "ui/webui/resources/cr_components/help_bubble/help_bubble.mojom.h"
+#include "ui/webui/resources/cr_components/customize_color_scheme_mode/customize_color_scheme_mode.mojom.h"
+#include "chrome/browser/ui/webui/settings/settings_ui_android.h"
#include "chrome/browser/android/dom_distiller/distiller_ui_handle_android.h"
#include "chrome/browser/offline_pages/android/offline_page_auto_fetcher.h"
#include "chrome/browser/ui/webui/feed_internals/feed_internals.mojom.h"
@@ -1168,6 +1171,15 @@ void PopulateChromeWebUIFrameBinders(
app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map);
#endif
+#if BUILDFLAG(IS_ANDROID)
+ RegisterWebUIControllerInterfaceBinder<
+ help_bubble::mojom::HelpBubbleHandlerFactory, settings::SettingsUI>(map);
+
+ RegisterWebUIControllerInterfaceBinder<
+ customize_color_scheme_mode::mojom::
+ CustomizeColorSchemeModeHandlerFactory, settings::SettingsUI>(map);
+#endif
+
#if !BUILDFLAG(IS_ANDROID)
if (search_engines::IsChoiceScreenFlagEnabled(
search_engines::ChoicePromo::kAny)) {
diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn
--- a/chrome/browser/resources/BUILD.gn
+++ b/chrome/browser/resources/BUILD.gn
@@ -705,6 +737,30 @@ diff --git a/chrome/browser/resources/settings_shared/BUILD.gn b/chrome/browser/
build_webui("build") {
grd_prefix = "settings_shared"
diff --git a/chrome/browser/search/background/BUILD.gn b/chrome/browser/search/background/BUILD.gn
--- a/chrome/browser/search/background/BUILD.gn
+++ b/chrome/browser/search/background/BUILD.gn
@@ -2,10 +2,11 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-assert(is_win || is_mac || is_linux || is_chromeos)
+# assert(is_win || is_mac || is_linux || is_chromeos)
import("//third_party/protobuf/proto_library.gni")
+if (!is_android) {
source_set("background") {
public = [
"ntp_background_data.h",
@@ -61,6 +62,7 @@ source_set("background") {
"//ui/gfx/codec",
]
}
+}
proto_library("ntp_background_proto") {
sources = [ "ntp_background.proto" ]
diff --git a/chrome/browser/search_engines/android/BUILD.gn b/chrome/browser/search_engines/android/BUILD.gn
--- a/chrome/browser/search_engines/android/BUILD.gn
+++ b/chrome/browser/search_engines/android/BUILD.gn
@@ -716,6 +772,14 @@ diff --git a/chrome/browser/search_engines/android/BUILD.gn b/chrome/browser/sea
"java/res/layout/search_engine_choice_item.xml",
"java/res/layout/search_engine_choice_view.xml",
"java/res/layout/search_engine_recent_title.xml",
@@ -86,6 +87,7 @@ android_resources("java_resources") {
"java/res/values/ids.xml",
]
deps = [
+ "//chrome/browser/search/background:ntp_background_proto",
"//chrome/browser/ui/android/strings:ui_strings_grd",
"//components/browser_ui/styles/android:java_resources",
"//components/browser_ui/widget/android:java_resources",
diff --git a/chrome/browser/search_engines/android/java/res/layout/search_engine_layout.xml b/chrome/browser/search_engines/android/java/res/layout/search_engine_layout.xml
new file mode 100644
--- /dev/null
@@ -1005,7 +1069,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/webapks/webapks_ui.h"
#include "components/feed/buildflags.h"
#include "components/feed/feed_feature_list.h"
+#include "chrome/browser/ui/webui/settings/settings_ui.h"
+#include "chrome/browser/ui/webui/settings/settings_ui_android.h"
+#include "chrome/browser/ui/webui/settings/settings_utils.h"
#else // BUILDFLAG(IS_ANDROID)
#include "chrome/browser/media/router/discovery/access_code/access_code_cast_feature.h"
@@ -1516,7 +1580,7 @@ new file mode 100644
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/webui/settings/settings_ui.h"
+#include "chrome/browser/ui/webui/settings/settings_ui_android.h"
+
+#include <stddef.h>
+
@@ -1634,14 +1698,14 @@ new file mode 100644
+ mojo::PendingReceiver<help_bubble::mojom::HelpBubbleHandler> handler) {
+}
+
+void SettingsUI::CreateCustomizeColorSchemeModeHandler(
+ mojo::PendingRemote<
+ customize_color_scheme_mode::mojom::CustomizeColorSchemeModeClient>
+ client,
+ mojo::PendingReceiver<
+ customize_color_scheme_mode::mojom::CustomizeColorSchemeModeHandler>
+ handler) {
+}
+void SettingsUI::BindInterface(
+ mojo::PendingReceiver<help_bubble::mojom::HelpBubbleHandlerFactory>
+ pending_receiver) {}
+
+void SettingsUI::BindInterface(
+ mojo::PendingReceiver<customize_color_scheme_mode::mojom::
+ CustomizeColorSchemeModeHandlerFactory>
+ pending_receiver) {}
+
+WEB_UI_CONTROLLER_TYPE_IMPL(SettingsUI)
+
@@ -1650,7 +1714,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_ui_android.h b/chrome/bro
new file mode 100644
--- /dev/null
+++ b/chrome/browser/ui/webui/settings/settings_ui_android.h
@@ -0,0 +1,127 @@
@@ -0,0 +1,119 @@
+#ifndef CHROME_BROWSER_UI_WEBUI_SETTINGS_SETTINGS_UI_ANDROID_H_
+#define CHROME_BROWSER_UI_WEBUI_SETTINGS_SETTINGS_UI_ANDROID_H_
+
@@ -1764,14 +1828,6 @@ new file mode 100644
+ mojo::PendingReceiver<help_bubble::mojom::HelpBubbleHandler> handler)
+ override;
+
+ void CreateCustomizeColorSchemeModeHandler(
+ mojo::PendingRemote<
+ customize_color_scheme_mode::mojom::CustomizeColorSchemeModeClient>
+ client,
+ mojo::PendingReceiver<
+ customize_color_scheme_mode::mojom::CustomizeColorSchemeModeHandler>
+ handler) override;
+
+ WEB_UI_CONTROLLER_TYPE_DECL();
+};
+
@@ -1834,6 +1890,17 @@ diff --git a/components/search_engines/android/template_url_service_android.cc b
}
// Only one search engine can be marked as coming from Play at a time.
diff --git a/components/search_engines/search_engines_switches.cc b/components/search_engines/search_engines_switches.cc
--- a/components/search_engines/search_engines_switches.cc
+++ b/components/search_engines/search_engines_switches.cc
@@ -36,6 +36,7 @@ COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES)
BASE_FEATURE(kSearchEngineChoiceTrigger,
"SearchEngineChoiceTrigger",
base::FEATURE_ENABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kSearchEngineChoiceTrigger);
COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES)
BASE_FEATURE(kSearchEngineChoiceAttribution,
diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc
--- a/components/search_engines/template_url_service.cc
+++ b/components/search_engines/template_url_service.cc
@@ -114,7 +114,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../user_scripts/renderer/script_context.h | 67 ++
.../user_scripts/renderer/script_injection.cc | 295 +++++++
.../user_scripts/renderer/script_injection.h | 155 ++++
.../renderer/script_injection_manager.cc | 415 +++++++++
.../renderer/script_injection_manager.cc | 414 +++++++++
.../renderer/script_injection_manager.h | 100 +++
.../user_scripts/renderer/script_injector.h | 96 +++
.../user_scripts/renderer/scripts_run_info.cc | 31 +
@@ -123,7 +123,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer/user_script_injector.h | 86 ++
.../user_scripts/renderer/user_script_set.cc | 264 ++++++
.../user_scripts/renderer/user_script_set.h | 101 +++
.../renderer/user_script_set_manager.cc | 77 ++
.../renderer/user_script_set_manager.cc | 76 ++
.../renderer/user_script_set_manager.h | 63 ++
.../renderer/user_scripts_dispatcher.cc | 36 +
.../renderer/user_scripts_dispatcher.h | 49 ++
@@ -135,7 +135,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../Experimental-user-scripts-support.inc | 13 +
ipc/ipc_message_start.h | 1 +
tools/gritsettings/resource_ids.spec | 6 +
108 files changed, 9494 insertions(+), 2 deletions(-)
108 files changed, 9492 insertions(+), 2 deletions(-)
create mode 100644 components/user_scripts/README.md
create mode 100755 components/user_scripts/android/BUILD.gn
create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml
@@ -1299,7 +1299,7 @@ new file mode 100755
+
+ SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
+ Intent intent = settingsLauncher.createSettingsActivityIntent(
+ context, UserScriptsPreferences.class.getName(),
+ context, UserScriptsPreferences.class,
+ UserScriptsPreferences.createFragmentArgsForInstall(filePath));
+ IntentUtils.safeStartActivity(context, intent);
+
@@ -8483,7 +8483,7 @@ diff --git a/components/user_scripts/renderer/script_injection_manager.cc b/comp
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/script_injection_manager.cc
@@ -0,0 +1,415 @@
@@ -0,0 +1,414 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -8538,8 +8538,7 @@ new file mode 100755
+ case UserScript::RUN_LOCATION_LAST:
+ break;
+ }
+ NOTREACHED();
+ return UserScript::RUN_LOCATION_LAST;
+ NOTREACHED_NORETURN();
+}
+
+} // namespace
@@ -9917,7 +9916,7 @@ diff --git a/components/user_scripts/renderer/user_script_set_manager.cc b/compo
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/user_script_set_manager.cc
@@ -0,0 +1,77 @@
@@ -0,0 +1,76 @@
+#include "user_script_set_manager.h"
+
+#include "base/logging.h"
@@ -9971,8 +9970,7 @@ new file mode 100755
+void UserScriptSetManager::OnUpdateUserScripts(
+ base::ReadOnlySharedMemoryRegion shared_memory) {
+ if (!shared_memory.IsValid()) {
+ NOTREACHED() << "Bad scripts handle";
+ return;
+ NOTREACHED_NORETURN() << "Bad scripts handle";
+ }
+
+ UserScriptSet* scripts = NULL;
@@ -9995,7 +9993,6 @@ new file mode 100755
+}
+
+}
\ No newline at end of file
diff --git a/components/user_scripts/renderer/user_script_set_manager.h b/components/user_scripts/renderer/user_script_set_manager.h
new file mode 100755
--- /dev/null
+47 -26
View File
@@ -12,8 +12,8 @@ deactivation of all pop-ups (default disabled)
---
.../android/java/res/xml/main_preferences.xml | 19 +-
chrome/browser/BUILD.gn | 2 -
.../adblock/adblock_content_browser_client.cc | 285 +-
.../adblock/adblock_content_browser_client.h | 48 +-
.../adblock/adblock_content_browser_client.cc | 291 +-
.../adblock/adblock_content_browser_client.h | 54 +-
.../browser/chrome_content_browser_client.cc | 6 +-
.../browser/chrome_content_browser_client.h | 6 +-
.../adblock_private/adblock_private_api.cc | 74 +-
@@ -32,7 +32,7 @@ deactivation of all pop-ups (default disabled)
chrome/browser/resources/settings/settings.ts | 1 +
.../settings/settings_menu/settings_menu.html | 5 +
chrome/browser/ui/tab_helpers.cc | 6 +-
.../adblock_internals_page_handler_impl.cc | 20 +-
.../adblock_internals_page_handler_impl.cc | 23 +-
.../common/extensions/api/_api_features.json | 4 +-
.../extensions/api/_permission_features.json | 8 -
.../common/extensions/api/adblock_private.idl | 8 +
@@ -51,7 +51,7 @@ deactivation of all pop-ups (default disabled)
.../settings/AdblockSettingsFragment.java | 51 +-
components/adblock/content/browser/BUILD.gn | 18 +-
.../adblock_controller_factory_base.cc | 5 +-
.../browser/adblock_url_loader_factory.cc | 65 +-
.../browser/adblock_url_loader_factory.cc | 68 +-
.../browser/adblock_url_loader_factory.h | 7 +-
.../browser/adblock_webcontents_observer.cc | 25 +-
.../browser/adblock_webcontents_observer.h | 5 +-
@@ -95,7 +95,7 @@ deactivation of all pop-ups (default disabled)
.../filtering_configuration_maintainer_impl.h | 4 +-
.../ongoing_subscription_request_impl.cc | 33 +-
.../preloaded_subscription_provider_impl.cc | 4 +-
.../adblock/core/subscription/subscription.cc | 19 +
.../adblock/core/subscription/subscription.cc | 18 +
.../adblock/core/subscription/subscription.h | 3 +
.../subscription_collection_impl.cc | 1 +
.../core/subscription/subscription_config.cc | 20 +-
@@ -130,7 +130,7 @@ deactivation of all pop-ups (default disabled)
.../blink/renderer/core/css/style_engine.h | 1 +
.../renderer/core/exported/web_document.cc | 15 +-
.../definitions/adblock_private.d.ts | 14 +
120 files changed, 6140 insertions(+), 1299 deletions(-)
120 files changed, 6147 insertions(+), 1309 deletions(-)
create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.html
create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.ts
rename components/adblock/android/java/res/xml/{adblock_preferences.xml => eyeo_adblock_preferences.xml} (56%)
@@ -350,7 +350,8 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
const GURL& url,
+ const url::Origin& initiator_origin,
const net::SiteForCookies& site_for_cookies,
const absl::optional<std::string>& user_agent,
- const absl::optional<std::string>& user_agent,
+ const std::optional<std::string>& user_agent,
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
handshake_client) {
- if (IsFilteringNeeded(frame)) {
@@ -377,7 +378,8 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
const GURL& url,
+ const url::Origin& initiator_origin,
const net::SiteForCookies& site_for_cookies,
const absl::optional<std::string>& user_agent,
- const absl::optional<std::string>& user_agent,
+ const std::optional<std::string>& user_agent,
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
handshake_client) {
- auto* frame = content::RenderFrameHost::FromID(render_frame_host_id);
@@ -411,7 +413,8 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
const GURL& url,
+ const url::Origin& initiator_origin,
const net::SiteForCookies& site_for_cookies,
const absl::optional<std::string>& user_agent,
- const absl::optional<std::string>& user_agent,
+ const std::optional<std::string>& user_agent,
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
handshake_client,
adblock::FilterMatchResult result) {
@@ -640,7 +643,8 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.h b/chrome/br
const GURL& url,
+ const url::Origin& initiator_origin,
const net::SiteForCookies& site_for_cookies,
const absl::optional<std::string>& user_agent,
- const absl::optional<std::string>& user_agent,
+ const std::optional<std::string>& user_agent,
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
handshake_client) override;
@@ -695,7 +699,8 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.h b/chrome/br
const GURL& url,
+ const url::Origin& initiator_origin,
const net::SiteForCookies& site_for_cookies,
const absl::optional<std::string>& user_agent,
- const absl::optional<std::string>& user_agent,
+ const std::optional<std::string>& user_agent,
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
handshake_client);
void OnWebSocketFilterCheckCompleted(
@@ -705,7 +710,8 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.h b/chrome/br
const GURL& url,
+ const url::Origin& initiator_origin,
const net::SiteForCookies& site_for_cookies,
const absl::optional<std::string>& user_agent,
- const absl::optional<std::string>& user_agent,
+ const std::optional<std::string>& user_agent,
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
handshake_client,
adblock::FilterMatchResult result);
@@ -1706,7 +1712,17 @@ diff --git a/chrome/browser/ui/webui/adblock_internals/adblock_internals_page_ha
#include "components/adblock/core/session_stats.h"
#include "components/adblock/core/subscription/subscription_config.h"
#include "components/adblock/core/subscription/subscription_service.h"
@@ -53,6 +52,13 @@ std::string DebugLine(std::string name, int value, int level) {
@@ -41,8 +40,7 @@ std::string SubscriptionInstallationStateToString(
case State::Unknown:
return "Unknown";
}
- NOTREACHED();
- return "";
+ NOTREACHED_NORETURN();
}
std::string DebugLine(std::string name, std::string value, int level) {
@@ -53,6 +51,13 @@ std::string DebugLine(std::string name, int value, int level) {
return DebugLine(name, std::to_string(value), level);
}
@@ -1720,7 +1736,7 @@ diff --git a/chrome/browser/ui/webui/adblock_internals/adblock_internals_page_ha
} // namespace
AdblockInternalsPageHandlerImpl::AdblockInternalsPageHandlerImpl(
@@ -90,17 +96,13 @@ void AdblockInternalsPageHandlerImpl::GetDebugInfo(
@@ -90,17 +95,13 @@ void AdblockInternalsPageHandlerImpl::GetDebugInfo(
content += DebugLine("Title", it->GetTitle(), 2);
content += DebugLine("Version", it->GetCurrentVersion(), 2);
content += DebugLine("Last update",
@@ -2614,7 +2630,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
return ContentType::Script;
case network::mojom::RequestDestination::kImage:
return ContentType::Image;
@@ -101,11 +103,10 @@ ContentType ToAdblockResourceType(const network::ResourceRequest& request) {
@@ -101,16 +103,14 @@ ContentType ToAdblockResourceType(const network::ResourceRequest& request) {
return ContentType::Other;
case network::mojom::RequestDestination::kWebBundle:
return ContentType::WebBundle;
@@ -2627,7 +2643,13 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
case network::mojom::RequestDestination::kWebIdentity:
return ContentType::Other;
}
@@ -186,8 +187,13 @@ class AdblockURLLoaderFactory::InProgressRequest
- NOTREACHED();
- return ContentType::Other;
+ NOTREACHED_NORETURN();
}
} // namespace
@@ -186,8 +186,13 @@ class AdblockURLLoaderFactory::InProgressRequest
void OnRequestError(int error_code);
void CheckFilterMatch(CheckFilterMatchCallback callback);
void ProcessResponseHeaders(
@@ -2641,7 +2663,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
void CheckRewriteFilterMatch(CheckRewriteFilterMatchCallback callback);
void OnRequestUrlClassified(CheckFilterMatchCallback callback,
FilterMatchResult result);
@@ -307,7 +313,9 @@ void AdblockURLLoaderFactory::InProgressRequest::OnReceiveResponse(
@@ -307,7 +312,9 @@ void AdblockURLLoaderFactory::InProgressRequest::OnReceiveResponse(
VLOG(1) << "[eyeo] Sending headers for processing: " << request_url_;
client_receiver_.Pause();
const scoped_refptr<net::HttpResponseHeaders>& headers = head->headers;
@@ -2651,7 +2673,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
headers, base::BindOnce(&InProgressRequest::OnProcessHeadersResult,
weak_factory_.GetWeakPtr(), std::move(head),
std::move(body), std::move(cached_metadata)));
@@ -344,12 +352,6 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestError(
@@ -344,12 +351,6 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestError(
void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
CheckFilterMatchCallback callback) {
@@ -2664,7 +2686,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
auto subscription_service = factory_->config_.subscription_service;
if (is_document_request_) {
auto* host = content::RenderFrameHost::FromID(factory_->host_id_);
@@ -386,9 +388,10 @@ void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
@@ -386,9 +387,10 @@ void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
FilterMatchResult::kNoRule);
}
} else {
@@ -2677,7 +2699,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
base::BindOnce(
&AdblockURLLoaderFactory::InProgressRequest::OnRequestUrlClassified,
weak_factory_.GetWeakPtr(),
@@ -399,6 +402,7 @@ void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
@@ -399,6 +401,7 @@ void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
}
void AdblockURLLoaderFactory::InProgressRequest::ProcessResponseHeaders(
@@ -2685,7 +2707,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
const scoped_refptr<net::HttpResponseHeaders>& headers,
ProcessResponseHeadersCallback callback) {
if (!factory_->CheckHostValid()) {
@@ -407,6 +411,36 @@ void AdblockURLLoaderFactory::InProgressRequest::ProcessResponseHeaders(
@@ -407,6 +410,36 @@ void AdblockURLLoaderFactory::InProgressRequest::ProcessResponseHeaders(
return;
}
@@ -2722,7 +2744,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
auto subscription_service = factory_->config_.subscription_service;
factory_->config_.resource_classifier->CheckResponseFilterMatch(
subscription_service->GetCurrentSnapshot(), request_url_,
@@ -677,12 +711,13 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestFilterMatchResult(
@@ -677,12 +710,13 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestFilterMatchResult(
AdblockURLLoaderFactory::AdblockURLLoaderFactory(
AdblockURLLoaderFactoryConfig config,
@@ -2738,7 +2760,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
host_id_(host_id),
user_agent_string_(std::move(user_agent_string)),
on_disconnect_(std::move(on_disconnect)) {
@@ -691,10 +726,12 @@ AdblockURLLoaderFactory::AdblockURLLoaderFactory(
@@ -691,10 +725,12 @@ AdblockURLLoaderFactory::AdblockURLLoaderFactory(
DCHECK(config_.element_hider);
DCHECK(config_.sitekey_storage);
DCHECK(config_.csp_injector);
@@ -4902,7 +4924,7 @@ diff --git a/components/adblock/core/subscription/preloaded_subscription_provide
diff --git a/components/adblock/core/subscription/subscription.cc b/components/adblock/core/subscription/subscription.cc
--- a/components/adblock/core/subscription/subscription.cc
+++ b/components/adblock/core/subscription/subscription.cc
@@ -16,9 +16,28 @@
@@ -16,9 +16,27 @@
*/
#include "components/adblock/core/subscription/subscription.h"
@@ -4926,8 +4948,7 @@ diff --git a/components/adblock/core/subscription/subscription.cc b/components/a
+ case State::Unknown:
+ return "Unknown";
+ }
+ NOTREACHED();
+ return "";
+ NOTREACHED_NORETURN();
+}
+
} // namespace adblock
@@ -7,17 +7,9 @@ using the new flags on android
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../common/features_cc/Improve-the-browser-sandbox.inc | 1 +
sandbox/policy/features.cc | 8 ++++++++
2 files changed, 9 insertions(+)
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Improve-the-browser-sandbox.inc
sandbox/policy/features.cc | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/cromite_flags/third_party/blink/common/features_cc/Improve-the-browser-sandbox.inc b/cromite_flags/third_party/blink/common/features_cc/Improve-the-browser-sandbox.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/third_party/blink/common/features_cc/Improve-the-browser-sandbox.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_ENABLED(kEnableMojoJSProtectedMemory);
diff --git a/sandbox/policy/features.cc b/sandbox/policy/features.cc
--- a/sandbox/policy/features.cc
+++ b/sandbox/policy/features.cc
+106 -181
View File
@@ -24,13 +24,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../tab_management/TabGroupUiToolbarView.java | 17 ++
.../tab_management/TabGroupUiViewBinder.java | 3 +
.../TabListContainerViewBinder.java | 15 +-
.../tab_management/TabListCoordinator.java | 151 +++++++++++++++++-
.../TabListEmptyCoordinator.java | 8 +
.../tab_management/TabListCoordinator.java | 153 +++++++++++++++++-
.../TabListEmptyCoordinator.java | 15 +-
.../tab_management/TabListRecyclerView.java | 19 ++-
.../tab_management/TabSwitcherMediator.java | 27 +++-
.../settings/AccessibilitySettings.java | 26 +++
.../ChromeAccessibilitySettingsDelegate.java | 69 ++++++++
.../chrome/browser/app/ChromeActivity.java | 13 ++
.../chrome/browser/app/ChromeActivity.java | 3 +
.../compositor/CompositorViewHolder.java | 8 +
.../layouts/LayoutManagerChrome.java | 19 ++-
.../layouts/LayoutManagerChromeTablet.java | 4 +-
@@ -45,17 +45,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../messages/MessageContainerCoordinator.java | 16 +-
.../modaldialog/ChromeTabModalPresenter.java | 2 +-
.../chrome/browser/ntp/NewTabPage.java | 14 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 8 +
.../chrome/browser/ntp/NewTabPageLayout.java | 9 ++
.../chrome/browser/ntp/RecentTabsPage.java | 30 +++-
.../browser/searchwidget/SearchActivity.java | 13 +-
.../browser/searchwidget/SearchActivity.java | 11 ++
.../browser/settings/SettingsActivity.java | 5 +
.../StatusIndicatorCoordinator.java | 9 ++
.../StatusIndicatorSceneLayer.java | 6 +-
.../browser/toolbar/ToolbarManager.java | 46 +++++-
.../browser/toolbar/ToolbarManager.java | 44 ++++-
.../chrome/browser/ui/BottomContainer.java | 18 +++
.../ui/system/StatusBarColorController.java | 9 ++
.../android/compositor/layer/toolbar_layer.cc | 10 +-
.../scene_layer/tab_strip_scene_layer.cc | 16 +-
.../BottomControlsStacker.java | 2 +-
.../BrowserControlsMarginSupplier.java | 5 +
.../BrowserControlsStateProvider.java | 6 +
.../browser/feed/FeedListContentManager.java | 6 +-
@@ -64,13 +65,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/prefs/browser_prefs.cc | 2 +-
.../chrome/browser/ui/appmenu/AppMenu.java | 40 ++++-
.../ui/appmenu/AppMenuHandlerImpl.java | 10 ++
.../omnibox/LocationBarCoordinator.java | 7 +-
...mniboxSuggestionsDropdownEmbedderImpl.java | 18 ++-
...mniboxSuggestionsDropdownEmbedderImpl.java | 18 +++
.../suggestions/AutocompleteCoordinator.java | 13 ++
.../suggestions/AutocompleteMediator.java | 6 +-
.../DropdownItemViewInfoListManager.java | 7 +-
.../OmniboxSuggestionsDropdown.java | 39 ++++-
.../OmniboxSuggestionsDropdownEmbedder.java | 8 +
.../OmniboxSuggestionsDropdown.java | 11 +-
.../OmniboxSuggestionsDropdownEmbedder.java | 4 +
.../strings/android_chrome_strings.grd | 6 +
chrome/browser/ui/android/toolbar/BUILD.gn | 1 +
.../toolbar/LocationBarFocusScrimHandler.java | 5 +
@@ -88,7 +88,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../AccessibilitySettingsDelegate.java | 7 +
.../render_widget_host_view_android.cc | 3 +
.../Move-navigation-bar-to-bottom.inc | 17 ++
75 files changed, 1023 insertions(+), 86 deletions(-)
75 files changed, 987 insertions(+), 81 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc
diff --git a/cc/base/features.cc b/cc/base/features.cc
@@ -621,7 +621,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
checkAwaitingLayout();
}
};
+ if (titleProvider != null && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ if (actionOnRelatedTabs && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ gridLayoutManager =
+ new GridLayoutManagerDockBottom(context, GRID_LAYOUT_SPAN_COUNT_COMPACT);
+ ((GridLayoutManagerDockBottom)gridLayoutManager)
@@ -658,6 +658,15 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
mMediator.setRecyclerViewItemAnimationToggle(mRecyclerView::setDisableItemAnimations);
}
@@ -397,7 +541,7 @@ public class TabListCoordinator
mHasEmptyView = hasEmptyView;
if (mHasEmptyView) {
- mTabListEmptyCoordinator = new TabListEmptyCoordinator(parentView, mModel);
+ mTabListEmptyCoordinator = new TabListEmptyCoordinator(parentView, mModel, mBrowserControlsStateProvider);
mEmptyStateHeadingResId = emptyHeadingStringResId;
mEmptyStateSubheadingResId = emptySubheadingStringResId;
mEmptyStateImageResId = emptyImageResId;
@@ -708,6 +852,9 @@ public class TabListCoordinator
void prepareTabSwitcherView() {
registerLayoutChangeListener();
@@ -671,7 +680,13 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java
@@ -13,6 +13,7 @@ import android.widget.TextView;
@@ -9,10 +9,13 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
+import android.widget.FrameLayout;
+import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.tab_ui.R;
import org.chromium.ui.modelutil.ListObservable;
import org.chromium.ui.modelutil.ListObservable.ListObserver;
@@ -679,7 +694,25 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
/**
* Empty coordinator that is responsible for showing an empty state view in tab switcher when we are
@@ -121,6 +122,13 @@ class TabListEmptyCoordinator {
@@ -30,13 +33,16 @@ class TabListEmptyCoordinator {
private ListObserver<Void> mListObserver;
private boolean mIsTabSwitcherShowing;
private boolean mIsListObserverAttached;
+ private BrowserControlsStateProvider mBrowserControlsStateProvider;
- public TabListEmptyCoordinator(ViewGroup rootView, TabListModel model) {
+ public TabListEmptyCoordinator(ViewGroup rootView, TabListModel model,
+ BrowserControlsStateProvider browserControlsStateProvider) {
mRootView = rootView;
mContext = rootView.getContext();
// Observe TabListModel to determine when to add / remove empty state view.
mModel = model;
+ mBrowserControlsStateProvider = browserControlsStateProvider;
mListObserver =
new ListObserver<Void>() {
@Override
@@ -121,6 +127,13 @@ class TabListEmptyCoordinator {
public void attachEmptyView() {
if (mEmptyView != null && mEmptyView.getParent() == null) {
mRootView.addView(mEmptyView);
@@ -989,23 +1022,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
/**
* A {@link AsyncInitializationActivity} that builds and manages a {@link CompositorViewHolder}
* and associated classes.
@@ -866,6 +869,16 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
controlContainer.initWithToolbar(toolbarLayoutId,
DeviceFormFactor.isForceTabletUI()
? R.dimen.control_container_height_tabletui : 0);
+ ImageView shadowImage = findViewById(R.id.toolbar_hairline);
+ if (shadowImage != null) {
+ // Invert the shadown if the top toolbar is at the bottom
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ ViewGroup.MarginLayoutParams marginParams = (ViewGroup.MarginLayoutParams)shadowImage.getLayoutParams();
+ marginParams.setMargins(marginParams.leftMargin, 0,
+ marginParams.rightMargin, marginParams.bottomMargin);
+ shadowImage.setLayoutParams(marginParams);
+ }
+ }
}
onInitialLayoutInflationComplete();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
@@ -1554,16 +1570,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
@@ -17,6 +17,8 @@ import android.util.AttributeSet;
@@ -17,6 +17,9 @@ import android.util.AttributeSet;
import android.view.DragEvent;
import android.view.LayoutInflater;
import android.view.ViewStub;
+import android.view.ViewGroup.LayoutParams;
+import android.widget.FrameLayout;
+import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
@@ -176,6 +178,12 @@ public class NewTabPageLayout extends LinearLayout {
@@ -176,6 +179,12 @@ public class NewTabPageLayout extends LinearLayout {
mMiddleSpacer = findViewById(R.id.ntp_middle_spacer);
mFakeSearchBoxLayout = findViewById(R.id.search_box);
insertSiteSectionView();
@@ -1679,15 +1696,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
// Update the status bar's color based on the toolbar color.
Drawable anchorViewBackground = anchorView.getBackground();
@@ -306,7 +317,7 @@ public class SearchActivity extends AsyncInitializationActivity
mLocationBarCoordinator =
new LocationBarCoordinator(
- mSearchBox,
+ mSearchBox, anchorView,
anchorView,
mProfileSupplier,
PrivacyPreferencesManagerImpl.getInstance(),
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -1765,15 +1773,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
/**
* Contains logic for managing the toolbar visual component. This class manages the interactions
* with the rest of the application to ensure the toolbar is always visually up to date.
@@ -863,7 +866,7 @@ public class ToolbarManager
LocationBarCoordinator locationBarCoordinator =
new LocationBarCoordinator(
mActivity.findViewById(R.id.location_bar),
- toolbarLayout,
+ toolbarLayout, controlContainer,
profileSupplier,
PrivacyPreferencesManagerImpl.getInstance(),
mLocationBarModel,
@@ -1176,6 +1179,7 @@ public class ToolbarManager
// the height won't be measured by the background image.
if (mControlContainer.getBackground() == null) {
@@ -1815,7 +1814,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
+ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ // move up the container view of the ui
+ // below there is the toolbar
+ mBottomRoot.setTranslationY(-mBrowserControlsSizer.getTopControlsHeight());
+ mBottomRoot.setTranslationY(-mBrowserControlsVisibilityManager.getTopControlsHeight());
+ }
+ }
+
@@ -2020,6 +2019,18 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer
content_tree_->layer()->SetPosition(gfx::PointF(0, -y_offset));
// Update left and right padding layers as required.
diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java
--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java
+++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java
@@ -106,7 +106,7 @@ public class BottomControlsStacker implements BrowserControlsStateProvider.Obser
/**
* @return {@link BrowserControlsStateProvider} instance in the current Activity.
*/
- public BrowserControlsStateProvider getBrowserControls() {
+ public BrowserControlsSizer getBrowserControls() {
return mBrowserControlsSizer;
}
diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java
--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java
+++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java
@@ -2286,48 +2297,18 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
ContextThemeWrapper wrapper =
new ContextThemeWrapper(mContext, R.style.OverflowMenuThemeOverlay);
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
@@ -92,6 +92,7 @@ public class LocationBarCoordinator
private StatusCoordinator mStatusCoordinator;
private WindowDelegate mWindowDelegate;
private WindowAndroid mWindowAndroid;
+ private View mContainerView;
private LocationBarMediator mLocationBarMediator;
private View mUrlBar;
private View mDeleteButton;
@@ -149,7 +150,7 @@ public class LocationBarCoordinator
*/
public LocationBarCoordinator(
View locationBarLayout,
- View autocompleteAnchorView,
+ View autocompleteAnchorView, View containerView,
ObservableSupplier<Profile> profileObservableSupplier,
PrivacyPreferencesManager privacyPreferencesManager,
LocationBarDataProvider locationBarDataProvider,
@@ -187,6 +188,7 @@ public class LocationBarCoordinator
mWindowAndroid = windowAndroid;
mActivityLifecycleDispatcher = activityLifecycleDispatcher;
mActivityLifecycleDispatcher.register(this);
+ mContainerView = containerView;
Context context = mLocationBarLayout.getContext();
OneshotSupplierImpl<TemplateUrlService> templateUrlServiceSupplier =
new OneshotSupplierImpl<>();
@@ -200,7 +202,8 @@ public class LocationBarCoordinator
mLocationBarLayout,
uiOverrides.isForcedPhoneStyleOmnibox(),
baseChromeLayout,
- deferredIMEWindowInsetApplicationCallback::getCurrentKeyboardHeight);
+ deferredIMEWindowInsetApplicationCallback::getCurrentKeyboardHeight,
+ mContainerView);
mUrlBar = mLocationBarLayout.findViewById(R.id.url_bar);
// TODO(crbug.com/40733049): Inject LocaleManager instance to LocationBarCoordinator instead
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxSuggestionsDropdownEmbedderImpl.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxSuggestionsDropdownEmbedderImpl.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxSuggestionsDropdownEmbedderImpl.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxSuggestionsDropdownEmbedderImpl.java
@@ -23,6 +23,7 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
@@ -15,6 +15,7 @@ import android.view.WindowInsets;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.graphics.Insets;
+import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import org.chromium.base.BuildInfo;
@@ -23,6 +24,7 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider;
import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownEmbedder;
@@ -2335,28 +2316,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.ViewUtils;
import org.chromium.ui.base.WindowAndroid;
@@ -42,6 +43,7 @@ class OmniboxSuggestionsDropdownEmbedderImpl
private final @NonNull WindowAndroid mWindowAndroid;
private final @NonNull View mAnchorView;
private final @NonNull View mAlignmentView;
+ private final @NonNull View mContainerView;
private final boolean mForcePhoneStyleOmnibox;
private final Supplier<Integer> mKeyboardHeightSupplier;
private final @NonNull Context mContext;
@@ -72,9 +74,11 @@ class OmniboxSuggestionsDropdownEmbedderImpl
@NonNull View alignmentView,
boolean forcePhoneStyleOmnibox,
@Nullable View baseChromeLayout,
- Supplier<Integer> keyboardHeightSupplier) {
+ Supplier<Integer> keyboardHeightSupplier,
+ @NonNull View containerView) {
mWindowAndroid = windowAndroid;
mAnchorView = anchorView;
+ mContainerView = containerView;
mAlignmentView = alignmentView;
mForcePhoneStyleOmnibox = forcePhoneStyleOmnibox;
mKeyboardHeightSupplier = keyboardHeightSupplier;
@@ -97,6 +101,16 @@ class OmniboxSuggestionsDropdownEmbedderImpl
@@ -97,6 +99,11 @@ class OmniboxSuggestionsDropdownEmbedderImpl
mOmniboxAlignmentSupplier.removeObserver(obs);
}
@@ -2364,24 +2324,42 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
+ public View getAnchorView() {
+ return mAnchorView;
+ }
+
+ @Override
+ public View getAnchorContainerView() {
+ return mContainerView;
+ }
+
@Nullable
@Override
public OmniboxAlignment getCurrentAlignment() {
@@ -243,6 +257,8 @@ class OmniboxSuggestionsDropdownEmbedderImpl
}
@@ -121,6 +128,9 @@ class OmniboxSuggestionsDropdownEmbedderImpl
int keyboardHeight = mKeyboardHeightSupplier.get();
@Override
public void onDetachedFromWindow() {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ recalculateOmniboxAlignment();
+ }
mAnchorView.removeOnLayoutChangeListener(this);
mAlignmentView.removeOnLayoutChangeListener(this);
mAnchorView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
@@ -211,6 +221,8 @@ class OmniboxSuggestionsDropdownEmbedderImpl
ViewUtils.getRelativeLayoutPosition(baseRelativeLayout, mAnchorView, mPositionArray);
int top = mPositionArray[1] + mAnchorView.getMeasuredHeight() - contentViewTopPadding;
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
+ keyboardHeight = 0;
+ top -= mPositionArray[1];
int left;
int width;
int paddingLeft;
@@ -277,6 +289,12 @@ class OmniboxSuggestionsDropdownEmbedderImpl
: contentView.getMeasuredHeight() - keyboardHeight;
int height = Math.min(windowSpace, contentSpace) - top;
int windowHeight;
if (BuildInfo.getInstance().isAutomotive
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ ViewCompat.setPaddingRelative(
+ contentView, 0, 0, 0, keyboardHeight);
+ top = 0;
+ }
+
// TODO(pnoland@, https://crbug.com/1416985): avoid pushing changes that are identical to
// the previous alignment value.
OmniboxAlignment omniboxAlignment =
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
@@ -2486,17 +2464,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
/** A widget for showing a list of omnibox suggestions. */
public class OmniboxSuggestionsDropdown extends RecyclerView {
/**
@@ -232,7 +235,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
*
* @param context Context used for contained views.
*/
- public OmniboxSuggestionsDropdown(@NonNull Context context, AttributeSet attrs) {
+ public OmniboxSuggestionsDropdown(@NonNull Context context, AttributeSet attrs,
+ @NonNull OmniboxSuggestionsDropdownEmbedder embedder) {
super(context, attrs, android.R.attr.dropDownListViewStyle);
setFocusable(true);
setFocusableInTouchMode(true);
@@ -242,7 +246,6 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
@@ -242,7 +245,6 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
setItemAnimator(null);
mLayoutScrollListener = new SuggestionLayoutScrollListener(context);
@@ -2504,7 +2472,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
mSelectionController = new RecyclerViewSelectionController(mLayoutScrollListener);
addOnChildAttachStateChangeListener(mSelectionController);
@@ -251,6 +254,20 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
@@ -251,6 +253,13 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_bottom);
int paddingTop =
resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_top);
@@ -2512,51 +2480,12 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
+ // reverse the layout so that the items are at the bottom (in reverse order)
+ // and anchored to the bottom edge
+ mLayoutScrollListener.setReverseLayout(true);
+
+ if (!embedder.isTablet()) {
+ ViewGroup.MarginLayoutParams embedderParams = (ViewGroup.MarginLayoutParams)
+ embedder.getAnchorContainerView().getLayoutParams();
+ paddingBottom = resources.getDimensionPixelOffset(R.dimen.toolbar_height_no_shadow) +
+ embedderParams.bottomMargin;
+ }
+ paddingTop = 0;
+ }
+ setLayoutManager(mLayoutScrollListener);
ViewCompat.setPaddingRelative(this, 0, paddingTop, 0, paddingBottom);
if (OmniboxFeatures.sAsyncViewInflation.isEnabled()) {
@@ -417,8 +434,16 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
try (TraceEvent tracing = TraceEvent.scoped("OmniboxSuggestionsList.Measure");
TimingMetric metric = OmniboxMetrics.recordSuggestionListMeasureTime();
TimingMetric metric2 = OmniboxMetrics.recordSuggestionListMeasureWallTime()) {
- maybeUpdateLayoutParams(mOmniboxAlignment.top);
- int availableViewportHeight = mOmniboxAlignment.height;
+ int top = mOmniboxAlignment.top;
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ top = 0;
+ }
+ maybeUpdateLayoutParams(top);
+ boolean useAlignmentSpecifiedHeight =
+ !ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled();
+ int availableViewportHeight = useAlignmentSpecifiedHeight
+ ? mOmniboxAlignment.height
+ : calculateAvailableViewportHeight() - top;
int desiredWidth = mOmniboxAlignment.width;
adjustHorizontalPosition();
notifyObserversIfViewportHeightChanged(availableViewportHeight);
@@ -438,6 +463,12 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
}
}
+ private int calculateAvailableViewportHeight() {
+ Rect mTempRect = new Rect();
+ mEmbedder.getWindowDelegate().getWindowVisibleDisplayFrame(mTempRect);
+ return mTempRect.height();
+ }
+
private void maybeUpdateLayoutParams(int topMargin) {
// Update the layout params to ensure the parent correctly positions the suggestions
// under the anchor view.
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdownEmbedder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdownEmbedder.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdownEmbedder.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdownEmbedder.java
@@ -2568,16 +2497,12 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -109,6 +110,13 @@ public interface OmniboxSuggestionsDropdownEmbedder {
@@ -109,6 +110,9 @@ public interface OmniboxSuggestionsDropdownEmbedder {
@NonNull
OmniboxAlignment getCurrentAlignment();
+ @NonNull
+ View getAnchorView();
+
+ /** Return the container view the suggestion list should be drawn in. */
+ @NonNull
+ View getAnchorContainerView();
+
/** Return whether the suggestions are being rendered in the tablet UI. */
boolean isTablet();
@@ -2722,7 +2647,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
+ && mIsBottomControlsVisible == false
+ && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ // always show the toolbar if the bottom controls are visible, so as not to leave the hole below.
+ mBrowserControlsSizer.getBrowserVisibilityDelegate().showControlsTransient();
+ mBottomControlsStacker.getBrowserControls().getBrowserVisibilityDelegate().showControlsTransient();
+ }
mIsBottomControlsVisible = visible;
updateCompositedViewVisibility();
@@ -46,14 +46,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../canvas2d/base_rendering_context_2d.cc | 25 ++-
third_party/blink/renderer/platform/BUILD.gn | 5 +-
.../platform/exported/web_runtime_features.cc | 13 ++
.../platform/graphics/image_data_buffer.cc | 7 +
.../platform/graphics/image_data_buffer.cc | 8 +
.../platform/graphics/static_bitmap_image.cc | 155 ++++++++++++++++++
.../platform/graphics/static_bitmap_image.h | 2 +
.../platform/runtime_enabled_features.json5 | 9 +
third_party/ungoogled/BUILD.gn | 10 ++
third_party/ungoogled/ungoogled_switches.cc | 18 ++
third_party/ungoogled/ungoogled_switches.h | 18 ++
27 files changed, 392 insertions(+), 8 deletions(-)
27 files changed, 393 insertions(+), 8 deletions(-)
create mode 100755 cromite_flags/chrome/browser/about_flags_cc/Multiple-fingerprinting-mitigations.inc
create mode 100644 third_party/ungoogled/BUILD.gn
create mode 100644 third_party/ungoogled/ungoogled_switches.cc
@@ -562,7 +562,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b/third_party/blink/renderer/platform/graphics/image_data_buffer.cc
--- a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc
+++ b/third_party/blink/renderer/platform/graphics/image_data_buffer.cc
@@ -36,6 +36,8 @@
@@ -36,8 +36,11 @@
#include "base/compiler_specific.h"
#include "base/memory/ptr_util.h"
@@ -570,8 +570,11 @@ diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b
+#include "base/logging.h"
#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
#include "third_party/blink/renderer/platform/image-encoders/image_encoder.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/wtf/text/base64.h"
@@ -145,6 +147,11 @@ bool ImageDataBuffer::EncodeImageInternal(const ImageEncodingMimeType mime_type,
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
@@ -145,6 +148,11 @@ bool ImageDataBuffer::EncodeImageInternal(const ImageEncodingMimeType mime_type,
const SkPixmap& pixmap) const {
DCHECK(is_valid_);
@@ -11,7 +11,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../web_package/signed_exchange_handler.h | 2 +
.../web_package/signed_exchange_loader.cc | 2 +-
net/http/transport_security_state.cc | 109 ++++++++++++------
net/http/transport_security_state.h | 38 +++---
net/http/transport_security_state.h | 39 ++++---
net/quic/crypto/proof_verifier_chromium.cc | 5 +-
net/quic/quic_chromium_client_session.cc | 2 +-
net/socket/ssl_client_socket_impl.cc | 5 +-
@@ -22,7 +22,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
services/network/network_context.cc | 31 +++--
services/network/network_context.h | 13 ++-
.../public/mojom/network_context.mojom | 9 +-
18 files changed, 172 insertions(+), 102 deletions(-)
18 files changed, 173 insertions(+), 102 deletions(-)
diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc
--- a/chrome/browser/ssl/https_upgrades_interceptor.cc
@@ -448,7 +448,15 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
diff --git a/net/http/transport_security_state.h b/net/http/transport_security_state.h
--- a/net/http/transport_security_state.h
+++ b/net/http/transport_security_state.h
@@ -297,13 +297,14 @@ class NET_EXPORT TransportSecurityState {
@@ -289,6 +289,7 @@ class NET_EXPORT TransportSecurityState {
// As ShouldUpgradeToSSL(), but also returns whether the decision came from
// static or dynamic state, for metrics.
SSLUpgradeDecision GetSSLUpgradeDecision(
+ const NetworkAnonymizationKey& nak,
const std::string& host,
const NetLogWithSource& net_log = NetLogWithSource());
@@ -297,13 +298,14 @@ class NET_EXPORT TransportSecurityState {
// primary public interface; direct access to STS and PKP states is best
// left to tests. The caller needs to handle the optional pinning override
// when is_issued_by_known_root is false.
@@ -467,7 +475,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
// Returns CT_REQUIREMENTS_NOT_MET if a connection violates CT policy
// requirements: that is, if a connection to |host|, using the validated
@@ -387,7 +388,7 @@ class NET_EXPORT TransportSecurityState {
@@ -387,7 +389,7 @@ class NET_EXPORT TransportSecurityState {
//
// If an entry is deleted, the new state will be persisted through
// the Delegate (if any).
@@ -476,7 +484,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
// Returns true and updates |*result| if |host| has dynamic or static
// HSTS/HPKP (respectively) state. If multiple entries match |host|, dynamic
@@ -397,8 +398,8 @@ class NET_EXPORT TransportSecurityState {
@@ -397,8 +399,8 @@ class NET_EXPORT TransportSecurityState {
//
// Note that these methods are not const because they opportunistically remove
// entries that have expired.
@@ -487,7 +495,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
// Returns true and updates |*result| iff |host| has static HSTS/HPKP
// (respectively) state. If multiple entries match |host|, the most specific
@@ -412,22 +413,24 @@ class NET_EXPORT TransportSecurityState {
@@ -412,22 +414,24 @@ class NET_EXPORT TransportSecurityState {
//
// Note that these methods are not const because they opportunistically remove
// entries that have expired.
@@ -517,7 +525,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
const base::Time& expiry,
bool include_subdomains,
const HashValueVector& hashes);
@@ -465,7 +468,7 @@ class NET_EXPORT TransportSecurityState {
@@ -465,7 +469,7 @@ class NET_EXPORT TransportSecurityState {
typedef std::map<HashedHost, STSState> STSStateMap;
typedef std::map<HashedHost, PKPState> PKPStateMap;
@@ -526,7 +534,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
// IsBuildTimely returns true if the current build is new enough ensure that
// built in security information (i.e. HSTS preloading and pinning
@@ -475,7 +478,8 @@ class NET_EXPORT TransportSecurityState {
@@ -475,7 +479,8 @@ class NET_EXPORT TransportSecurityState {
// Helper method for actually checking pins.
PKPStatus CheckPublicKeyPinsImpl(const HostPortPair& host_port_pair,
bool is_issued_by_known_root,
@@ -536,7 +544,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
// If a Delegate is present, notify it that the internal state has
// changed.
@@ -485,11 +489,13 @@ class NET_EXPORT TransportSecurityState {
@@ -485,11 +490,13 @@ class NET_EXPORT TransportSecurityState {
// any previous state for the |host|, including static entries.
//
// The new state for |host| is persisted using the Delegate (if any).
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/ui/BUILD.gn | 3 -
chrome/browser/ui/android/omnibox/BUILD.gn | 4 -
.../FullscreenSigninMediator.java | 12 +-
chrome/browser/ui/webauthn/sheet_models.cc | 8 +-
chrome/browser/ui/webauthn/sheet_models.cc | 9 +-
.../webui/chrome_web_ui_controller_factory.cc | 3 -
chrome/browser/webauthn/android/BUILD.gn | 1 -
.../CableAuthenticatorModuleProvider.java | 35 +-
@@ -108,7 +108,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../preconditions/javatests/BUILD.gn | 1 -
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
third_party/cardboard/BUILD.gn | 4 -
84 files changed, 116 insertions(+), 2227 deletions(-)
84 files changed, 116 insertions(+), 2228 deletions(-)
create mode 100644 components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
@@ -1173,8 +1173,11 @@ diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/brows
diff --git a/chrome/browser/ui/webauthn/sheet_models.cc b/chrome/browser/ui/webauthn/sheet_models.cc
--- a/chrome/browser/ui/webauthn/sheet_models.cc
+++ b/chrome/browser/ui/webauthn/sheet_models.cc
@@ -1608,13 +1608,7 @@ bool AuthenticatorMultiSourcePickerSheetModel::IsManageDevicesButtonVisible()
using Mechanism = AuthenticatorRequestDialogModel::Mechanism;
@@ -1605,16 +1605,9 @@ AuthenticatorMultiSourcePickerSheetModel::
bool AuthenticatorMultiSourcePickerSheetModel::IsManageDevicesButtonVisible()
const {
- using Mechanism = AuthenticatorRequestDialogModel::Mechanism;
// If any phones or passkeys from a phone are shown then also show a button
// that goes to the settings page to manage them.
- return base::ranges::any_of(
@@ -6,16 +6,17 @@ restore https://chromium-review.googlesource.com/c/chromium/src/+/5554182
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../chromium/chrome/browser/bookmarks/BookmarkToolbar.java | 6 ++++++
.../chrome/browser/bookmarks/BookmarkToolbarMediator.java | 1 +
.../chrome/browser/bookmarks/BookmarkToolbarProperties.java | 1 +
.../chrome/browser/bookmarks/BookmarkToolbarViewBinder.java | 2 ++
4 files changed, 10 insertions(+)
.../chrome/browser/bookmarks/BookmarkToolbar.java | 12 ++++++++++++
.../bookmarks/BookmarkToolbarCoordinator.java | 1 +
.../browser/bookmarks/BookmarkToolbarMediator.java | 1 +
.../browser/bookmarks/BookmarkToolbarProperties.java | 8 ++++++++
.../browser/bookmarks/BookmarkToolbarViewBinder.java | 4 ++++
5 files changed, 26 insertions(+)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
@@ -10,6 +10,7 @@ import android.view.MenuItem;
@@ -10,11 +10,13 @@ import android.view.MenuItem;
import android.view.View.OnClickListener;
import androidx.annotation.IdRes;
@@ -23,7 +24,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import androidx.appcompat.widget.Toolbar.OnMenuItemClickListener;
import androidx.core.view.MenuCompat;
@@ -33,6 +34,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
import org.chromium.chrome.R;
import org.chromium.chrome.browser.bookmarks.BookmarkUiState.BookmarkUiMode;
+import org.chromium.components.bookmarks.BookmarkItem;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.browser_ui.util.ToolbarUtils;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar;
@@ -30,9 +32,11 @@ import java.util.function.Function;
*/
public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
implements OnMenuItemClickListener, OnClickListener {
+ private BookmarkModel mBookmarkModel;
private BookmarkOpener mBookmarkOpener;
private SelectionDelegate<BookmarkId> mSelectionDelegate;
@@ -31,7 +42,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private boolean mEditButtonVisible;
private boolean mNewFolderButtonVisible;
private boolean mNewFolderButtonEnabled;
@@ -167,6 +169,10 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -60,6 +64,10 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
setOnMenuItemClickListener(this);
}
+ void setBookmarkModel(BookmarkModel bookmarkModel) {
+ mBookmarkModel = bookmarkModel;
+ }
+
void setBookmarkOpener(BookmarkOpener bookmarkOpener) {
mBookmarkOpener = bookmarkOpener;
}
@@ -167,6 +175,10 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
getMenu().findItem(id).setChecked(true);
}
@@ -42,6 +64,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
void setNavigateBackRunnable(Runnable navigateBackRunnable) {
mNavigateBackRunnable = navigateBackRunnable;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java
@@ -55,6 +55,7 @@ public class BookmarkToolbarCoordinator {
searchDelegate, R.string.bookmark_toolbar_search, R.id.search_menu_id);
mModel = new PropertyModel.Builder(BookmarkToolbarProperties.ALL_KEYS).build();
+ mModel.set(BookmarkToolbarProperties.BOOKMARK_MODEL, bookmarkModel);
mModel.set(BookmarkToolbarProperties.BOOKMARK_OPENER, bookmarkOpener);
mModel.set(BookmarkToolbarProperties.SELECTION_DELEGATE, selectionDelegate);
mModel.set(BookmarkToolbarProperties.BOOKMARK_UI_MODE, BookmarkUiMode.LOADING);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
@@ -56,7 +89,35 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
@@ -88,6 +88,7 @@ class BookmarkToolbarProperties {
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.bookmarks;
+import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.ui.modelutil.PropertyKey;
import org.chromium.ui.modelutil.PropertyModel.WritableBooleanPropertyKey;
@@ -19,6 +20,8 @@ import java.util.function.Function;
*/
class BookmarkToolbarProperties {
/** Dependencies */
+ static final WritableObjectPropertyKey<BookmarkModel> BOOKMARK_MODEL =
+ new WritableObjectPropertyKey<>();
static final WritableObjectPropertyKey<BookmarkOpener> BOOKMARK_OPENER =
new WritableObjectPropertyKey<>();
@@ -68,6 +71,10 @@ class BookmarkToolbarProperties {
static final WritableObjectPropertyKey<Boolean> FAKE_SELECTION_STATE_CHANGE =
new WritableObjectPropertyKey<>(/* skipEquality= */ true);
+ /** Bookmark state properties. */
+ static final WritableObjectPropertyKey<BookmarkId> CURRENT_FOLDER =
+ new WritableObjectPropertyKey<>(/* skipEquality= */ true);
+
/** Callables to delegate business logic back to the mediator */
static final WritableObjectPropertyKey<Function<Integer, Boolean>> MENU_ID_CLICKED_FUNCTION =
new WritableObjectPropertyKey<>();
@@ -88,6 +95,7 @@ class BookmarkToolbarProperties {
NEW_FOLDER_BUTTON_VISIBLE,
NEW_FOLDER_BUTTON_ENABLED,
NAVIGATION_BUTTON_STATE,
@@ -67,7 +128,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
@@ -52,6 +52,8 @@ class BookmarkToolbarViewBinder {
@@ -13,6 +13,8 @@ class BookmarkToolbarViewBinder {
public static void bind(PropertyModel model, BookmarkToolbar bookmarkToolbar, PropertyKey key) {
if (key == BookmarkToolbarProperties.BOOKMARK_OPENER) {
bookmarkToolbar.setBookmarkOpener(model.get(BookmarkToolbarProperties.BOOKMARK_OPENER));
+ } else if (key == BookmarkToolbarProperties.BOOKMARK_MODEL) {
+ bookmarkToolbar.setBookmarkModel(model.get(BookmarkToolbarProperties.BOOKMARK_MODEL));
} else if (key == BookmarkToolbarProperties.SELECTION_DELEGATE) {
bookmarkToolbar.setSelectionDelegate(
model.get(BookmarkToolbarProperties.SELECTION_DELEGATE));
@@ -52,6 +54,8 @@ class BookmarkToolbarViewBinder {
} else if (key == BookmarkToolbarProperties.CHECKED_VIEW_MENU_ID) {
bookmarkToolbar.setCheckedViewMenuId(
model.get(BookmarkToolbarProperties.CHECKED_VIEW_MENU_ID));
@@ -372,7 +372,7 @@ new file mode 100644
+ private:
+ explicit LastTabStandingTrackerTabHelper(content::WebContents* webContents);
+ friend class content::WebContentsUserData<LastTabStandingTrackerTabHelper>;
+ absl::optional<url::Origin> last_committed_origin_;
+ std::optional<url::Origin> last_committed_origin_;
+
+ WEB_CONTENTS_USER_DATA_KEY_DECL();
+};
+417 -17
View File
@@ -6,24 +6,34 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/chrome_java_resources.gni | 1 +
chrome/android/chrome_java_sources.gni | 1 +
.../java/res/layout/new_tab_page_layout.xml | 7 ++
.../android/java/res/layout/ntp_shortcuts.xml | 65 +++++++++++++++++++
.../feedback/ChromeFeedbackCollector.java | 1 +
.../feedback/SimplifiedNtpFeedbackSource.java | 38 +++++++++++
.../identity_disc/IdentityDiscController.java | 5 +-
.../NativePageNavigationDelegateImpl.java | 4 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 21 ++++++
.../SuggestionsNavigationDelegate.java | 17 +++++
.../flags/android/chrome_feature_list.cc | 1 +
.../browser/flags/ChromeFeatureList.java | 3 +-
.../Restore-Simplified-NTP-launch.inc | 12 ++++
.../Restore-Simplified-NTP-launch.inc | 5 ++
.../Restore-Simplified-NTP-launch.inc | 1 +
15 files changed, 178 insertions(+), 4 deletions(-)
chrome/android/chrome_java_resources.gni | 1 +
chrome/android/chrome_java_sources.gni | 2 +
.../java/res/layout/mv_tiles_layout.xml | 13 +-
.../java/res/layout/new_tab_page_layout.xml | 7 +
.../android/java/res/layout/ntp_shortcuts.xml | 65 ++++++
chrome/android/java/res/values/attrs.xml | 4 +
chrome/android/java/res/values/dimens.xml | 2 +
.../feedback/ChromeFeedbackCollector.java | 1 +
.../feedback/SimplifiedNtpFeedbackSource.java | 38 ++++
.../identity_disc/IdentityDiscController.java | 5 +-
.../NativePageNavigationDelegateImpl.java | 4 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 25 ++-
.../SuggestionsNavigationDelegate.java | 17 ++
.../mostvisited/MostVisitedSitesBridge.java | 2 +-
.../tile/MostVisitedTilesCoordinator.java | 10 +-
.../tile/MostVisitedTilesGridLayout.java | 194 ++++++++++++++++++
.../tile/MostVisitedTilesMediator.java | 9 +-
.../engagement/important_sites_util.cc | 2 +-
.../flags/android/chrome_feature_list.cc | 1 +
.../browser/flags/ChromeFeatureList.java | 5 +-
.../history/core/browser/top_sites_impl.h | 2 +-
.../Restore-Simplified-NTP-launch.inc | 12 ++
.../Restore-Simplified-NTP-launch.inc | 6 +
.../Restore-Simplified-NTP-launch.inc | 1 +
24 files changed, 397 insertions(+), 31 deletions(-)
create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Restore-Simplified-NTP-launch.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-Simplified-NTP-launch.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Restore-Simplified-NTP-launch.inc
@@ -50,6 +60,36 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java",
"java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java",
"java/src/org/chromium/chrome/browser/findinpage/FindToolbarObserver.java",
@@ -1058,6 +1059,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesMetadataUtils.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesLayout.java",
+ "java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesProperties.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesViewBinder.java",
diff --git a/chrome/android/java/res/layout/mv_tiles_layout.xml b/chrome/android/java/res/layout/mv_tiles_layout.xml
--- a/chrome/android/java/res/layout/mv_tiles_layout.xml
+++ b/chrome/android/java/res/layout/mv_tiles_layout.xml
@@ -5,14 +5,9 @@ Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
-<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+<org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesGridLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/mv_tiles_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:scrollbars="none">
-
- <org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesLayout
- android:id="@+id/mv_tiles_layout"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:orientation="horizontal" />
-</HorizontalScrollView>
+ android:layout_gravity="center_horizontal" />
diff --git a/chrome/android/java/res/layout/new_tab_page_layout.xml b/chrome/android/java/res/layout/new_tab_page_layout.xml
--- a/chrome/android/java/res/layout/new_tab_page_layout.xml
+++ b/chrome/android/java/res/layout/new_tab_page_layout.xml
@@ -137,6 +177,32 @@ new file mode 100644
+ app:chromeDrawableTint="@color/default_icon_color_light" />
+ </FrameLayout>
+</LinearLayout>
diff --git a/chrome/android/java/res/values/attrs.xml b/chrome/android/java/res/values/attrs.xml
--- a/chrome/android/java/res/values/attrs.xml
+++ b/chrome/android/java/res/values/attrs.xml
@@ -15,6 +15,10 @@ found in the LICENSE file.
<attr name="emptyErrorMessage" format="string" />
</declare-styleable>
+ <declare-styleable name="MostVisitedTilesGridLayout">
+ <attr name="minHorizontalSpacing" format="dimension"/>
+ </declare-styleable>
+
<declare-styleable name="ExploreSitesTileView">
<attr name="iconCornerRadius" format="dimension"/>
</declare-styleable>
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
--- a/chrome/android/java/res/values/dimens.xml
+++ b/chrome/android/java/res/values/dimens.xml
@@ -129,6 +129,8 @@ found in the LICENSE file.
<dimen name="find_in_page_popup_margin_end">62dp</dimen>
<!-- NTP dimensions -->
+ <dimen name="tile_grid_layout_vertical_spacing">6dp</dimen>
+ <dimen name="tile_grid_layout_min_horizontal_spacing">4dp</dimen>
<dimen name="tile_layout_no_logo_top_margin">20dp</dimen>
<dimen name="mvt_container_lateral_margin">@dimen/signin_promo_lateral_paddings</dimen>
<dimen name="mvt_container_top_padding">17dp</dimen>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
@@ -250,6 +316,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
/**
* Whether the tiles shown in the layout have finished loading.
* With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress.
@@ -104,7 +108,7 @@ public class NewTabPageLayout extends LinearLayout {
*/
private boolean mHasShownView;
- private boolean mSearchProviderHasLogo = true;
+ private boolean mSearchProviderHasLogo = false;
private boolean mSearchProviderIsGoogle;
private boolean mShowingNonStandardGoogleLogo;
@@ -278,6 +282,7 @@ public class NewTabPageLayout extends LinearLayout {
initializeMostVisitedTilesCoordinator(
mProfile, lifecycleDispatcher, tileGroupDelegate, touchEnabledDelegate);
@@ -258,6 +333,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
initializeSearchBoxTextView();
initializeVoiceSearchButton();
initializeLensButton();
@@ -645,7 +650,7 @@ public class NewTabPageLayout extends LinearLayout {
&& mInitialized) {
return;
}
- mSearchProviderHasLogo = hasLogo;
+ mSearchProviderHasLogo = false;
mSearchProviderIsGoogle = isGoogle;
boolean isSearchProviderMarginUpdated =
@@ -1017,6 +1022,22 @@ public class NewTabPageLayout extends LinearLayout {
return mMostVisitedTilesCoordinator;
}
@@ -315,6 +399,300 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
/**
* Opens the suggestions page without recording metrics.
*
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
@@ -21,7 +21,7 @@ public class MostVisitedSitesBridge implements MostVisitedSites {
* Maximum number of tiles that is explicitly supported. UMA relies on this value, so even if
* the UI supports it, getting more can raise unexpected issues.
*/
- public static final int MAX_TILE_COUNT = 12;
+ public static final int MAX_TILE_COUNT = 12 * 2;
private long mNativeMostVisitedSitesBridge;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java
@@ -38,7 +38,7 @@ public class MostVisitedTilesCoordinator implements ConfigurationChangedObserver
private final MostVisitedTilesMediator mMediator;
private final WindowAndroid mWindowAndroid;
private final UiConfig mUiConfig;
- private final PropertyModelChangeProcessor mModelChangeProcessor;
+ private PropertyModelChangeProcessor mModelChangeProcessor;
private TileRenderer mRenderer;
private ContextMenuManager mContextMenuManager;
private OfflinePageBridge mOfflinePageBridge;
@@ -66,17 +66,11 @@ public class MostVisitedTilesCoordinator implements ConfigurationChangedObserver
mWindowAndroid = windowAndroid;
((ViewStub) mvTilesContainerLayout.findViewById(R.id.mv_tiles_layout_stub)).inflate();
- MostVisitedTilesLayout tilesLayout =
+ MostVisitedTilesGridLayout tilesLayout =
mvTilesContainerLayout.findViewById(R.id.mv_tiles_layout);
mUiConfig = new UiConfig(tilesLayout);
PropertyModel propertyModel = new PropertyModel(MostVisitedTilesProperties.ALL_KEYS);
- mModelChangeProcessor =
- PropertyModelChangeProcessor.create(
- propertyModel,
- new MostVisitedTilesViewBinder.ViewHolder(
- mvTilesContainerLayout, tilesLayout),
- MostVisitedTilesViewBinder::bind);
mRenderer =
new TileRenderer(
mActivity, SuggestionsConfig.getTileStyle(mUiConfig), TITLE_LINES, null);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java
@@ -0,0 +1,194 @@
+// Copyright 2015 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.suggestions.tile;
+
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.content.res.TypedArray;
+import android.util.AttributeSet;
+import android.util.Pair;
+import android.view.View;
+import android.widget.FrameLayout;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+
+import org.chromium.base.MathUtils;
+import org.chromium.base.library_loader.LibraryLoader;
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.ntp.FeedPositionUtils;
+import org.chromium.chrome.browser.suggestions.SiteSuggestion;
+import org.chromium.ui.base.DeviceFormFactor;
+
+/** A layout that arranges tiles in a grid. */
+public class MostVisitedTilesGridLayout extends FrameLayout {
+ private final int mMinHorizontalSpacing;
+ private final int mMaxHorizontalSpacing;
+ private final int mMaxWidth;
+
+ private int mVerticalSpacing;
+ private int mMaxRows = 4;
+ private int mMaxColumns = 4;
+
+ /**
+ * Constructor for inflating from XML.
+ *
+ * @param context The view context in which this item will be shown.
+ * @param attrs The attributes of the XML tag that is inflating the view.
+ */
+ public MostVisitedTilesGridLayout(Context context, AttributeSet attrs) {
+ super(context, attrs);
+
+ Resources res = getResources();
+ mVerticalSpacing =
+ getResources().getDimensionPixelOffset(getGridMVTVerticalSpacingResourcesId());
+ TypedArray styledAttrs =
+ context.obtainStyledAttributes(attrs, R.styleable.MostVisitedTilesGridLayout);
+ mMinHorizontalSpacing =
+ styledAttrs.getDimensionPixelOffset(
+ R.styleable.MostVisitedTilesGridLayout_minHorizontalSpacing,
+ res.getDimensionPixelOffset(
+ R.dimen.tile_grid_layout_min_horizontal_spacing));
+ styledAttrs.recycle();
+ mMaxHorizontalSpacing = Integer.MAX_VALUE;
+ mMaxWidth = Integer.MAX_VALUE;
+ }
+
+ /** Sets the maximum number of rows to display. Any items that don't fit will be hidden. */
+ public void setMaxRows(int rows) {
+ mMaxRows = rows;
+ }
+
+ /** Sets the maximum number of columns to display. Any items that don't fit will be hidden. */
+ public void setMaxColumns(int columns) {
+ mMaxColumns = columns;
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ int totalWidth = Math.min(MeasureSpec.getSize(widthMeasureSpec), mMaxWidth);
+ int childCount = getChildCount();
+ if (childCount == 0) {
+ setMeasuredDimension(totalWidth, resolveSize(0, heightMeasureSpec));
+ return;
+ }
+
+ // Measure the children. We don't use the ViewGroup.measureChildren() method here because
+ // it only measures visible children. In a situation where a child is invisible before
+ // this measurement and we decide to show it after the measurement, it will not have its
+ // dimensions and will not be displayed.
+ for (int i = 0; i < childCount; i++) {
+ measureChild(getChildAt(i), MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
+ }
+
+ // Determine the number of columns that will fit.
+ int childHeight = getChildAt(0).getMeasuredHeight();
+ int childWidth = getChildAt(0).getMeasuredWidth();
+ int numColumns =
+ MathUtils.clamp(
+ (totalWidth + mMinHorizontalSpacing) / (childWidth + mMinHorizontalSpacing),
+ 1,
+ mMaxColumns);
+
+ // Determine how much padding to use between and around the tiles.
+ int gridWidthMinusColumns = Math.max(0, totalWidth - numColumns * childWidth);
+ Pair<Integer, Integer> gridProperties =
+ computeHorizontalDimensions(gridWidthMinusColumns, numColumns);
+ int gridStart = gridProperties.first;
+ int horizontalSpacing = gridProperties.second;
+
+ // Limit the number of rows to mMaxRows.
+ int visibleChildCount = Math.min(childCount, mMaxRows * numColumns);
+
+ // Arrange the visible children in a grid.
+ int numRows = (visibleChildCount + numColumns - 1) / numColumns;
+ int paddingTop = getPaddingTop();
+ boolean isRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
+
+ for (int i = 0; i < visibleChildCount; i++) {
+ View child = getChildAt(i);
+ child.setVisibility(View.VISIBLE);
+ int row = i / numColumns;
+ int column = i % numColumns;
+ int childTop = row * (childHeight + mVerticalSpacing);
+ int childStart = gridStart + (column * (childWidth + horizontalSpacing));
+ MarginLayoutParams layoutParams = (MarginLayoutParams) child.getLayoutParams();
+ layoutParams.setMargins(isRtl ? 0 : childStart, childTop, isRtl ? childStart : 0, 0);
+ child.setLayoutParams(layoutParams);
+ }
+
+ // Hide any extra children in case there are more than needed for the maximum number of
+ // rows.
+ for (int i = visibleChildCount; i < childCount; i++) {
+ getChildAt(i).setVisibility(View.GONE);
+ }
+
+ int totalHeight =
+ paddingTop
+ + getPaddingBottom()
+ + numRows * childHeight
+ + (numRows - 1) * mVerticalSpacing;
+
+ setMeasuredDimension(totalWidth, resolveSize(totalHeight, heightMeasureSpec));
+ }
+
+ /**
+ * @param availableWidth The space available to spread between and around the tiles.
+ * @param numColumns The number of columns to be organised.
+ * @return The [gridStart, horizontalSpacing] pair of dimensions.
+ */
+ @VisibleForTesting
+ Pair<Integer, Integer> computeHorizontalDimensions(int availableWidth, int numColumns) {
+ int gridStart;
+ float horizontalSpacing;
+
+ // Identically sized spacers are added both between and around the tiles.
+ int spacerCount = numColumns + 1;
+ horizontalSpacing = (float) availableWidth / spacerCount;
+ gridStart = Math.round(horizontalSpacing);
+
+ if (horizontalSpacing < mMinHorizontalSpacing
+ || horizontalSpacing > mMaxHorizontalSpacing) {
+ // Ensure column spacing isn't greater than mMaxHorizontalSpacing.
+ long gridSidePadding = availableWidth - (long) mMaxHorizontalSpacing * (numColumns - 1);
+ if (gridSidePadding > 0) {
+ horizontalSpacing = mMaxHorizontalSpacing;
+ gridStart = (int) (gridSidePadding / 2);
+ } else {
+ horizontalSpacing = (float) availableWidth / Math.max(1, numColumns - 1);
+ gridStart = 0;
+ }
+ }
+ int screenWidth = getResources().getDisplayMetrics().widthPixels;
+ int screenHeight = getResources().getDisplayMetrics().heightPixels;
+ String logMessage =
+ "|horizontalSpacing| = "
+ + horizontalSpacing
+ + " |numColumns| = "
+ + numColumns
+ + " |availableWidth| = "
+ + availableWidth
+ + " |screenWidth| = "
+ + screenWidth
+ + " |screenHeight| = "
+ + screenHeight
+ + ".";
+ assert horizontalSpacing >= mMinHorizontalSpacing
+ : "Horizontal spacing shouldn't be smaller than minimal horizontal spacing: "
+ + logMessage;
+ assert horizontalSpacing <= mMaxHorizontalSpacing
+ : "Horizontal spacing shouldn't be larger than maximal horizontal spacing: "
+ + logMessage;
+
+ return Pair.create(gridStart, Math.round(horizontalSpacing));
+ }
+
+ // TODO(crbug.com/40226731): Remove this method when the Feed position experiment is cleaned up.
+ private int getGridMVTVerticalSpacingResourcesId() {
+ return R.dimen.tile_grid_layout_vertical_spacing;
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
@@ -12,6 +12,7 @@ import static org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesPrope
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.view.ViewGroup;
import android.view.ViewStub;
import androidx.annotation.Nullable;
@@ -37,7 +38,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
private final Resources mResources;
private final UiConfig mUiConfig;
- private final MostVisitedTilesLayout mMvTilesLayout;
+ private final ViewGroup mMvTilesLayout;
private final ViewStub mNoMvPlaceholderStub;
private final PropertyModel mModel;
private final boolean mIsTablet;
@@ -59,7 +60,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
public MostVisitedTilesMediator(
Resources resources,
UiConfig uiConfig,
- MostVisitedTilesLayout mvTilesLayout,
+ ViewGroup mvTilesLayout,
ViewStub noMvPlaceholderStub,
TileRenderer renderer,
PropertyModel propertyModel,
@@ -166,8 +167,8 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
}
public void destroy() {
- if (mMvTilesLayout != null) {
- mMvTilesLayout.destroy();
+ if (mMvTilesLayout instanceof MostVisitedTilesLayout) {
+ ((MostVisitedTilesLayout)mMvTilesLayout).destroy();
}
if (mTileGroup != null) {
diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
--- a/chrome/browser/engagement/important_sites_util.cc
+++ b/chrome/browser/engagement/important_sites_util.cc
@@ -66,7 +66,7 @@ static const int kTimesIgnoredForSuppression = 3;
// These are the maximum # of bookmarks we can use as signals. If the user has
// <= kMaxBookmarks, then we just use those bookmarks. Otherwise we filter all
// bookmarks on site engagement > 0, sort, and trim to kMaxBookmarks.
-static const int kMaxBookmarks = 5;
+static const int kMaxBookmarks = 4 * 4 + 2;
// We need this to be a macro, as the histogram macros cache their pointers
// after the first call, so when we change the uma name we check fail if we're
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
@@ -337,6 +715,15 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
public static final String MIGRATE_ACCOUNT_MANAGEMENT_SETTINGS_TO_CAPABILITIES =
"MigrateAccountManagementSettingsToCapabilities";
@@ -625,7 +626,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sIncognitoReauthenticationForAndroid =
newCachedFlag(INCOGNITO_REAUTHENTICATION_FOR_ANDROID, true);
public static final CachedFlag sLogoPolish = newCachedFlag(LOGO_POLISH, false);
- public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, true);
+ public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, false);
public static final CachedFlag sMultiInstanceApplicationStatusCleanup =
newCachedFlag(MUlTI_INSTANCE_APPLICATION_STATUS_CLEANUP, false);
public static final CachedFlag sNavBarColorMatchesTabBackground =
@@ -658,7 +659,7 @@ public abstract class ChromeFeatureList {
newCachedFlag(START_SURFACE_RETURN_TIME, true);
public static final CachedFlag sStopAppIndexingReport =
@@ -346,6 +733,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sSurfacePolishForToolbarKillSwitch =
newCachedFlag(SURFACE_POLISH_FOR_TOOLBAR_KILL_SWITCH, true);
public static final CachedFlag sTabDragDropAsWindowAndroid =
diff --git a/components/history/core/browser/top_sites_impl.h b/components/history/core/browser/top_sites_impl.h
--- a/components/history/core/browser/top_sites_impl.h
+++ b/components/history/core/browser/top_sites_impl.h
@@ -40,7 +40,7 @@ class TopSitesImplTest;
struct SitesAndQueriesRequest;
// How many top sites to store in the cache.
-static constexpr size_t kTopSitesNumber = 10;
+static constexpr size_t kTopSitesNumber = 4 * 4 + 2;
// This class allows requests for most visited urls on any thread. All other
// methods must be invoked on the UI thread. All mutations to internal state
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Restore-Simplified-NTP-launch.inc b/cromite_flags/chrome/browser/about_flags_cc/Restore-Simplified-NTP-launch.inc
new file mode 100644
--- /dev/null
@@ -367,12 +766,13 @@ diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/R
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-Simplified-NTP-launch.inc
@@ -0,0 +1,5 @@
@@ -0,0 +1,6 @@
+CROMITE_FEATURE(kSimplifiedNTP,
+ "SimplifiedNTP",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+SET_CROMITE_FEATURE_DISABLED(kSurfacePolish);
+SET_CROMITE_FEATURE_DISABLED(kMagicStackAndroid);
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Restore-Simplified-NTP-launch.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Restore-Simplified-NTP-launch.inc
new file mode 100644
--- /dev/null
@@ -28,8 +28,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
...ed_service_worker_module_script_fetcher.cc | 1 +
.../modulescript/module_script_loader_test.cc | 1 +
.../worker_module_script_fetcher.cc | 3 +-
.../renderer/core/workers/dedicated_worker.cc | 11 ++++--
.../renderer/core/workers/dedicated_worker.h | 4 ++-
.../renderer/core/workers/dedicated_worker.cc | 14 ++++++--
.../renderer/core/workers/dedicated_worker.h | 5 ++-
.../workers/dedicated_worker_global_scope.cc | 9 ++++-
.../workers/dedicated_worker_global_scope.h | 1 +
.../workers/global_scope_creation_params.cc | 2 ++
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../audio_worklet_global_scope_test.cc | 1 +
.../webaudio/audio_worklet_thread_test.cc | 1 +
.../worklet/worklet_thread_test_common.cc | 2 +-
36 files changed, 187 insertions(+), 18 deletions(-)
36 files changed, 191 insertions(+), 18 deletions(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/Revert-removal-of-execution-context-address-space.inc
diff --git a/cromite_flags/content/public/common/content_features_cc/Revert-removal-of-execution-context-address-space.inc b/cromite_flags/content/public/common/content_features_cc/Revert-removal-of-execution-context-address-space.inc
@@ -300,7 +300,31 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third
const String& source_code,
RejectCoepUnsafeNone reject_coep_unsafe_none,
mojo::PendingRemote<mojom::blink::BackForwardCacheControllerHost>
@@ -495,7 +499,8 @@ void DedicatedWorker::ContinueStartInternal(
@@ -465,6 +469,7 @@ void DedicatedWorker::ContinueStart(
std::move(worker_main_script_load_params),
std::move(referrer_policy),
std::move(response_content_security_policies),
+ response_address_space,
source_code, reject_coep_unsafe_none,
std::move(back_forward_cache_controller_host)),
base::Milliseconds(features::kDedicatedWorkerStartDelayInMs.Get()));
@@ -473,6 +478,7 @@ void DedicatedWorker::ContinueStart(
ContinueStartInternal(script_url, std::move(worker_main_script_load_params),
std::move(referrer_policy),
std::move(response_content_security_policies),
+ response_address_space,
source_code, reject_coep_unsafe_none,
std::move(back_forward_cache_controller_host));
}
@@ -484,6 +490,7 @@ void DedicatedWorker::ContinueStartInternal(
network::mojom::ReferrerPolicy referrer_policy,
Vector<network::mojom::blink::ContentSecurityPolicyPtr>
response_content_security_policies,
+ std::optional<network::mojom::IPAddressSpace> response_address_space,
const String& source_code,
RejectCoepUnsafeNone reject_coep_unsafe_none,
mojo::PendingRemote<mojom::blink::BackForwardCacheControllerHost>
@@ -495,7 +502,8 @@ void DedicatedWorker::ContinueStartInternal(
context_proxy_->StartWorkerGlobalScope(
CreateGlobalScopeCreationParams(
script_url, referrer_policy,
@@ -310,7 +334,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third
std::move(worker_main_script_load_params), options_, script_url,
*outside_fetch_client_settings_object_, v8_stack_trace_id_, source_code,
reject_coep_unsafe_none, token_,
@@ -532,7 +537,8 @@ DedicatedWorker::CreateGlobalScopeCreationParams(
@@ -532,7 +540,8 @@ DedicatedWorker::CreateGlobalScopeCreationParams(
const KURL& script_url,
network::mojom::ReferrerPolicy referrer_policy,
Vector<network::mojom::blink::ContentSecurityPolicyPtr>
@@ -320,7 +344,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third
base::UnguessableToken parent_devtools_token;
std::unique_ptr<WorkerSettings> settings;
ExecutionContext* execution_context = GetExecutionContext();
@@ -581,6 +587,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams(
@@ -581,6 +590,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams(
execution_context->GetSecurityOrigin(),
execution_context->IsSecureContext(), execution_context->GetHttpsState(),
MakeGarbageCollected<WorkerClients>(), CreateWebContentSettingsClient(),
@@ -339,7 +363,15 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.h b/third_
const String& source_code,
RejectCoepUnsafeNone reject_coep_unsafe_none,
mojo::PendingRemote<mojom::blink::BackForwardCacheControllerHost>
@@ -156,7 +157,8 @@ class CORE_EXPORT DedicatedWorker final
@@ -148,6 +149,7 @@ class CORE_EXPORT DedicatedWorker final
network::mojom::ReferrerPolicy,
Vector<network::mojom::blink::ContentSecurityPolicyPtr>
response_content_security_policies,
+ std::optional<network::mojom::IPAddressSpace> response_address_space,
const String& source_code,
RejectCoepUnsafeNone reject_coep_unsafe_none,
mojo::PendingRemote<mojom::blink::BackForwardCacheControllerHost>
@@ -156,7 +158,8 @@ class CORE_EXPORT DedicatedWorker final
const KURL& script_url,
network::mojom::ReferrerPolicy,
Vector<network::mojom::blink::ContentSecurityPolicyPtr>
@@ -1,70 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 21 Feb 2018 00:32:09 +0100
Subject: Use 4 tile rows, never show logo
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java | 4 ++--
.../suggestions/mostvisited/MostVisitedSitesBridge.java | 2 +-
chrome/browser/engagement/important_sites_util.cc | 2 +-
components/history/core/browser/top_sites_impl.h | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
@@ -104,7 +104,7 @@ public class NewTabPageLayout extends LinearLayout {
*/
private boolean mHasShownView;
- private boolean mSearchProviderHasLogo = true;
+ private boolean mSearchProviderHasLogo = false;
private boolean mSearchProviderIsGoogle;
private boolean mShowingNonStandardGoogleLogo;
@@ -645,7 +645,7 @@ public class NewTabPageLayout extends LinearLayout {
&& mInitialized) {
return;
}
- mSearchProviderHasLogo = hasLogo;
+ mSearchProviderHasLogo = false;
mSearchProviderIsGoogle = isGoogle;
boolean isSearchProviderMarginUpdated =
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
@@ -21,7 +21,7 @@ public class MostVisitedSitesBridge implements MostVisitedSites {
* Maximum number of tiles that is explicitly supported. UMA relies on this value, so even if
* the UI supports it, getting more can raise unexpected issues.
*/
- public static final int MAX_TILE_COUNT = 12;
+ public static final int MAX_TILE_COUNT = 12 * 2;
private long mNativeMostVisitedSitesBridge;
diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
--- a/chrome/browser/engagement/important_sites_util.cc
+++ b/chrome/browser/engagement/important_sites_util.cc
@@ -66,7 +66,7 @@ static const int kTimesIgnoredForSuppression = 3;
// These are the maximum # of bookmarks we can use as signals. If the user has
// <= kMaxBookmarks, then we just use those bookmarks. Otherwise we filter all
// bookmarks on site engagement > 0, sort, and trim to kMaxBookmarks.
-static const int kMaxBookmarks = 5;
+static const int kMaxBookmarks = 4 * 4 + 2;
// We need this to be a macro, as the histogram macros cache their pointers
// after the first call, so when we change the uma name we check fail if we're
diff --git a/components/history/core/browser/top_sites_impl.h b/components/history/core/browser/top_sites_impl.h
--- a/components/history/core/browser/top_sites_impl.h
+++ b/components/history/core/browser/top_sites_impl.h
@@ -40,7 +40,7 @@ class TopSitesImplTest;
struct SitesAndQueriesRequest;
// How many top sites to store in the cache.
-static constexpr size_t kTopSitesNumber = 10;
+static constexpr size_t kTopSitesNumber = 4 * 4 + 2;
// This class allows requests for most visited urls on any thread. All other
// methods must be invoked on the UI thread. All mutations to internal state
--
+3 -4
View File
@@ -22,7 +22,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../commerce/core/commerce_feature_list.cc | 65 ++-------
.../core/browser/browser_policy_connector.cc | 3 +
.../common/command_line_policy_provider.cc | 3 +
.../core/common/policy_loader_command_line.cc | 133 +++++++++++++++---
.../core/common/policy_loader_command_line.cc | 132 +++++++++++++++---
.../policy/core/common/policy_pref_names.cc | 3 +
.../policy/core/common/policy_pref_names.h | 1 +
.../policy/core/common/policy_service_impl.cc | 3 +
@@ -36,7 +36,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../gaia_cookie_manager_service.cc | 4 +
google_apis/gaia/gaia_auth_fetcher.cc | 1 +
net/socket/ssl_client_socket_impl.cc | 3 +
32 files changed, 319 insertions(+), 150 deletions(-)
32 files changed, 318 insertions(+), 150 deletions(-)
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
--- a/base/win/win_util.cc
@@ -674,7 +674,7 @@ diff --git a/components/policy/core/common/policy_loader_command_line.cc b/compo
namespace policy {
@@ -21,25 +46,101 @@ PolicyLoaderCommandLine::~PolicyLoaderCommandLine() = default;
@@ -21,25 +46,100 @@ PolicyLoaderCommandLine::~PolicyLoaderCommandLine() = default;
PolicyBundle PolicyLoaderCommandLine::Load() {
PolicyBundle bundle;
@@ -764,7 +764,6 @@ diff --git a/components/policy/core/common/policy_loader_command_line.cc b/compo
+ AddPolicy(disabled_policies_list, policy_map, policy::key::kSideSearchEnabled, base::Value(false));
+#endif
+
+ AddPolicy(disabled_policies_list, policy_map, policy::key::kBlockTruncatedCookies, base::Value(true));
+ // kFirstPartySetsEnabled
+ // kLensCameraAssistedSearchEnabled
+ // kPasswordLeakDetectionEnabled
@@ -2047,7 +2047,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser
#include "chrome/browser/ui/webui/browsing_topics/browsing_topics_internals_ui.h"
#include "chrome/browser/ui/webui/data_sharing_internals/data_sharing_internals_ui.h"
#include "chrome/browser/ui/webui/engagement/site_engagement_ui.h"
@@ -1118,6 +1123,10 @@ void PopulateChromeWebUIFrameBinders(
@@ -1121,6 +1126,10 @@ void PopulateChromeWebUIFrameBinders(
media::mojom::MediaEngagementScoreDetailsProvider, MediaEngagementUI>(
map);
@@ -30,11 +30,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../from_gws_page_load_metrics_observer.cc | 6 +-
.../page_load_metrics_initialize.cc | 2 -
chrome/browser/safe_browsing/BUILD.gn | 1 -
chrome/browser/search_engines/BUILD.gn | 1 -
.../ui_thread_search_terms_data.cc | 4 -
chrome/browser/ui/BUILD.gn | 1 -
chrome/browser/ui/android/omnibox/BUILD.gn | 2 -
.../omnibox/LocationBarCoordinator.java | 2 -
.../browser/omnibox/LocationBarMediator.java | 22 --
.../browser/omnibox/LocationBarMediator.java | 25 --
.../ui/webui/new_tab_page/new_tab_page_ui.cc | 5 -
.../webui/settings/reset_settings_handler.cc | 1 -
.../upgrade_detector/upgrade_detector_impl.cc | 6 -
@@ -63,7 +64,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
...gled-chromium-no-special-hosts-domains.inc | 1 +
net/base/url_util.cc | 25 +-
services/network/network_context.cc | 2 +-
56 files changed, 57 insertions(+), 841 deletions(-)
57 files changed, 57 insertions(+), 845 deletions(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/ungoogled-chromium-no-special-hosts-domains.inc
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
@@ -707,6 +708,17 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
"//chrome/browser/profiles",
"//chrome/browser/profiles:profile",
"//chrome/browser/sync",
diff --git a/chrome/browser/search_engines/BUILD.gn b/chrome/browser/search_engines/BUILD.gn
--- a/chrome/browser/search_engines/BUILD.gn
+++ b/chrome/browser/search_engines/BUILD.gn
@@ -32,7 +32,6 @@ source_set("search_engines") {
deps = [
"//chrome/browser:browser_process",
- "//chrome/browser/google",
"//chrome/common:channel_info",
"//chrome/common:non_code_constants",
"//components/google/core/common",
diff --git a/chrome/browser/search_engines/ui_thread_search_terms_data.cc b/chrome/browser/search_engines/ui_thread_search_terms_data.cc
--- a/chrome/browser/search_engines/ui_thread_search_terms_data.cc
+++ b/chrome/browser/search_engines/ui_thread_search_terms_data.cc
@@ -816,6 +828,22 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
}
loadUrlParams.setTransitionType(
omniboxLoadUrlParams.transitionType | PageTransition.FROM_ADDRESS_BAR);
@@ -1549,15 +1527,12 @@ class LocationBarMediator
if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled()
&& mProfileSupplier.hasValue()
&& mTemplateUrlServiceSupplier.hasValue()) {
- GeolocationHeader.primeLocationForGeoHeaderIfEnabled(
- mProfileSupplier.get(), mTemplateUrlServiceSupplier.get());
}
}
@Override
public void onPauseWithNative() {
if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled()) {
- GeolocationHeader.stopListeningForLocationUpdates();
}
}
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
+++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc