Patches for v148

This commit is contained in:
Carmelo Messina
2026-05-19 10:48:25 +02:00
parent 5aab1a3f2a
commit 0bf212cf9b
34 changed files with 3148 additions and 650 deletions
@@ -137,7 +137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
BackPressHelper.create(
this, getOnBackPressedDispatcher(), mBookmarkManagerCoordinator);
+
+ mBookmarkManagerCoordinator.setWindow(mWindowAndroid,
+ mBookmarkManagerCoordinator.setWindow(getWindowAndroid(),
+ getModalDialogManagerSupplier().get());
}
@@ -150,13 +150,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+
+ mWindowAndroid.getIntentRequestTracker().saveInstanceState(outState);
+ getWindowAndroid().getIntentRequestTracker().saveInstanceState(outState);
+ }
+
+ @Override
+ public void onRequestPermissionsResult(
+ int requestCode, String[] permissions, int[] grantResults) {
+ if (mWindowAndroid.handlePermissionResult(requestCode, permissions, grantResults))
+ if (getWindowAndroid().handlePermissionResult(requestCode, permissions, grantResults))
+ return;
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ }
@@ -232,7 +232,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+#include "chrome/browser/bookmarks/bookmark_html_writer.h"
+#include "chrome/browser/importer/profile_writer.h"
+#include "chrome/browser/platform_util.h"
+#include "chrome/browser/ui/chrome_select_file_policy.h"
+#include "chrome/browser/ui/select_file_policy/chrome_select_file_policy.h"
+#include "components/user_data_importer/common/imported_bookmark_entry.h"
+#include "components/user_data_importer/content/content_bookmark_parser.h"
+#include "components/user_data_importer/content/content_bookmark_parser_utils.h"
@@ -11,8 +11,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../common/network_switch_list.h | 4 ++++
.../spoof_checks/top_domains/BUILD.gn | 1 +
...o-configure-maximum-connections-per-host.inc | 17 +++++++++++++++++
net/socket/client_socket_pool_manager.cc | 17 +++++++++++++++++
4 files changed, 39 insertions(+)
net/socket/client_socket_pool_manager.cc | 16 ++++++++++++++++
4 files changed, 38 insertions(+)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-flag-to-configure-maximum-connections-per-host.inc
diff --git a/components/network_session_configurator/common/network_switch_list.h b/components/network_session_configurator/common/network_switch_list.h
@@ -76,12 +76,11 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
#include "net/ssl/ssl_config.h"
#include "url/gurl.h"
#include "url/scheme_host_port.h"
@@ -169,6 +173,19 @@ void ClientSocketPoolManager::set_socket_soft_cap_per_pool_for_test(
@@ -169,6 +173,18 @@ void ClientSocketPoolManager::set_socket_soft_cap_per_pool_for_test(
// static
size_t ClientSocketPoolManager::max_sockets_per_group(
HttpNetworkSession::SocketPoolType pool_type) {
+
+ if (pool_type == HttpNetworkSession::NORMAL_SOCKET_POOL) {
+ if (pool_type == net::HttpNetworkSession::SocketPoolType::kNormal) {
+ int maxConnectionsPerHost = 0;
+ auto value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kMaxConnectionsPerHost);
+ if (!value.empty() && !base::StringToInt(value, &maxConnectionsPerHost)) {
@@ -19,9 +19,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../webauthn/android/webauthn_feature_map.cc | 1 +
components/webauthn/features.cc | 4 +++
components/webauthn/features.h | 3 +++
device/fido/public/features.cc | 2 ++
device/fido/public/features.cc | 1 +
.../authentication_credentials_container.cc | 5 ++++
11 files changed, 74 insertions(+), 33 deletions(-)
11 files changed, 73 insertions(+), 33 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-enable-Credman-for-passkeys.grdp
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
@@ -317,22 +317,14 @@ diff --git a/components/webauthn/features.h b/components/webauthn/features.h
diff --git a/device/fido/public/features.cc b/device/fido/public/features.cc
--- a/device/fido/public/features.cc
+++ b/device/fido/public/features.cc
@@ -130,6 +130,7 @@ BASE_FEATURE(kWebAuthnPublishPrelinkingInfo,
"WebAuthenticationPublishPrelinkingInfo",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID)
@@ -183,6 +183,7 @@ BASE_FEATURE_PARAM(int,
BASE_FEATURE(kWebAuthnImmediateGet,
"WebAuthenticationImmediateGet",
base::FEATURE_ENABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kWebAuthnImmediateGet);
// Disabled by default.
BASE_FEATURE(kWebAuthnHelloSignal,
@@ -189,6 +190,7 @@ BASE_FEATURE_PARAM(int,
&kWebAuthnImmediateGet,
"timeout_ms",
kDefaultImmediateMediationTimeoutMs);
+SET_CROMITE_FEATURE_DISABLED(kWebAuthnImmediateGetAutoselect);
// Deprecation flag. Disabled by default in M142. Remove in or after M145.
BASE_FEATURE(kWebAuthnSendPinGeneration,
BASE_FEATURE_PARAM(int,
kWebAuthnImmediateMediationTimeoutMilliseconds,
diff --git a/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc b/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc
--- a/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc
+++ b/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc
@@ -485,7 +485,7 @@ diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/android/java/res/xml/developer_preferences.xml
--- a/chrome/android/java/res/xml/developer_preferences.xml
+++ b/chrome/android/java/res/xml/developer_preferences.xml
@@ -40,4 +40,8 @@ found in the LICENSE file.
@@ -45,4 +45,8 @@ found in the LICENSE file.
android:summary="@string/android_fonts_fingerprinting_mitigation_summary"
app:featureName="android-fonts-fingerprinting-mitigation"
app:needRestart="true" />
@@ -851,7 +851,7 @@ diff --git a/components/thin_webview/internal/thin_webview.cc b/components/thin_
web_contents_->GetNativeView()->OnPhysicalBackingSizeChanged(size);
- web_contents_->GetNativeView()->OnSizeChanged(size.width(), size.height());
+ web_contents_->GetNativeView()->OnSizeChanged(size.width(), size.height(), size.height());
+ web_contents_->GetNativeView()->OnSizeChanged(size.width(), size.height(), size.width(), size.height());
}
} // namespace android
@@ -46,9 +46,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../skia/src/ports/SkFontMgr_android.cpp | 286 ++-
.../skia/src/ports/SkFontMgr_android_data.cpp | 1641 +++++++++++++++++
.../skia/src/ports/SkFontMgr_android_ndk.cpp | 2 +-
.../src/ports/SkFontMgr_android_parser.cpp | 66 +-
.../src/ports/SkFontMgr_android_parser.cpp | 69 +-
.../skia/src/ports/SkFontMgr_android_parser.h | 5 +-
42 files changed, 2449 insertions(+), 88 deletions(-)
42 files changed, 2451 insertions(+), 89 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Android-fonts-fingerprinting-mitigation.grdp
create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.cc
create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.h
@@ -109,10 +109,10 @@ diff --git a/build/config/freetype/freetype.gni b/build/config/freetype/freetype
diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/android/java/res/xml/developer_preferences.xml
--- a/chrome/android/java/res/xml/developer_preferences.xml
+++ b/chrome/android/java/res/xml/developer_preferences.xml
@@ -23,4 +23,9 @@ found in the LICENSE file.
android:title="Hint: You can also enable Developer options on Beta/Stable channels by tapping the Chrome version in "Settings > About Chrome" multiple times."
app:allowDividerAbove="false"
app:allowDividerBelow="false" />
@@ -28,4 +28,9 @@ found in the LICENSE file.
android:summary="@string/android_gpu_sandbox_summary"
app:featureName="android-gpu-sandbox"
app:needRestart="true" />
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:title="@string/android_fonts_fingerprinting_mitigation_title"
+ android:summary="@string/android_fonts_fingerprinting_mitigation_summary"
@@ -3265,7 +3265,16 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android_parser.cpp b/third_par
static constexpr char kFontFilePrefix[] = "/fonts/";
// Version 21 of the system font configuration does not need any fallback configuration files.
@@ -888,8 +923,8 @@ void SkFontMgr_Android_Parser::GetSystemFontFamilies(
@@ -881,15 +916,16 @@ void SkFontMgr_Android_Parser::GetSystemFontFamilies(
// Product fonts (fonts_customization.xml) leverage <fonts-modification version="21">
// Therefore, we only attempt to parse them on modern devices (Android Lollipop+).
// Pre-21 systems fall through to the legacy fallback fonts handling below.
+ if (!custom)
SkFontMgr_Android_Parser::GetCustomFontFamilies(
- fontFamilies, basePath, PRODUCT_CUSTOMIZATION_FILE, nullptr, nullptr);
+ fontFamilies, basePath, custom, PRODUCT_CUSTOMIZATION_FILE, nullptr, nullptr);
return;
}
// Append all the fallback fonts to system fonts
std::vector<std::unique_ptr<FontFamily>> fallbackFonts;
@@ -3276,7 +3285,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android_parser.cpp b/third_par
fontFamilies.insert(fontFamilies.end(),
std::make_move_iterator(fallbackFonts.begin()),
std::make_move_iterator(fallbackFonts.end()));
@@ -898,15 +933,16 @@ void SkFontMgr_Android_Parser::GetSystemFontFamilies(
@@ -898,15 +934,16 @@ void SkFontMgr_Android_Parser::GetSystemFontFamilies(
void SkFontMgr_Android_Parser::GetCustomFontFamilies(
std::vector<std::unique_ptr<FontFamily>>& fontFamilies,
const SkString& basePath,
@@ -339,8 +339,8 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
}
// Remove extensions that aren't in an autoupdatable location.
if (!Manifest::IsAutoUpdateableLocation(extension->location())) {
+ LOG(INFO) << "Extension " << extension.id() << " is not auto updateable: "
+ << "location=" << extension.location();
+ LOG(INFO) << "Extension " << extension->id() << " is not auto updateable: "
+ << "location=" << extension->location();
return true;
}
} else {
@@ -8,10 +8,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/android/chrome_java_resources.gni | 2 +-
.../android/java/res/xml/main_preferences.xml | 4 +-
.../res/xml/privacy_preferences_cromite.xml | 191 ++++++++++++++++++
.../res/xml/privacy_preferences_cromite.xml | 196 ++++++++++++++++++
.../privacy/settings/PrivacySettings.java | 6 +-
.../Cromite-settings-ui.grdp | 15 ++
5 files changed, 213 insertions(+), 5 deletions(-)
5 files changed, 218 insertions(+), 5 deletions(-)
create mode 100644 chrome/android/java/res/xml/privacy_preferences_cromite.xml
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences_cromite.xml b/chrom
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/res/xml/privacy_preferences_cromite.xml
@@ -0,0 +1,191 @@
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+Copyright 2022 The Chromium Authors
+Use of this source code is governed by a BSD-style license that can be
@@ -178,6 +178,11 @@ new file mode 100644
+ android:key="secure_dns"
+ android:title="@string/settings_secure_dns_title"
+ android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings" />
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:title="@string/dangling_pointer_detector_title"
+ android:summary="@string/dangling_pointer_detector_summary"
+ app:featureName="enable-dangling-pointer-detector"
+ app:needRestart="true" />
+
+ <PreferenceCategory
+ android:title="@string/services_category_title"/>
+32 -1
View File
@@ -4,11 +4,42 @@ Subject: Disable Compose feature
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/browser/renderer_context_menu/BUILD.gn | 6 +++---
chrome/browser/ui/webui/settings/settings_ui.cc | 4 ++--
components/compose/core/browser/compose_features.cc | 2 ++
components/compose/features.gni | 2 +-
3 files changed, 5 insertions(+), 3 deletions(-)
4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/chrome/browser/renderer_context_menu/BUILD.gn b/chrome/browser/renderer_context_menu/BUILD.gn
--- a/chrome/browser/renderer_context_menu/BUILD.gn
+++ b/chrome/browser/renderer_context_menu/BUILD.gn
@@ -89,7 +89,7 @@ source_set("impl") {
"//chrome/browser/apps/app_service",
"//chrome/browser/apps/platform_apps",
"//chrome/browser/autocomplete",
- "//chrome/browser/compose",
+ #"//chrome/browser/compose",
"//chrome/browser/custom_handlers",
"//chrome/browser/devtools",
"//chrome/browser/glic",
@@ -232,7 +232,7 @@ static_library("test_support") {
"render_view_context_menu_test_util.cc",
]
public_deps += [ "//extensions/buildflags" ]
- deps += [ "//chrome/browser/compose" ]
+ #deps += [ "//chrome/browser/compose" ]
}
if (is_chromeos) {
@@ -325,7 +325,7 @@ if (!is_android) {
":test_support",
"//base/test:test_support",
"//chrome/browser",
- "//chrome/browser/compose:test_support",
+ #"//chrome/browser/compose:test_support",
"//chrome/browser/devtools",
"//chrome/browser/pdf:pdf_extension_test_utils",
"//chrome/browser/search_engines",
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
+27 -11
View File
@@ -26,13 +26,13 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../about_flags_cc/Disable-TLS-resumption.inc | 12 ++++
.../features_cc/Disable-TLS-resumption.inc | 7 +++
.../features_cc/Disable-TLS-resumption.inc | 7 ++
.../features_h/Disable-TLS-resumption.inc | 5 ++
net/http/http_network_session.cc | 1 +
net/quic/quic_session_pool.cc | 35 ++++++++++-
net/socket/ssl_client_socket_impl.cc | 59 +++++++++++++++++++
net/quic/quic_session_pool.cc | 35 +++++++++-
net/socket/ssl_client_socket_impl.cc | 68 +++++++++++++++++++
net/socket/ssl_client_socket_impl.h | 2 +
7 files changed, 119 insertions(+), 2 deletions(-)
7 files changed, 128 insertions(+), 2 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Disable-TLS-resumption.inc
create mode 100644 cromite_flags/net/base/features_cc/Disable-TLS-resumption.inc
create mode 100644 cromite_flags/net/base/features_h/Disable-TLS-resumption.inc
@@ -142,7 +142,15 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
--- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc
@@ -292,7 +292,33 @@ SSLClientSocketImpl::SSLClientSocketImpl(
@@ -31,6 +31,7 @@
#include "base/strings/string_view_util.h"
#include "base/synchronization/lock.h"
#include "base/task/sequenced_task_runner.h"
+#include "base/types/fixed_array.h"
#include "base/trace_event/trace_event.h"
#include "base/values.h"
#include "build/build_config.h"
@@ -292,7 +293,41 @@ SSLClientSocketImpl::SSLClientSocketImpl(
CHECK(context_);
}
@@ -156,18 +164,26 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
+ }
+
+ unsigned len;
+ auto* session_id = SSL_SESSION_get_id(session, &len);
+ const uint8_t *session_id = SSL_SESSION_get_id(session, &len);
+ base::FixedArray<uint8_t> session_id_bytes(len);
+ for (unsigned i = 0; i < len; i++) {
+ session_id_bytes[i] = UNSAFE_TODO(session_id[i]);
+ }
+
+ const uint8_t *ticket;
+ size_t ticklen;
+ SSL_SESSION_get0_ticket(session, &ticket, &ticklen);
+ base::FixedArray<uint8_t> ticket_bytes(ticklen);
+ for (size_t i = 0; i < ticklen; i++) {
+ ticket_bytes[i] = UNSAFE_TODO(ticket[i]);
+ }
+
+ LOG(INFO) << "SSL Log: "
+ << tag
+ << " host: " << host_and_port_.ToString()
+ << " NIK: " << ssl_config_.network_anonymization_key.ToDebugString()
+ << " sessionid: " << base::HexEncode(session_id, len)
+ << (ticklen > 0 ? " ticket:" + base::HexEncode(ticket, ticklen) : "");
+ << " sessionid: " << base::HexEncode(base::span<uint8_t>(session_id_bytes))
+ << (ticklen > 0 ? " ticket:" + base::HexEncode(ticket_bytes) : "");
+}
+
SSLClientSocketImpl::~SSLClientSocketImpl() {
@@ -176,7 +192,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
Disconnect();
}
@@ -710,6 +736,8 @@ int SSLClientSocketImpl::Init() {
@@ -710,6 +745,8 @@ int SSLClientSocketImpl::Init() {
}
if (session)
SSL_set_session(ssl_.get(), session.get());
@@ -185,7 +201,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
}
transport_adapter_ = std::make_unique<SocketBIOAdapter>(
@@ -994,6 +1022,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
@@ -994,6 +1031,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
: SSLHandshakeDetails::kTLS13Full;
}
}
@@ -221,7 +237,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details);
// Measure TLS connections that implement the renegotiation_info and EMS
@@ -1624,6 +1681,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
@@ -1624,6 +1690,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
}
bool SSLClientSocketImpl::IsCachingEnabled() const {
+1 -1
View File
@@ -36,7 +36,7 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_
+ if (components.size() > 0) {
+ version_str = base::StrCat({base::NumberToString(components[0]), ".0.0.0"});
+ }
+ return String::FromUTF8(version_str);
+ return String::FromUtf8(version_str);
+}
+
+}
File diff suppressed because it is too large Load Diff
@@ -8,32 +8,45 @@ This patch fixes build errors.
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/android/BUILD.gn | 2 -
.../android/java/res/xml/main_preferences.xml | 5 ---
.../android/java/res/xml/main_preferences.xml | 5 --
.../chrome/browser/ChromeTabbedActivity.java | 6 +--
.../chrome/browser/SnackbarActivity.java | 2 -
.../chrome/browser/ntp/NewTabPage.java | 2 -
.../browser/settings/SettingsActivity.java | 2 -
.../search/SearchIndexProviderRegistry.java | 1 -
.../TabbedAdaptiveToolbarBehavior.java | 8 ----
.../TabbedAppMenuPropertiesDelegate.java | 8 +---
.../TabbedAdaptiveToolbarBehavior.java | 8 ---
.../TabbedAppMenuPropertiesDelegate.java | 7 +--
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
chrome/browser/BUILD.gn | 2 -
chrome/browser/BUILD.gn | 8 ++-
chrome/browser/actor/BUILD.gn | 3 --
chrome/browser/android/tab_features.cc | 4 ++
chrome/browser/android/tab_features.h | 4 ++
.../browser/chrome_content_browser_client.cc | 4 +-
chrome/browser/extensions/api/BUILD.gn | 2 +-
.../api/experimental_actor/BUILD.gn | 2 +-
.../experimental_actor_api.cc | 11 +----
.../api/experimental_ai_data/BUILD.gn | 2 +-
.../experimental_ai_data_api.cc | 49 ++-----------------
.../api/pdf_viewer_private/BUILD.gn | 3 --
.../pdf_viewer_private_api.cc | 43 +------------------
chrome/browser/glic/BUILD.gn | 2 +-
.../pdf_viewer_private_api.cc | 43 +---------------
chrome/browser/glic/BUILD.gn | 4 +-
chrome/browser/glic/android/BUILD.gn | 2 +-
chrome/browser/glic/public/glic_enabling.cc | 1 +
chrome/browser/pdf/BUILD.gn | 1 -
chrome/browser/profiles/BUILD.gn | 2 +-
...hrome_browser_main_extra_parts_profiles.cc | 2 +-
chrome/browser/sync/BUILD.gn | 4 +-
chrome/browser/sync/test/integration/BUILD.gn | 2 +-
chrome/browser/ui/BUILD.gn | 2 +-
chrome/browser/ui/pdf/BUILD.gn | 1 -
.../pdf/chrome_pdf_document_helper_client.cc | 2 +
.../ui/tabs/alert/tab_alert_controller.cc | 2 +
chrome/common/BUILD.gn | 1 +
chrome/common/chrome_features.cc | 1 +
chrome/common/features.gni | 2 +
chrome/test/BUILD.gn | 2 +-
chrome/test/BUILD.gn | 10 ++--
components/browser_sync/BUILD.gn | 2 +-
26 files changed, 27 insertions(+), 85 deletions(-)
39 files changed, 51 insertions(+), 164 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
@@ -62,6 +75,79 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
<Preference
android:fragment="org.chromium.chrome.browser.homepage.settings.HomepageSettings"
android:key="homepage"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -1129,10 +1129,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
mXrSceneCoreSessionManagerSupplier.get(),
mBackPressManager,
getSnackbarManager(),
- /* glicClickHandler= */ () ->
- ((TabbedRootUiCoordinator) mRootUiCoordinator)
- .toggleGlic(),
- /*browserControlsManagerSupplier*/ () -> getBrowserControlsManager(false));
+ /* glicClickHandler= */ () -> {},
+ /*browserControlsManagerSupplier*/ () -> getBrowserControlsManager());
mLayoutStateProviderSupplier.set(mLayoutManager);
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/SnackbarActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/SnackbarActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/SnackbarActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/SnackbarActivity.java
@@ -12,7 +12,6 @@ import androidx.annotation.CallSuper;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
-import org.chromium.chrome.browser.glic.GlicHelper;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.ParentOverrideSlot;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
@@ -45,7 +44,6 @@ public abstract class SnackbarActivity extends SynchronousInitializationActivity
getProfileSupplier()
.runSyncOrOnAvailable(
(profile) -> {
- GlicHelper.maybeShowGlicTaskInProgressSnackbar(this, profile, this);
});
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
@@ -51,7 +51,6 @@ import org.chromium.chrome.browser.feed.FeedSurfaceProvider;
import org.chromium.chrome.browser.feed.FeedSwipeRefreshLayout;
import org.chromium.chrome.browser.feed.NtpFeedSurfaceLifecycleManager;
import org.chromium.chrome.browser.feed.componentinterfaces.SurfaceCoordinator;
-import org.chromium.chrome.browser.glic.GlicHelper;
import org.chromium.chrome.browser.layouts.LayoutType;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.lifecycle.LifecycleObserver;
@@ -967,7 +966,6 @@ public class NewTabPage
mLastShownTimeNs = System.nanoTime();
RecordUserAction.record("MobileNTPShown");
SuggestionsMetrics.recordSurfaceVisible();
- GlicHelper.maybeShowGlicTaskInProgressSnackbar(this, mTab.getProfile(), mActivity);
}
/** Records UMA for the NTP being hidden and the time spent on it. */
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
@@ -58,7 +58,6 @@ import org.chromium.chrome.browser.back_press.BackPressHelper.OnKeyDownHandler;
import org.chromium.chrome.browser.browser_controls.BrowserStateBrowserControlsVisibilityDelegate;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.glic.GlicHelper;
import org.chromium.chrome.browser.init.ActivityLifecycleDispatcherImpl;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
@@ -855,7 +854,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@Override
protected void onStart() {
super.onStart();
- GlicHelper.maybeShowGlicTaskInProgressSnackbar(this, mProfile, this);
}
@Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/search/SearchIndexProviderRegistry.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/search/SearchIndexProviderRegistry.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/search/SearchIndexProviderRegistry.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/search/SearchIndexProviderRegistry.java
@@ -101,15 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
@@ -248,7 +248,6 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
iconModels.add(buildDownloadActionModel(currentTab));
if (!ChromeFeatureList.sThreeDotMenuBackButton.isEnabled()) {
iconModels.add(buildPageInfoModel(currentTab));
- }
iconModels.add(buildReloadModel(currentTab));
@@ -1411,12 +1410,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -1407,12 +1407,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|| !ChromeFeatureList.sGlic.isEnabled()) {
return null;
}
@@ -147,6 +225,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1101,7 +1101,7 @@ static_library("browser") {
"//chrome/browser/ntp_tiles:impl",
"//chrome/browser/memory:impl",
"//chrome/browser/preloading/search_preload:search_preload",
- "//chrome/browser/ai:impl",
+ # "//chrome/browser/ai:impl",
"//chrome/browser/autofill",
# speech:impl includes headers from the browser monolith (e.g.
@@ -1426,8 +1426,8 @@ static_library("browser") {
"//chrome/browser/accessibility_annotator/first_run",
"//chrome/browser/account_settings",
"//chrome/browser/affiliations",
- "//chrome/browser/ai",
- "//chrome/browser/ai:impl",
+ # "//chrome/browser/ai",
+ # "//chrome/browser/ai:impl",
"//chrome/browser/app_mode",
"//chrome/browser/autocomplete",
"//chrome/browser/autocomplete:aim_eligibility_service",
@@ -3083,8 +3083,6 @@ static_library("browser") {
"//chrome/browser/flags:flags_android_impl",
"//chrome/browser/gesturenav/android:gesturenav",
@@ -227,6 +325,168 @@ diff --git a/chrome/browser/android/tab_features.h b/chrome/browser/android/tab_
std::unique_ptr<actor::ui::ActorUiTabControllerInterface>
actor_ui_tab_controller_;
};
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -789,8 +789,6 @@ using web_apps::ChromeContentBrowserClientIsolatedWebAppsPart;
namespace {
-const char kAIManagerUserDataKey[] = "ai_manager";
-
#if BUILDFLAG(IS_MAC)
constexpr char kSecurePaymentConfirmationKeychainAccessGroup[] =
MAC_TEAM_IDENTIFIER_STRING "." MAC_BUNDLE_IDENTIFIER_STRING
@@ -8758,6 +8756,7 @@ void ChromeContentBrowserClient::BindAIManager(
base::SupportsUserData* context_user_data,
content::RenderFrameHost* rfh,
mojo::PendingReceiver<blink::mojom::AIManager> receiver) {
+#if false
if (!context_user_data->GetUserData(kAIManagerUserDataKey)) {
context_user_data->SetUserData(
kAIManagerUserDataKey,
@@ -8767,6 +8766,7 @@ void ChromeContentBrowserClient::BindAIManager(
AIManager* ai_manager = static_cast<AIManager*>(
context_user_data->GetUserData(kAIManagerUserDataKey));
ai_manager->AddReceiver(std::move(receiver));
+#endif
}
#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION)
diff --git a/chrome/browser/extensions/api/BUILD.gn b/chrome/browser/extensions/api/BUILD.gn
--- a/chrome/browser/extensions/api/BUILD.gn
+++ b/chrome/browser/extensions/api/BUILD.gn
@@ -132,7 +132,7 @@ function_registration("api_registration") {
"//components/policy/proto",
# Different APIs include headers from these targets.
- "//chrome/browser/ai",
+ # "//chrome/browser/ai",
"//chrome/common",
"//chrome/common:mojo_bindings",
"//components/autofill/core/common/mojom:mojo_types",
diff --git a/chrome/browser/extensions/api/experimental_actor/BUILD.gn b/chrome/browser/extensions/api/experimental_actor/BUILD.gn
--- a/chrome/browser/extensions/api/experimental_actor/BUILD.gn
+++ b/chrome/browser/extensions/api/experimental_actor/BUILD.gn
@@ -19,7 +19,7 @@ source_set("experimental_actor") {
deps = [
"//base",
"//chrome/browser/actor",
- "//chrome/browser/ai",
+ # "//chrome/browser/ai",
"//chrome/browser/extensions",
"//chrome/browser/ui",
]
diff --git a/chrome/browser/extensions/api/experimental_actor/experimental_actor_api.cc b/chrome/browser/extensions/api/experimental_actor/experimental_actor_api.cc
--- a/chrome/browser/extensions/api/experimental_actor/experimental_actor_api.cc
+++ b/chrome/browser/extensions/api/experimental_actor/experimental_actor_api.cc
@@ -126,17 +126,10 @@ ExperimentalActorApiFunction::ExperimentalActorApiFunction() = default;
ExperimentalActorApiFunction::~ExperimentalActorApiFunction() = default;
bool ExperimentalActorApiFunction::PreRunValidation(std::string* error) {
- if (GetCurrentChannel() == version_info::Channel::STABLE &&
- !AiDataKeyedService::IsExtensionAllowlistedForStable(extension_id())) {
- *error = "API access not allowed on this channel.";
+ if ((false)) {
+ *error = "API not allowed.";
return false;
}
-
- if (!AiDataKeyedService::IsExtensionAllowlistedForActions(extension_id())) {
- *error = "Actions API access restricted for this extension.";
- return false;
- }
-
auto* actor_service = actor::ActorKeyedService::Get(browser_context());
if (!actor_service) {
*error = "Incognito profile not supported.";
diff --git a/chrome/browser/extensions/api/experimental_ai_data/BUILD.gn b/chrome/browser/extensions/api/experimental_ai_data/BUILD.gn
--- a/chrome/browser/extensions/api/experimental_ai_data/BUILD.gn
+++ b/chrome/browser/extensions/api/experimental_ai_data/BUILD.gn
@@ -17,7 +17,7 @@ source_set("experimental_ai_data") {
deps = [
"//base",
- "//chrome/browser/ai",
+ # "//chrome/browser/ai",
"//chrome/browser/extensions",
"//chrome/browser/ui",
"//pdf/mojom",
diff --git a/chrome/browser/extensions/api/experimental_ai_data/experimental_ai_data_api.cc b/chrome/browser/extensions/api/experimental_ai_data/experimental_ai_data_api.cc
--- a/chrome/browser/extensions/api/experimental_ai_data/experimental_ai_data_api.cc
+++ b/chrome/browser/extensions/api/experimental_ai_data/experimental_ai_data_api.cc
@@ -28,26 +28,10 @@ ExperimentalAiDataApiFunction::ExperimentalAiDataApiFunction() = default;
ExperimentalAiDataApiFunction::~ExperimentalAiDataApiFunction() = default;
bool ExperimentalAiDataApiFunction::PreRunValidation(std::string* error) {
- // Check the allowlist and return an error if extension is not allow listed.
- if (!AiDataKeyedService::IsExtensionAllowlistedForData(extension_id())) {
- *error = "API access restricted for this extension.";
+ if ((false)) {
+ *error = "API not allowed.";
return false;
}
-
- if (GetCurrentChannel() == version_info::Channel::STABLE &&
- !AiDataKeyedService::IsExtensionAllowlistedForStable(extension_id())) {
- *error = "API access not allowed on this channel.";
- return false;
- }
-
- auto* ai_data_service =
- AiDataKeyedServiceFactory::GetAiDataKeyedService(browser_context());
- if (!ai_data_service) {
- *error = "Incognito profile not supported.";
- return false;
- }
- DCHECK(ai_data_service);
-
return true;
}
@@ -82,15 +66,7 @@ ExtensionFunction::ResponseAction ExperimentalAiDataGetAiDataFunction::Run() {
}
DCHECK(web_contents);
- auto* ai_data_service =
- AiDataKeyedServiceFactory::GetAiDataKeyedService(browser_context());
- DCHECK(ai_data_service);
-
- ai_data_service->GetAiData(
- params->dom_node_id, web_contents, params->user_input,
- base::BindOnce(&ExperimentalAiDataGetAiDataFunction::OnDataCollected,
- this));
- return RespondLater();
+ return RespondNow(Error("Invalid api."));
}
ExperimentalAiDataGetAiDataWithSpecifierFunction::
@@ -111,24 +87,7 @@ ExperimentalAiDataGetAiDataWithSpecifierFunction::Run() {
}
DCHECK(web_contents);
- auto* ai_data_service =
- AiDataKeyedServiceFactory::GetAiDataKeyedService(browser_context());
- DCHECK(ai_data_service);
-
- // De-serailizing protos is safe per
- // https://chromium.googlesource.com/chromium/src/+/HEAD/docs/security/rule-of-2.md
- optimization_guide::proto::ModelPrototypingCollectionSpecifier specifier;
- if (!specifier.ParseFromArray(params->ai_data_specifier.data(),
- params->ai_data_specifier.size())) {
- return RespondNow(Error("Parsing ai data specifier failed."));
- }
-
- ai_data_service->GetAiDataWithSpecifier(
- web_contents, specifier,
- base::BindOnce(
- &ExperimentalAiDataGetAiDataWithSpecifierFunction::OnDataCollected,
- this));
- return RespondLater();
+ return RespondNow(Error("Invalid api."));
}
} // namespace extensions
diff --git a/chrome/browser/extensions/api/pdf_viewer_private/BUILD.gn b/chrome/browser/extensions/api/pdf_viewer_private/BUILD.gn
--- a/chrome/browser/extensions/api/pdf_viewer_private/BUILD.gn
+++ b/chrome/browser/extensions/api/pdf_viewer_private/BUILD.gn
@@ -317,9 +577,12 @@ diff --git a/chrome/browser/extensions/api/pdf_viewer_private/pdf_viewer_private
diff --git a/chrome/browser/glic/BUILD.gn b/chrome/browser/glic/BUILD.gn
--- a/chrome/browser/glic/BUILD.gn
+++ b/chrome/browser/glic/BUILD.gn
@@ -460,7 +460,7 @@ source_set("impl") {
@@ -458,9 +458,9 @@ source_set("impl") {
} else { # is_android
deps += [
":actor_types_for_migration",
"//chrome/browser/glic/android",
- "//chrome/browser/glic/android",
+ #"//chrome/browser/glic/android",
"//chrome/browser/glic/android:jni_bridges",
- "//chrome/browser/ui/side_panel:side_panel_ui_provider",
+ #"//chrome/browser/ui/side_panel:side_panel_ui_provider",
@@ -360,6 +623,30 @@ diff --git a/chrome/browser/pdf/BUILD.gn b/chrome/browser/pdf/BUILD.gn
"//chrome/browser/pdf:pdf_pref_names",
"//chrome/browser/profiles:profile",
"//chrome/browser/resources/pdf:resources",
diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
--- a/chrome/browser/profiles/BUILD.gn
+++ b/chrome/browser/profiles/BUILD.gn
@@ -370,7 +370,7 @@ source_set("profiles_extra_parts_impl") {
"//chrome/browser/accessibility_annotator/first_run",
"//chrome/browser/account_settings",
"//chrome/browser/affiliations",
- "//chrome/browser/ai",
+ # "//chrome/browser/ai",
"//chrome/browser/autocomplete",
"//chrome/browser/autocomplete:aim_eligibility_service",
"//chrome/browser/autofill",
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -712,7 +712,7 @@ void ChromeBrowserMainExtraPartsProfiles::
actor_login::ActorLoginPermissionCleaningServiceFactory::GetInstance();
actor_login::ActorLoginPermissionServiceFactory::GetInstance();
chrome_finds_internals::ChromeFindsAgentFactory::GetInstance();
- AiDataKeyedServiceFactory::GetInstance();
+ // AiDataKeyedServiceFactory::GetInstance();
AimEligibilityServiceFactory::GetInstance();
#if BUILDFLAG(IS_ANDROID)
AndroidProfileBrowserCollectionServiceFactory::GetInstance();
diff --git a/chrome/browser/sync/BUILD.gn b/chrome/browser/sync/BUILD.gn
--- a/chrome/browser/sync/BUILD.gn
+++ b/chrome/browser/sync/BUILD.gn
@@ -393,6 +680,18 @@ diff --git a/chrome/browser/sync/test/integration/BUILD.gn b/chrome/browser/sync
"//chrome/browser/themes",
"//chrome/browser/ui:ui_features",
"//chrome/browser/ui/send_tab_to_self",
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -279,7 +279,7 @@ static_library("ui") {
"//chrome/browser:font_pref",
"//chrome/browser:global_features",
"//chrome/browser/affiliations",
- "//chrome/browser/ai",
+ # "//chrome/browser/ai",
"//chrome/browser/autocomplete",
"//chrome/browser/autocomplete:aim_eligibility_service",
"//chrome/browser/autofill",
diff --git a/chrome/browser/ui/pdf/BUILD.gn b/chrome/browser/ui/pdf/BUILD.gn
--- a/chrome/browser/ui/pdf/BUILD.gn
+++ b/chrome/browser/ui/pdf/BUILD.gn
@@ -487,6 +786,28 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
"//chrome/browser/history",
"//chrome/browser/keyboard_accessory/android:public",
"//chrome/browser/metrics:test_support",
@@ -2564,7 +2564,7 @@ if (!is_android) {
"//chrome/browser/actor:test_support",
"//chrome/browser/actor/ui:browser_tests",
"//chrome/browser/affiliations",
- "//chrome/browser/ai",
+ # "//chrome/browser/ai",
"//chrome/browser/apps/app_service",
"//chrome/browser/apps/app_service:app_registry_cache_waiter",
"//chrome/browser/apps/app_service:test_support",
@@ -7015,9 +7015,9 @@ test("unit_tests") {
"//chrome/browser/accessibility_annotator:unit_tests",
"//chrome/browser/actor:unit_tests",
"//chrome/browser/actor/ui:unit_tests",
- "//chrome/browser/ai",
- "//chrome/browser/ai:test_support",
- "//chrome/browser/ai:unit_tests",
+ # "//chrome/browser/ai",
+ # "//chrome/browser/ai:test_support",
+ # "//chrome/browser/ai:unit_tests",
"//chrome/browser/apps:icon_standardizer",
"//chrome/browser/apps:user_type_filter",
"//chrome/browser/autocomplete",
diff --git a/components/browser_sync/BUILD.gn b/components/browser_sync/BUILD.gn
--- a/components/browser_sync/BUILD.gn
+++ b/components/browser_sync/BUILD.gn
+2 -2
View File
@@ -45,7 +45,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -1768,7 +1768,6 @@ if (_is_default_toolchain) {
@@ -1769,7 +1769,6 @@ if (_is_default_toolchain) {
java_group("chrome_public_non_pak_assets") {
deps = [
"//chrome/android/webapk/libs/runtime_library:runtime_library_assets",
@@ -134,7 +134,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc b/ch
}
void PrivacySandboxServiceImpl::LogPrivacySandboxState() {
+ if ((true)) return true;
+ if ((true)) return;
// Do not record metrics for non-regular profiles.
if (!IsRegularProfile(profile_type_)) {
return;
@@ -13,10 +13,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/ssl/sct_reporting_service.cc | 4 ++++
.../about_flags_cc/Enable-Certificate-Transparency.inc | 9 +++++++++
.../Enable-Certificate-Transparency.inc | 6 ++++++
.../Enable-Certificate-Transparency.inc | 2 ++
.../Enable-Certificate-Transparency.inc | 1 +
net/http/transport_security_state.cc | 1 +
services/network/sct_auditing/sct_auditing_handler.cc | 2 ++
8 files changed, 26 insertions(+), 1 deletion(-)
8 files changed, 25 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Enable-Certificate-Transparency.inc
create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Enable-Certificate-Transparency.inc
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Enable-Certificate-Transparency.inc
@@ -87,8 +87,7 @@ diff --git a/cromite_flags/chrome/common/chrome_features_cc/Enable-Certificate-T
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/common/chrome_features_cc/Enable-Certificate-Transparency.inc
@@ -0,0 +1,2 @@
+SET_CROMITE_FEATURE_DISABLED(kSCTAuditing);
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kSCTAuditingHashdance);
diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc
--- a/net/http/transport_security_state.cc
+346 -217
View File
@@ -6,35 +6,33 @@ Full activation of incognito mode in experimental extension
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chrome/browser/ChromeTabbedActivity.java | 9 ++
.../chrome/browser/ChromeTabbedActivity.java | 5 +
.../chrome/browser/app/ChromeActivity.java | 42 +++++-
.../BaseCustomTabRootUiCoordinator.java | 2 +
.../CustomTabIntentDataProvider.java | 3 +
.../tabbed_mode/TabbedRootUiCoordinator.java | 1 +
.../browser/tabmodel/TabModelJniBridge.java | 3 +-
.../tabmodel/TabModelSelectorBase.java | 14 ++
.../browser/toolbar/ToolbarManager.java | 2 +
.../chrome/browser/ui/RootUiCoordinator.java | 2 +
.../browser/toolbar/ToolbarManager.java | 8 +-
.../developer_private_functions.cc | 3 +-
.../browser/extensions/extension_tab_util.cc | 2 +-
.../tabmodel/IncognitoTabModelImpl.java | 10 +-
.../tabmodel/IncognitoTabModelObserver.java | 3 +
.../extensions/extension_actions_bridge.cc | 23 +++-
.../extensions/extension_actions_bridge.cc | 23 ++-
.../extensions/extension_actions_bridge.h | 4 +-
.../ExtensionActionContextMenuBridge.java | 2 +-
.../ui/extensions/ExtensionActionsBridge.java | 67 +++++++++-
.../ui/extensions/ExtensionsMenuBridge.java | 101 ++++++++++++---
.../extensions/ExtensionsToolbarBridge.java | 121 +++++++++++++-----
.../ExtensionActionListCoordinator.java | 13 +-
.../ExtensionActionListMediator.java | 25 ++--
.../extensions/ExtensionsMenuCoordinator.java | 2 +
.../extensions/ExtensionsMenuMediator.java | 14 +-
.../ExtensionsToolbarCoordinatorImpl.java | 2 +-
.../ui/extensions/ExtensionActionsBridge.java | 62 +++++++-
.../ui/extensions/ExtensionsMenuBridge.java | 103 ++++++++++---
.../extensions/ExtensionsToolbarBridge.java | 137 ++++++++++++------
.../ExtensionActionListCoordinator.java | 12 +-
.../ExtensionActionListMediator.java | 24 +--
.../extensions/ExtensionsMenuCoordinator.java | 14 +-
.../extensions/ExtensionsMenuMediator.java | 12 +-
.../ExtensionsToolbarCoordinator.java | 10 +-
.../ExtensionsToolbarCoordinatorImpl.java | 21 ++-
.../browser/toolbar/top/ToolbarPhone.java | 16 ++
.../browser_window/ChromeAndroidTaskImpl.java | 18 ++-
.../ChromeAndroidTaskFeature.java | 2 +-
components/tabs/impl/tab_collection.cc | 16 +++
components/tabs/impl/tab_collection.cc | 16 ++
components/tabs/impl/tab_strip_collection.cc | 4 +-
28 files changed, 405 insertions(+), 105 deletions(-)
26 files changed, 449 insertions(+), 122 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -47,23 +45,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.data_sharing.DataSharingIntentUtils;
import org.chromium.chrome.browser.data_sharing.DataSharingTabGroupUtils;
import org.chromium.chrome.browser.data_sharing.DataSharingTabManager;
@@ -321,11 +322,15 @@ import org.chromium.chrome.browser.tasks.tab_management.TabSwitcherPaneBase;
import org.chromium.chrome.browser.tasks.tab_management.TabUiUtils;
import org.chromium.chrome.browser.tasks.tab_management.TabsSettings;
import org.chromium.chrome.browser.tasks.tab_management.archived_tabs_auto_delete_promo.ArchivedTabsAutoDeletePromoManager;
+import org.chromium.chrome.browser.tabmodel.IncognitoTabModelObserver;
import org.chromium.chrome.browser.toolbar.ToolbarIntentMetadata;
import org.chromium.chrome.browser.toolbar.ToolbarManager;
import org.chromium.chrome.browser.toolbar.extensions.ExtensionsToolbarCoordinator;
import org.chromium.chrome.browser.toolbar.top.ToolbarControlContainer;
import org.chromium.chrome.browser.ui.AppLaunchDrawBlocker;
+import org.chromium.chrome.browser.ui.extensions.windowing.ExtensionWindowControllerBridge;
+import org.chromium.chrome.browser.ui.extensions.windowing.ExtensionWindowControllerBridgeFactory;
+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskFeatureKey;
import org.chromium.chrome.browser.ui.IncognitoRestoreAppLaunchDrawBlockerFactory;
import org.chromium.chrome.browser.ui.RootUiCoordinator;
import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate;
@@ -4167,6 +4172,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@@ -4165,6 +4166,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
coordinator.showExtensionsMenu();
RecordUserAction.record("MobileMenuExtensionsMenu");
} else if (id == R.id.manage_extensions_menu_id) {
@@ -128,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
+ task.addFeature(
+ new ChromeAndroidTaskFeatureKey(
+ ExtensionWindowControllerBridge.class, profile, getWindowAndroid()),
+ () -> ExtensionWindowControllerBridgeFactory.create(task, profile));
+ ExtensionWindowControllerBridgeFactory::create);
+
+ task.addFeature(
+ new ChromeAndroidTaskFeatureKey(ExtensionsToolbarBridge.class, profile, getWindowAndroid()),
@@ -146,25 +128,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
/** Returns an {@link OneshotSupplier} for {@link ChromeAndroidTask}. */
protected final OneshotSupplier<ChromeAndroidTask> getChromeAndroidTaskSupplier() {
return mChromeAndroidTaskSupplier;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
@@ -92,6 +92,7 @@ import org.chromium.chrome.browser.tab.EmptyTabObserver;
import org.chromium.chrome.browser.tab.RequestDesktopUtils;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab_ui.TabContentManager;
+import org.chromium.chrome.browser.tabmodel.TabModel;
import org.chromium.chrome.browser.tabmodel.TabCreatorManager;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarBehavior;
@@ -126,6 +127,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
import java.util.function.BooleanSupplier;
import java.util.function.Supplier;
+import java.util.function.Function;
/** A {@link RootUiCoordinator} variant that controls UI for {@link BaseCustomTabActivity}. */
public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -192,17 +155,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()
? CustomTabProfileType.INCOGNITO
: (ChromeFeatureList.sMayLaunchurlUsesSeparateStoragePartition.isEnabled()
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -206,6 +206,7 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker;
import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate;
import org.chromium.chrome.browser.ui.bottombar.BottomBarHostManager;
import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskFeatureKey;
+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask;
import org.chromium.chrome.browser.ui.default_browser_promo.DefaultBrowserPromoUtils;
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderCoordinator;
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java
@@ -243,41 +195,31 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -142,6 +142,7 @@ import org.chromium.chrome.browser.tab.TabObscuringHandler;
import org.chromium.chrome.browser.tab.TabSelectionType;
import org.chromium.chrome.browser.tab_ui.TabContentManager;
import org.chromium.chrome.browser.tab_ui.TabModelDotInfo;
+import org.chromium.chrome.browser.tabmodel.TabModel;
import org.chromium.chrome.browser.tabmodel.IncognitoStateProvider;
import org.chromium.chrome.browser.tabmodel.TabCreatorManager;
import org.chromium.chrome.browser.tabmodel.TabModel;
@@ -251,6 +252,7 @@ import org.chromium.url.GURL;
import java.util.List;
import java.util.function.Supplier;
+import java.util.function.Function;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import android.view.Gravity;
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
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
@@ -161,6 +161,7 @@ import org.chromium.chrome.browser.tab.TabSelectionType;
import org.chromium.chrome.browser.tab_ui.RecyclerViewPosition;
import org.chromium.chrome.browser.tab_ui.TabContentManager;
import org.chromium.chrome.browser.tab_ui.TabSwitcher;
+import org.chromium.chrome.browser.tabmodel.TabModel;
import org.chromium.chrome.browser.tabmodel.TabCreator;
import org.chromium.chrome.browser.tabmodel.TabCreatorManager;
import org.chromium.chrome.browser.tabmodel.TabModel;
@@ -261,6 +262,7 @@ import java.lang.ref.WeakReference;
import java.util.Collections;
import java.util.function.BooleanSupplier;
import java.util.function.Supplier;
+import java.util.function.Function;
/**
* The root UI coordinator. This class will eventually be responsible for inflating and managing
@@ -80,6 +80,7 @@ import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
import org.chromium.chrome.browser.compositor.overlay_panel.OverlayPanelManager.OverlayPanelManagerObserver;
import org.chromium.chrome.browser.compositor.overlays.strip.StripLayoutHelperManager;
+import org.chromium.chrome.browser.customtabs.CustomTabActivity;
import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbar;
import org.chromium.chrome.browser.data_sharing.DataSharingTabManager;
import org.chromium.chrome.browser.dom_distiller.DomDistillerTabUtils;
@@ -2524,11 +2525,14 @@ public class ToolbarManager
task,
assertNonNull(mTabModelSelector.getCurrentModel().getProfile()),
mActivityTabProvider.asObservable(),
- mTabCreatorManager.getTabCreator(false),
+ mTabCreatorManager.getTabCreator(AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()),
getBrowsingModeThemeColorProvider(),
mToolbarLayout,
contextMenuPopulatorFactory,
- selectionDropdownMenuDelegate);
+ selectionDropdownMenuDelegate,
+ AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()
+ ? (url) -> CustomTabActivity.showInfoPage(mActivity, url)
+ : null);
if (mExtensionsToolbarCoordinator != null) {
mToolbar.setExtensionsToolbarCoordinator(mExtensionsToolbarCoordinator);
}
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_functions.cc b/chrome/browser/extensions/api/developer_private/developer_private_functions.cc
--- a/chrome/browser/extensions/api/developer_private/developer_private_functions.cc
+++ b/chrome/browser/extensions/api/developer_private/developer_private_functions.cc
@@ -294,7 +236,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_f
diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc
--- a/chrome/browser/extensions/extension_tab_util.cc
+++ b/chrome/browser/extensions/extension_tab_util.cc
@@ -1143,7 +1143,7 @@ bool ExtensionTabUtil::OpenOptionsPageFromWebContents(
@@ -1150,7 +1150,7 @@ bool ExtensionTabUtil::OpenOptionsPageFromWebContents(
if (!url) {
return false;
}
@@ -428,37 +370,14 @@ diff --git a/chrome/browser/ui/android/extensions/extension_actions_bridge.h b/c
const raw_ptr<Profile> profile_;
const base::android::ScopedJavaGlobalRef<jobject> java_object_;
};
diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionContextMenuBridge.java b/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionContextMenuBridge.java
--- a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionContextMenuBridge.java
+++ b/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionContextMenuBridge.java
@@ -35,8 +35,8 @@ public class ExtensionActionContextMenuBridge implements Destroyable {
private final @Nullable LifetimeAssert mLifetimeAssert = LifetimeAssert.create(this);
public ExtensionActionContextMenuBridge(
- ChromeAndroidTask task,
Profile profile,
+ ChromeAndroidTask task,
String actionId,
WebContents webContents,
@ContextMenuSource int contextMenuSource) {
diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionsBridge.java b/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionsBridge.java
--- a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionsBridge.java
+++ b/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionActionsBridge.java
@@ -5,6 +5,8 @@
package org.chromium.chrome.browser.ui.extensions;
import org.jni_zero.JNINamespace;
+import android.view.KeyEvent;
+
import org.jni_zero.JniType;
import org.jni_zero.NativeMethods;
@@ -15,22 +17,66 @@ import org.chromium.build.annotations.Nullable;
@@ -15,21 +15,64 @@ import org.chromium.build.annotations.Nullable;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask;
+import android.graphics.Rect;
+import android.util.ArrayMap;
+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskFeature;
+import org.chromium.chrome.browser.tabmodel.TabModel;
+import org.chromium.base.Log;
@@ -482,7 +401,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
+ }
+
+ @Override
+ public void onAddedToTask() {
+ public void onAddedToTask(long nativeBrowserWindowPtr) {
mNativeExtensionActionsBridge =
ExtensionActionsBridgeJni.get()
- .init(this, task.getOrCreateNativeBrowserWindowPtr(profile));
@@ -491,7 +410,6 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
@Override
- public void destroy() {
- assert mNativeExtensionActionsBridge != 0;
+ public void onFeatureRemoved() {
+ destroy();
+ }
@@ -519,13 +437,12 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
+ return new ExtensionActionsBridge(task, profile);
+ }
+
+ @privatevoid destroy() {
+ closeBackgroundHosts();
+assert mNativeExtensionActionsBridge != 0;
+ void destroy() {
+ closeBackgroundHosts();
assert mNativeExtensionActionsBridge != 0;
ExtensionActionsBridgeJni.get().destroy(mNativeExtensionActionsBridge);
mNativeExtensionActionsBridge = 0;
LifetimeAssert.destroy(mLifetimeAssert);
@@ -46,17 +92,24 @@ public class ExtensionActionsBridge implements Destroyable {
@@ -46,17 +89,24 @@ public class ExtensionActionsBridge implements Destroyable {
}
public void clearExtensionData() {
@@ -587,15 +504,15 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
+ mProfile = profile;
+ mTask = task;
+ }
+
- public ExtensionsMenuBridge(ChromeAndroidTask task, Profile profile, Observer observer) {
- mObserver = observer;
+ public static ExtensionsMenuBridge Instance() {
+ if (currentExtensionsMenuBridge == null)
+ currentExtensionsMenuBridge = new ExtensionsMenuBridge(null, null);
+ return currentExtensionsMenuBridge;
+ }
- public ExtensionsMenuBridge(ChromeAndroidTask task, Profile profile, Observer observer) {
- mObserver = observer;
+
+ public static ExtensionsMenuBridge create(ChromeAndroidTask task, Profile profile) {
+ return new ExtensionsMenuBridge(task, profile);
+ }
@@ -606,21 +523,21 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
+ }
+
+ @Override
+ public void onAddedToTask() {
+ public void onAddedToTask(long nativeBrowserWindowPtr) {
mNativeExtensionsMenuDelegateAndroid =
ExtensionsMenuBridgeJni.get()
- .init(this, task.getOrCreateNativeBrowserWindowPtr(profile));
+ .init(this, mTask.getOrCreateNativeBrowserWindowPtr(mProfile));
+ }
+
+ @Override
+ public void onFeatureRemoved() {
+ Instance().mObservers.remove(mTask);
+ destroy();
}
@Override
- public void destroy() {
+ public void onFeatureRemoved() {
+ Instance().mObservers.remove(mTask);
+ destroy();
+ }
+
+ @Override
+ public void onTaskBoundsChanged(Rect newBoundsInDp) {}
+
+ @Override
@@ -683,17 +600,19 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
}
/**
@@ -133,7 +185,8 @@ public class ExtensionsMenuBridge implements Destroyable {
@@ -133,7 +185,10 @@ public class ExtensionsMenuBridge implements Destroyable {
*/
@CalledByNative
public void onActionAdded(int actionIndex) {
- mObserver.onActionAdded(actionIndex);
+ if (Instance().mNativeExtensionsMenuDelegateAndroid != mNativeExtensionsMenuDelegateAndroid) return;
+ Instance().mObserver.onActionAdded(actionIndex);
+ if (Instance().mObserver != null) {
+ Instance().mObserver.onActionAdded(actionIndex);
+ }
}
/**
@@ -144,7 +197,10 @@ public class ExtensionsMenuBridge implements Destroyable {
@@ -144,7 +199,10 @@ public class ExtensionsMenuBridge implements Destroyable {
*/
@CalledByNative
public void onActionIconUpdated(int actionIndex) {
@@ -705,7 +624,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
}
/**
@@ -155,7 +211,10 @@ public class ExtensionsMenuBridge implements Destroyable {
@@ -155,7 +213,10 @@ public class ExtensionsMenuBridge implements Destroyable {
*/
@CalledByNative
public void onActionRemoved(int actionIndex) {
@@ -717,7 +636,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
}
/**
@@ -166,7 +225,10 @@ public class ExtensionsMenuBridge implements Destroyable {
@@ -166,7 +227,10 @@ public class ExtensionsMenuBridge implements Destroyable {
*/
@CalledByNative
public void onActionUpdated(int actionIndex) {
@@ -729,7 +648,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
}
/**
@@ -175,13 +237,14 @@ public class ExtensionsMenuBridge implements Destroyable {
@@ -175,13 +239,14 @@ public class ExtensionsMenuBridge implements Destroyable {
*/
@CalledByNative
public void onReady() {
@@ -788,7 +707,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
+ private final Map<ChromeAndroidTask, Delegate> mDelegates = new ArrayMap<>();
+
+ @Override
+ public void onAddedToTask() {
+ public void onAddedToTask(long nativeBrowserWindowPtr) {
mNativeExtensionsToolbarAndroid =
ExtensionsToolbarBridgeJni.get()
- .init(this, task.getOrCreateNativeBrowserWindowPtr(profile));
@@ -961,7 +880,17 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
assert params != null;
return params;
}
@@ -209,21 +260,21 @@ public class ExtensionsToolbarBridge implements Destroyable {
@@ -201,29 +252,29 @@ public class ExtensionsToolbarBridge implements Destroyable {
@CalledByNative
public void triggerPopup(@JniType("std::string") String actionId, long nativeHostPtr) {
// {@link mDelegate} should be set in {@code ExtensionActionListMediator}'s constructor.
- assert mDelegate != null;
+ assert Instance().mDelegate != null;
- mDelegate.triggerPopup(actionId, nativeHostPtr);
+ Instance().mDelegate.triggerPopup(actionId, nativeHostPtr);
}
@CalledByNative
void showContextMenu(@JniType("std::string") String actionId) {
// {@link mDelegate} should be set in {@code ExtensionActionListMediator}'s constructor.
@@ -987,7 +916,36 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
observer.onToolbarControlStateUpdated();
}
}
@@ -254,42 +305,42 @@ public class ExtensionsToolbarBridge implements Destroyable {
@@ -231,65 +282,65 @@ public class ExtensionsToolbarBridge implements Destroyable {
@CalledByNative
public boolean hasPoppedOutAction() {
// {@link mDelegate} should be set in {@code ExtensionActionListMediator}'s constructor.
- assert mDelegate != null;
+ assert Instance().mDelegate != null;
- return mDelegate.hasPoppedOutAction();
+ return Instance().mDelegate.hasPoppedOutAction();
}
@CalledByNative
public void hideActivePopup() {
// {@link mDelegate} should be set in {@code ExtensionActionListMediator}'s constructor.
- assert mDelegate != null;
+ assert Instance().mDelegate != null;
- mDelegate.hideActivePopup();
+ Instance().mDelegate.hideActivePopup();
}
@CalledByNative
public boolean hasActivePopup() {
// {@link mDelegate} should be set in {@code ExtensionActionListMediator}'s constructor.
- assert mDelegate != null;
+ assert Instance().mDelegate != null;
- return mDelegate.hasActivePopup();
+ return Instance().mDelegate.hasActivePopup();
}
@CalledByNative
public void onActionsInitialized() {
@@ -1090,26 +1048,10 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
/**
* Executes the given action.
*
@@ -141,6 +151,7 @@ public class ExtensionActionListCoordinator implements Destroyable {
* @param source How this execution was triggered.
*/
public void executeUserAction(String actionId, @InvocationSource int source) {
+ mExtensionsMenuButton.dismiss();
mMediator.executeUserAction(actionId, source);
}
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionActionListMediator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionActionListMediator.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionActionListMediator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionActionListMediator.java
@@ -39,6 +39,7 @@ import org.chromium.ui.modelutil.PropertyModel;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
+import java.util.function.Function;
@NullMarked
class ExtensionActionListMediator implements Destroyable {
@@ -87,11 +88,11 @@ class ExtensionActionListMediator implements Destroyable {
@@ -87,11 +87,11 @@ class ExtensionActionListMediator implements Destroyable {
private final WindowAndroid mWindowAndroid;
private final ModelList mModels;
private final ChromeAndroidTask mTask;
@@ -1122,7 +1064,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
private final ExtensionsToolbarBridge mExtensionsToolbarBridge;
private final ToolbarDelegate mToolbarDelegate = new ToolbarDelegate();
@@ -124,19 +125,20 @@ class ExtensionActionListMediator implements Destroyable {
@@ -124,19 +124,20 @@ class ExtensionActionListMediator implements Destroyable {
ExtensionActionListCoordinator.RecyclerViewDelegate recyclerViewDelegate,
ExtensionsToolbarBridge extensionsToolbarBridge,
@Nullable ContextMenuPopulatorFactory contextMenuPopulatorFactory,
@@ -1146,7 +1088,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
mExtensionsToolbarBridge.addObserver(mToolbarObserver);
reconcileActionItems();
}
@@ -149,7 +151,7 @@ class ExtensionActionListMediator implements Destroyable {
@@ -149,7 +150,7 @@ class ExtensionActionListMediator implements Destroyable {
assert mActionState instanceof ActionState.Idle;
mExtensionsToolbarBridge.removeObserver(mToolbarObserver);
@@ -1155,7 +1097,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
LifetimeAssert.setSafeToGc(mLifetimeAssert, true);
}
@@ -401,7 +403,8 @@ class ExtensionActionListMediator implements Destroyable {
@@ -401,7 +402,8 @@ class ExtensionActionListMediator implements Destroyable {
return mModels.get(index).model.get(ExtensionActionButtonProperties.ID);
}
@@ -1165,12 +1107,12 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
if (mActionState instanceof ActionState.PopupActive activeState) {
boolean closeOnly = activeState.getActionId().equals(actionId);
closePopup();
@@ -470,16 +473,14 @@ class ExtensionActionListMediator implements Destroyable {
@@ -470,16 +472,14 @@ class ExtensionActionListMediator implements Destroyable {
closeContextMenu();
ExtensionActionPopupContents contents = ExtensionActionPopupContents.create(nativeHostPtr);
- requestActionVisibility(actionId, () -> showPopupOnAnchor(actionId, contents));
+ showPopupOnReadyAnchor(actionId, contents);
+ showPopupOnAnchor(actionId, contents);
}
private void showPopupOnAnchor(String actionId, ExtensionActionPopupContents contents) {
@@ -1184,16 +1126,16 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
}
Activity activity = mWindowAndroid.getActivity().get();
@@ -564,7 +565,7 @@ class ExtensionActionListMediator implements Destroyable {
@@ -564,7 +564,7 @@ class ExtensionActionListMediator implements Destroyable {
assert mActionState instanceof ActionState.Idle;
ExtensionActionContextMenuBridge bridge =
new ExtensionActionContextMenuBridge(
- mTask, mProfile, actionId, webContents, ContextMenuSource.TOOLBAR_ACTION);
+ currentTab.getProfile(), mTask, actionId, webContents, ContextMenuSource.TOOLBAR_ACTION);
+ mTask, currentTab.getProfile(), actionId, webContents, ContextMenuSource.TOOLBAR_ACTION);
ExtensionActionContextMenuUtils.showContextMenu(
mContext,
buttonView,
@@ -597,7 +598,7 @@ class ExtensionActionListMediator implements Destroyable {
@@ -597,7 +597,7 @@ class ExtensionActionListMediator implements Destroyable {
/** Updates the list of displayed actions to fit within the provided width constraint. */
public void fitActionsWithinWidth(int availableWidth) {
@@ -1205,44 +1147,52 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java
@@ -45,6 +45,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter;
import org.chromium.ui.widget.RectProvider;
@@ -14,6 +14,7 @@ import androidx.core.widget.ImageViewCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import java.util.function.Function;
+import org.chromium.base.Callback;
import org.chromium.base.lifetime.Destroyable;
import org.chromium.base.supplier.NullableObservableSupplier;
import org.chromium.build.annotations.NullMarked;
@@ -71,6 +72,7 @@ public class ExtensionsMenuCoordinator implements Destroyable, ExtensionsToolbar
private final ExtensionActionListCoordinator mExtensionActionListCoordinator;
@Nullable @VisibleForTesting ExtensionsMenuMediator mMediator;
+ private Callback<String> mOpenUrlInCustomTab;
/**
* Constructor.
@@ -96,7 +98,9 @@ public class ExtensionsMenuCoordinator implements Destroyable, ExtensionsToolbar
TabCreator tabCreator,
ExtensionsToolbarBridge extensionsToolbarBridge,
MenuButtonPinningDelegate menuButtonPinningDelegate,
- ExtensionActionListCoordinator extensionActionListCoordinator) {
+ ExtensionActionListCoordinator extensionActionListCoordinator,
+ Callback<String> openUrlInCustomTab) {
+ mOpenUrlInCustomTab = openUrlInCustomTab;
mExtensionActionListCoordinator = extensionActionListCoordinator;
mContext = context;
mCurrentTabSupplier = currentTabSupplier;
@@ -234,6 +238,14 @@ public class ExtensionsMenuCoordinator implements Destroyable, ExtensionsToolbar
private void openUrlFromMenu(String url) {
mExtensionsMenuButton.dismiss();
+ if (mOpenUrlInCustomTab != null) {
+ Tab currentTab = mCurrentTabSupplier.get();
+ if (currentTab != null && currentTab.isIncognitoBranded()) {
+ mOpenUrlInCustomTab.onResult(url);
+ return;
+ }
+ }
+
/**
* Coordinator for the extensions menu, accessed from the puzzle icon in the toolbar. This class is
* responsible for the button and the menu.
LoadUrlParams params = new LoadUrlParams(url, PageTransition.AUTO_TOPLEVEL);
mTabCreator.createNewTab(params, TabLaunchType.FROM_CHROME_UI, null);
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuMediator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuMediator.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuMediator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuMediator.java
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser.toolbar.extensions;
import android.content.Context;
import android.graphics.Bitmap;
+import android.graphics.Bitmap;
import androidx.annotation.VisibleForTesting;
@@ -14,6 +15,7 @@ import org.chromium.base.supplier.NullableObservableSupplier;
import org.chromium.build.annotations.NullMarked;
import org.chromium.chrome.browser.extensions.ContextMenuSource;
import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.toolbar.extensions.ExtensionActionListCoordinator;
import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask;
@@ -30,6 +32,8 @@ import org.chromium.ui.widget.ViewRectProvider;
import java.util.List;
+import java.util.function.Function;
+
/**
* Mediator for the extensions menu. This class is responsible for listening to changes in the
* extensions and updating the model accordingly.
@@ -44,7 +48,6 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
@@ -44,7 +44,6 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
private final PropertyModel mSitePermissionsPageModel;
private final Runnable mOnReady;
private final ChromeAndroidTask mTask;
@@ -1250,7 +1200,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
private final ExtensionActionListCoordinator mExtensionActionListCoordinator;
/**
@@ -73,8 +76,8 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
@@ -73,8 +72,8 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
mCurrentTabSupplier = currentTabSupplier;
mOnReady = onReady;
mTask = task;
@@ -1261,16 +1211,16 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
mMainPageModel = mainPageModel;
mMainPageModel.set(
@@ -112,7 +115,7 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
@@ -112,7 +111,7 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
ExtensionActionContextMenuBridge contextMenuBridge =
new ExtensionActionContextMenuBridge(
- mTask, mProfile, actionId, webContents, ContextMenuSource.MENU_ITEM);
+ currentTab.getProfile(), mTask, actionId, webContents, ContextMenuSource.MENU_ITEM);
+ mTask, currentTab.getProfile(), actionId, webContents, ContextMenuSource.MENU_ITEM);
ExtensionActionContextMenuUtils.showContextMenu(
mContext,
@@ -142,7 +145,7 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
@@ -142,7 +141,7 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
public void destroy() {
mMainPageModel.set(ExtensionsMenuProperties.SITE_SETTINGS_TOGGLE_CLICK_LISTENER, null);
mSitePermissionsPageModel.set(SitePermissionsPageProperties.BACK_CLICK_LISTENER, null);
@@ -1279,7 +1229,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
}
/**
@@ -253,6 +256,7 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
@@ -253,6 +252,7 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
break;
}
}
@@ -1287,18 +1237,197 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
assert oldIndex != -1
: "Action model with ID " + entry.id + " should exist in mActionModels.";
@@ -479,7 +479,7 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
// open web store button present in the zero state view.
mMainPageModel.set(ExtensionsMenuProperties.DISCOVER_EXTENSIONS_VISIBLE, false);
} else {
- mMainPageModel.set(ExtensionsMenuProperties.DISCOVER_EXTENSIONS_VISIBLE, true);
+ mMainPageModel.set(ExtensionsMenuProperties.DISCOVER_EXTENSIONS_VISIBLE, false);
updateSiteSettingsToggle();
}
}
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinator.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinator.java
@@ -9,6 +9,7 @@ import android.view.KeyEvent;
import android.view.ViewGroup;
import android.view.ViewStub;
+import org.chromium.base.Callback;
import org.chromium.base.ServiceLoaderUtil;
import org.chromium.base.lifetime.Destroyable;
import org.chromium.base.supplier.NullableObservableSupplier;
@@ -53,7 +54,8 @@ public interface ExtensionsToolbarCoordinator extends Destroyable {
ThemeColorProvider themeColorProvider,
ViewGroup rootView,
@Nullable ContextMenuPopulatorFactory contextMenuPopulatorFactory,
- @Nullable SelectionDropdownMenuDelegate selectionDropdownMenuDelegate) {
+ @Nullable SelectionDropdownMenuDelegate selectionDropdownMenuDelegate,
+ Callback<String> openUrlInCustomTab) {
// Check if the extension UI is enabled first.
if (!ExtensionUi.isEnabled(profile)) {
return null;
@@ -75,7 +77,8 @@ public interface ExtensionsToolbarCoordinator extends Destroyable {
themeColorProvider,
rootView,
contextMenuPopulatorFactory,
- selectionDropdownMenuDelegate);
+ selectionDropdownMenuDelegate,
+ openUrlInCustomTab);
return coordinator;
}
@@ -97,7 +100,8 @@ public interface ExtensionsToolbarCoordinator extends Destroyable {
ThemeColorProvider themeColorProvider,
ViewGroup rootView,
@Nullable ContextMenuPopulatorFactory contextMenuPopulatorFactory,
- @Nullable SelectionDropdownMenuDelegate selectionDropdownMenuDelegate);
+ @Nullable SelectionDropdownMenuDelegate selectionDropdownMenuDelegate,
+ Callback<String> openUrlInCustomTab);
/**
* Dispatches the key event to trigger the corresponding extension action if any.
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinatorImpl.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinatorImpl.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinatorImpl.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinatorImpl.java
@@ -127,7 +127,7 @@ public class ExtensionsToolbarCoordinatorImpl implements ExtensionsToolbarCoordi
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser.toolbar.extensions;
import android.animation.Animator;
import android.content.Context;
+import android.content.res.ColorStateList;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
@@ -13,6 +14,7 @@ import android.view.ViewStub;
import android.widget.LinearLayout;
import android.widget.TextView;
+import org.chromium.base.Callback;
import org.chromium.base.lifetime.LifetimeAssert;
import org.chromium.base.supplier.NullableObservableSupplier;
import org.chromium.build.annotations.NullMarked;
@@ -25,6 +27,8 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.TabCreator;
import org.chromium.chrome.browser.theme.ThemeColorProvider;
+import org.chromium.chrome.browser.theme.ThemeUtils;
+import org.chromium.chrome.browser.ui.theme.BrandedColorScheme;
import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask;
import org.chromium.chrome.browser.ui.extensions.ExtensionActionsBridge;
import org.chromium.chrome.browser.ui.extensions.ExtensionsToolbarBridge;
@@ -58,6 +62,8 @@ public class ExtensionsToolbarCoordinatorImpl implements ExtensionsToolbarCoordi
private ExtensionAccessControlButtonCoordinator mExtensionAccessControlButtonCoordinator;
private PropertyModel mToolbarModel;
private PropertyModelChangeProcessor mMenuButtonChangeProcessor;
+ private Context mContext;
+ private ThemeColorProvider mThemeColorProvider;
private final MenuButtonWidthConsumer mMenuButtonWidthConsumer = new MenuButtonWidthConsumer();
private final RequestAccessButtonWidthConsumer mRequestAccessButtonWidthConsumer =
@@ -86,7 +92,9 @@ public class ExtensionsToolbarCoordinatorImpl implements ExtensionsToolbarCoordi
ThemeColorProvider themeColorProvider,
ViewGroup rootView,
@Nullable ContextMenuPopulatorFactory contextMenuPopulatorFactory,
- @Nullable SelectionDropdownMenuDelegate selectionDropdownMenuDelegate) {
+ @Nullable SelectionDropdownMenuDelegate selectionDropdownMenuDelegate,
+ Callback<String> openUrlInCustomTab) {
+ mThemeColorProvider = themeColorProvider;
mBridge = ExtensionActionsBridge.Instance();
mProfile = profile;
@@ -127,7 +135,8 @@ public class ExtensionsToolbarCoordinatorImpl implements ExtensionsToolbarCoordi
currentTabSupplier,
tabCreator,
mExtensionsToolbarBridge,
- mMenuButtonPinningDelegate);
+ mMenuButtonPinningDelegate, mExtensionActionListCoordinator);
+ mMenuButtonPinningDelegate,
+ mExtensionActionListCoordinator, openUrlInCustomTab);
mExtensionAccessControlButtonCoordinator =
new ExtensionAccessControlButtonCoordinator(
@@ -174,6 +183,8 @@ public class ExtensionsToolbarCoordinatorImpl implements ExtensionsToolbarCoordi
mToolbarModel.set(
ExtensionsToolbarProperties.EXTENSIONS_MENU_BUTTON_DEFAULT_BACKGROUND,
backgroundResource);
+ mExtensionsMenuCoordinator.onTintChanged(
+ /*tintList*/ null, mThemeColorProvider.getTint(), BrandedColorScheme.APP_DEFAULT);
}
@Override
@@ -202,6 +213,8 @@ public class ExtensionsToolbarCoordinatorImpl implements ExtensionsToolbarCoordi
mExtensionsMenuCoordinator.setMenuButtonPinned(isMenuButtonPinned());
}
+ updateMenuIconVisibility();
+
// Trigger layout and wait for the toolbar to provide us with width allocation.
ViewUtils.requestLayout(
mContainer, "ExtensionsToolbarCoordinatorImpl.updateMenuButtonPinState()");
@@ -223,9 +236,7 @@ public class ExtensionsToolbarCoordinatorImpl implements ExtensionsToolbarCoordi
}
private boolean shouldShowMenuIcon() {
- return mExtensionsMenuCoordinator.isExtensionsMenuOpen()
- || mShowExtensionsMenuPending
- || (mCanShowMenuIcon && isMenuButtonPinned());
+ return isMenuButtonPinned();
}
public class MenuButtonPinningDelegate {
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java
@@ -87,6 +87,7 @@ import org.chromium.chrome.browser.toolbar.ToolbarDataProvider;
import org.chromium.chrome.browser.toolbar.ToolbarProgressBar;
import org.chromium.chrome.browser.toolbar.ToolbarTabController;
import org.chromium.chrome.browser.toolbar.back_button.BackButtonCoordinator;
+import org.chromium.chrome.browser.toolbar.extensions.ExtensionsToolbarCoordinator;
import org.chromium.chrome.browser.toolbar.forward_button.ForwardButtonCoordinator;
import org.chromium.chrome.browser.toolbar.home_button.HomeButtonCoordinator;
import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonCoordinator;
@@ -324,6 +325,8 @@ public class ToolbarPhone extends ToolbarLayout
// to webpages.
private boolean mIsInLoadingPhaseFromNtpToWebpage;
+ private @Nullable ExtensionsToolbarCoordinator mExtensionsToolbarCoordinator;
+
// The following are some properties used during animation. We use explicit property classes
// to avoid the cost of reflection for each animation setup.
@@ -514,6 +517,14 @@ public class ToolbarPhone extends ToolbarLayout
}
}
+ @Override
+ public void setExtensionsToolbarCoordinator(
+ ExtensionsToolbarCoordinator extensionsToolbarCoordinator) {
+ mExtensionsToolbarCoordinator = extensionsToolbarCoordinator;
+ mExtensionsToolbarCoordinator.getMenuButtonWidthConsumer().updateVisibility(99999);
+ updateRippleBackground();
+ }
+
@Override
public void destroy() {
cancelAnimations();
@@ -2894,6 +2905,7 @@ public class ToolbarPhone extends ToolbarLayout
@Override
public void onTabOrModelChanged() {
super.onTabOrModelChanged();
+ updateRippleBackground();
updateNtpAnimationState();
updateVisualsForLocationBarState();
}
@@ -2911,6 +2923,10 @@ public class ToolbarPhone extends ToolbarLayout
mHomeButton.setBackgroundResource(toolbarIconRippleId);
getMenuButtonCoordinator().updateButtonBackground(toolbarIconRippleId);
mLocationBar.updateButtonBackground(omniboxIconRippleId);
+ if (mExtensionsToolbarCoordinator != null) {
+ mExtensionsToolbarCoordinator.updateMenuButtonBackground(
+ ToolbarUtils.getToolbarIconRippleId(isIncognitoBranded()));
+ }
}
private static boolean isVisualStateValidForBrandColorTransition(@VisualState int state) {
diff --git a/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskImpl.java b/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskImpl.java
--- a/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskImpl.java
+++ b/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskImpl.java
+12 -4
View File
@@ -10,13 +10,13 @@ in android there is a test function accessible in the developer settings.
build/config/compiler/compiler.gni | 3 +-
chrome/android/java/AndroidManifest.xml | 1 +
.../java/res/xml/developer_preferences.xml | 3 ++
.../tracing/settings/DeveloperSettings.java | 20 ++++++++++++
.../tracing/settings/DeveloperSettings.java | 20 +++++++++++
chrome/app/chrome_main_delegate.cc | 2 +-
chrome/browser/platform_util_android.cc | 32 +++++++++++++++++++
chrome/browser/platform_util_android.cc | 33 +++++++++++++++++++
.../chrome/browser/util/PlatformUtil.java | 10 ++++++
components/gwp_asan/client/gwp_asan.cc | 10 +++---
components/memory_system/memory_system.cc | 1 +
10 files changed, 76 insertions(+), 8 deletions(-)
10 files changed, 77 insertions(+), 8 deletions(-)
diff --git a/android_webview/lib/aw_main_delegate.cc b/android_webview/lib/aw_main_delegate.cc
--- a/android_webview/lib/aw_main_delegate.cc
@@ -135,7 +135,15 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat
diff --git a/chrome/browser/platform_util_android.cc b/chrome/browser/platform_util_android.cc
--- a/chrome/browser/platform_util_android.cc
+++ b/chrome/browser/platform_util_android.cc
@@ -85,4 +85,36 @@ bool IsVisible(gfx::NativeView view) {
@@ -10,6 +10,7 @@
#include "base/android/jni_string.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
+#include "base/logging.h"
#include "base/notimplemented.h"
#include "chrome/browser/platform_util_internal.h"
#include "ui/android/view_android.h"
@@ -85,4 +86,36 @@ bool IsVisible(gfx::NativeView view) {
} // namespace platform_util
@@ -14,11 +14,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
android_webview/BUILD.gn | 2 +-
.../src/partition_alloc/BUILD.gn | 2 +
base/android/device_info.cc | 8 ++-
base/android/device_info.cc | 8 +-
base/android/device_info.h | 3 +-
.../src/org/chromium/base/DeviceInfo.java | 8 ++-
.../src/org/chromium/base/DeviceInfo.java | 8 +-
build/BUILD.gn | 2 +-
.../java/templates/BuildConfig.template | 8 ++-
.../java/templates/BuildConfig.template | 8 +-
build/config/android/rules.gni | 4 +-
build/config/chrome_build.gni | 7 +-
build/config/compiler/BUILD.gn | 2 +-
@@ -30,14 +30,18 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../java/res/layout/manage_space_activity.xml | 14 +++-
.../java/res/xml/developer_preferences.xml | 6 ++
.../browser/ChromeBaseAppCompatActivity.java | 2 +-
.../chrome/browser/ChromeTabbedActivity.java | 2 +-
.../chrome/browser/app/ChromeActivity.java | 2 +-
.../AppMenuPropertiesDelegateImpl.java | 2 +-
.../settings/AppearanceSettingsFragment.java | 2 +-
.../layouts/LayoutManagerChrome.java | 2 +-
.../overlays/strip/StripLayoutUtils.java | 2 +-
.../IncognitoCustomTabIntentDataProvider.java | 4 +
.../DesktopSiteSettingsIphController.java | 2 +-
.../ExternalNavigationDelegateImpl.java | 3 +
.../browser/multiwindow/MultiWindowUtils.java | 2 +-
.../ChromeSiteSettingsDelegate.java | 2 +-
.../site_settings/ManageSpaceActivity.java | 20 ++++++
.../site_settings/ManageSpaceActivity.java | 20 +++++
...InterceptNavigationDelegateClientImpl.java | 2 +-
.../browser/tab/RequestDesktopUtils.java | 2 +-
.../TabbedAppMenuPropertiesDelegate.java | 2 +-
@@ -46,38 +50,44 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/app/extensions_strings.grdp | 7 ++
chrome/app/theme/theme_resources.grd | 4 +-
chrome/browser/BUILD.gn | 4 +-
chrome/browser/about_flags.cc | 4 ++
chrome/browser/about_flags.cc | 4 +
...chrome_selection_dropdown_menu_delegate.cc | 4 +-
.../bookmarks/bar/BookmarkBarUtils.java | 6 +-
.../bar/BookmarkBarVisibilityProvider.java | 2 +-
.../BrowserControlsUtils.java | 2 +-
chrome/browser/browser_process_impl.cc | 2 +-
chrome/browser/chrome_browser_field_trials.cc | 66 +++++++++----------
chrome/browser/chrome_browser_field_trials.cc | 76 +++++++++----------
.../chrome_browser_interface_binders_webui.cc | 4 +-
.../browser/chrome_content_browser_client.cc | 4 +-
chrome/browser/devtools/BUILD.gn | 2 +-
chrome/browser/download/BUILD.gn | 2 +-
.../chrome_download_manager_delegate.cc | 2 +-
.../download_offline_content_provider.cc | 4 +-
chrome/browser/extensions/BUILD.gn | 12 +++-
chrome/browser/extensions/BUILD.gn | 3 +-
.../chrome_extensions_api_client_android.cc | 2 +-
.../extensions/api/identity/web_auth_flow.cc | 6 +-
.../extensions/api/identity/web_auth_flow.h | 4 +-
.../browser/extensions/api/tabs/tabs_api.cc | 3 +
.../extensions/api/tabs/tabs_event_router.cc | 22 ++++++-
.../browser_extension_window_controller.cc | 19 +++++-
.../extensions/api/tabs/tabs_event_router.cc | 22 +++++-
.../browser_extension_window_controller.cc | 19 ++++-
.../browser_extension_window_controller.h | 6 +-
.../extensions/extension_management.cc | 8 ++-
.../extensions/extension_management.cc | 8 +-
.../browser/extensions/extension_management.h | 2 +-
chrome/browser/extensions/extension_util.cc | 11 ++++
.../browser/extensions/extension_tab_util.cc | 9 ++-
chrome/browser/extensions/extension_util.cc | 11 +++
.../chrome/browser/feed/FeedFeatures.java | 2 +-
.../feedback/DeviceInfoFeedbackSource.java | 2 +-
chrome/browser/finds/core/finds_tab_helper.cc | 2 +-
.../browser/flags/ChromeFeatureList.java | 6 +-
chrome/browser/glic/public/features.cc | 2 +-
.../glic/service/glic_instance_impl.cc | 2 +-
.../browser/incognito/IncognitoUtils.java | 2 +-
chrome/browser/media/router/BUILD.gn | 4 +-
.../browser/media/router/discovery/BUILD.gn | 2 +-
.../media/router/media_router_feature.cc | 10 +--
.../media/router/media_router_feature.h | 2 +-
.../media/webrtc/webrtc_event_log_manager.cc | 4 +-
.../NtpCustomizationUtils.java | 2 +-
.../browser/open_in_app/OpenInAppUtils.java | 2 +-
.../policy_value_and_status_aggregator.cc | 2 +-
...hrome_browser_main_extra_parts_profiles.cc | 2 +-
@@ -86,8 +96,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/browser/resources/BUILD.gn | 2 +-
chrome/browser/resources/discards/BUILD.gn | 2 +-
.../resources/extensions/detail_view.css | 6 ++
.../resources/extensions/extensions.html | 8 ++-
.../resources/extensions/extensions.html | 8 +-
.../resources/extensions/item_list.css | 10 +++
.../browser/resources/extensions/manager.css | 4 +
.../resources/extensions/toolbar.html.ts | 7 --
.../sessions/session_restore_android.cc | 4 +-
...omeProvidedSharingOptionsProviderBase.java | 4 +-
@@ -95,39 +106,39 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/browser/startup_data.h | 6 +-
.../common/task_manager_features.cc | 2 +-
chrome/browser/ui/BUILD.gn | 4 +-
.../browser/ui/android/context_menu_helper.cc | 12 +++-
.../browser/ui/android/context_menu_helper.cc | 12 ++-
.../browser/ui/android/context_menu_helper.h | 4 +-
.../desktop_site/DesktopSiteUtils.java | 4 +-
.../TopControlsLockCoordinator.java | 2 +-
chrome/browser/ui/android/extensions/BUILD.gn | 4 +-
.../extensions/extension_actions_bridge.cc | 23 +++++++
.../extensions/extension_actions_bridge.cc | 23 ++++++
.../extensions/extension_actions_bridge.h | 1 +
.../extensions/extensions_toolbar_android.cc | 1 +
.../java/res/layout/extensions_menu.xml | 1 +
.../res/layout/extensions_menu_footer.xml | 4 +-
.../res/layout/extensions_menu_footer.xml | 3 +-
.../extensions/java/res/values/dimens.xml | 1 +
.../ui/extensions/ExtensionActionsBridge.java | 6 ++
.../extensions/windowing/internal/BUILD.gn | 2 +-
.../extension_window_controller_bridge.cc | 17 ++---
.../extension_window_controller_bridge.cc | 17 +++--
.../extension_window_controller_bridge.h | 2 +-
.../Enable-extensions-Android.grdp | 15 +++++
.../Enable-extensions-Android.grdp | 15 ++++
.../Extensions-Android.grdp | 9 +++
.../browser/ui/android/tab_model/tab_model.cc | 2 +-
.../android/tab_model/tab_model_test_helper.h | 2 +-
.../toolbar/java/res/layout/toolbar_phone.xml | 6 ++
.../extensions/ExtensionsMenuCoordinator.java | 8 ++-
.../ExtensionsMenuItemProperties.java | 4 ++
.../extensions/ExtensionsMenuCoordinator.java | 8 +-
.../ExtensionsMenuItemProperties.java | 4 +
.../ExtensionsMenuItemViewBinder.java | 2 +
.../extensions/ExtensionsMenuMediator.java | 9 ++-
.../ExtensionsToolbarCoordinatorImpl.java | 9 +--
.../ExtensionsToolbarCoordinatorImpl.java | 9 ++-
chrome/browser/ui/browser_window/BUILD.gn | 2 +-
.../ChromeAndroidTaskTrackerFactory.java | 2 +-
chrome/browser/ui/prefs/BUILD.gn | 4 +-
chrome/browser/ui/prefs/prefs_tab_helper.cc | 8 +--
chrome/browser/ui/prefs/prefs_tab_helper.cc | 8 +-
.../browser/ui/webui/chrome_web_ui_configs.cc | 4 +-
.../browser/ui/webui/current_channel_logo.cc | 3 +-
.../browser/ui/webui/discards/discards_ui.cc | 8 +--
.../browser/ui/webui/discards/discards_ui.cc | 8 +-
chrome/chrome_paks.gni | 2 +-
chrome/common/chrome_features.cc | 2 +-
chrome/common/chrome_switches.cc | 2 +-
chrome/common/chrome_switches.h | 2 +-
chrome/common/extensions/api/api_sources.gni | 7 ++
@@ -135,15 +146,16 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/common/webui_url_constants.h | 2 +-
.../sandbox_status_extension_android.cc | 3 +-
.../sandbox_status_extension_android.h | 1 +
chrome/test/BUILD.gn | 18 ++---
chrome/test/BUILD.gn | 22 +++---
chrome/version.gni | 4 +-
.../core/browser/host_content_settings_map.cc | 6 ++
.../embedder_support/view/ContentView.java | 2 +-
.../embedder_support/user_agent_utils.cc | 14 ++--
components/local_state/local_state_utils.cc | 2 +-
.../browser/android/media_router_android.cc | 2 +-
.../browser/android/media_router_android.h | 2 +-
.../media_router/browser/media_router.h | 4 +-
.../policy/CombinedPolicyProvider.java | 8 +--
.../policy/CombinedPolicyProvider.java | 8 +-
.../components/policy/PolicyCacheUpdater.java | 2 +-
.../android/policy_cache_updater_android.cc | 4 +-
.../cloud/user_policy_signin_service_base.cc | 2 +-
@@ -162,15 +174,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../SelectionPopupControllerImpl.java | 5 ++
content/public/common/content_features.cc | 4 +-
.../render_frame_media_playback_options.cc | 2 +-
.../about_flags_cc/Extensions-Android.inc | 12 ++++
.../about_flags_cc/Webstore-protection.inc | 8 +--
.../about_flags_cc/Extensions-Android.inc | 12 +++
.../about_flags_cc/Webstore-protection.inc | 8 +-
...ntal-support-for-extensions-on-Android.inc | 1 +
extensions/browser/BUILD.gn | 4 +-
...browser_context_keyed_service_factories.cc | 2 +-
extensions/browser/api/system_cpu/BUILD.gn | 2 +-
.../api/web_request/permission_helper.cc | 2 +-
extensions/browser/extension_frame_host.cc | 8 +++
extensions/browser/extension_host.cc | 24 ++++++-
extensions/browser/extension_frame_host.cc | 8 ++
extensions/browser/extension_host.cc | 24 +++++-
extensions/buildflags/BUILD.gn | 3 +-
extensions/buildflags/buildflags.gni | 4 +-
extensions/common/api/schema.gni | 2 +-
@@ -185,13 +197,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../chromium/media/AudioManagerAndroid.java | 2 +-
net/features.gni | 4 +-
skia/features.gni | 2 +-
third_party/blink/common/features.cc | 2 +-
third_party/blink/common/features.cc | 4 +-
.../renderer/modules/modules_initializer.cc | 4 +-
third_party/libvpx/BUILD.gn | 2 +-
tools/grit/grit_args.gni | 3 +-
.../cpp_bundle_generator.py | 2 +-
.../chromium/ui/base/SelectFileDialog.java | 2 +-
.../ui/widget/PopupSpecCalculator.java | 9 ++-
.../ui/test/util/UiDisableIfSkipCheck.java | 8 +--
.../ui/test/util/UiDisableIfSkipCheck.java | 8 +-
.../chromium/ui/test/util/UiRestriction.java | 4 +-
ui/base/accelerators/command.cc | 2 +-
ui/base/device_form_factor_android.cc | 2 +-
@@ -203,7 +216,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
ui/webui/resources/cr_elements/BUILD.gn | 2 +-
.../cr_elements/cr_toolbar/cr_toolbar.css | 3 +
ui/webui/resources/css/BUILD.gn | 2 +-
191 files changed, 631 insertions(+), 306 deletions(-)
204 files changed, 657 insertions(+), 325 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Enable-extensions-Android.grdp
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Extensions-Android.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Extensions-Android.inc
@@ -414,7 +427,7 @@ diff --git a/cc/resources/ui_resource_bitmap.cc b/cc/resources/ui_resource_bitma
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -990,7 +990,7 @@ if (_is_default_toolchain) {
@@ -991,7 +991,7 @@ if (_is_default_toolchain) {
"//chrome/browser/password_entry_edit/android/internal:java",
]
@@ -423,7 +436,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
deps +=
[ "//chrome/browser/ui/android/extensions/windowing/internal:java" ]
} else {
@@ -2393,7 +2393,7 @@ if (_is_default_toolchain) {
@@ -2394,7 +2394,7 @@ if (_is_default_toolchain) {
"//components/embedder_support/android:virtual_structure_javatests",
]
@@ -483,7 +496,7 @@ diff --git a/chrome/android/java/res/layout/manage_space_activity.xml b/chrome/a
diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/android/java/res/xml/developer_preferences.xml
--- a/chrome/android/java/res/xml/developer_preferences.xml
+++ b/chrome/android/java/res/xml/developer_preferences.xml
@@ -44,4 +44,10 @@ found in the LICENSE file.
@@ -49,4 +49,10 @@ found in the LICENSE file.
android:key="pixel_perfect_mode"
android:title="@string/android_pixel_perfect_mode_title"
android:summary="@string/android_pixel_perfect_mode_summary" />
@@ -506,6 +519,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo
applySingleThemeOverlay(R.style.ThemeOverlay_BrowserUI_DesktopDensity);
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -2167,7 +2167,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@Override
public boolean shouldPersistAcrossReboots() {
- return DeviceInfo.isDesktop() && ChromeFeatureList.sPersistAcrossReboots.isEnabled();
+ return DeviceInfo.isDesktopFalse() && ChromeFeatureList.sPersistAcrossReboots.isEnabled();
}
private void handleDebugIntent(Intent intent) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -542,6 +567,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appearance/sett
initBookmarkBarPref();
initToolbarShortcutPref();
initUiThemePref();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
@@ -523,7 +523,7 @@ public class LayoutManagerChrome extends LayoutManagerImpl implements Accessibil
// proper solution that handles all formfactors.
if (ChromeFeatureList.isEnabled(
ChromeFeatureList.ENABLE_TOOLBAR_SWIPE_ON_NON_DESKTOP_LFF)
- ? DeviceInfo.isDesktop()
+ ? DeviceInfo.isDesktopCromite()
: DeviceFormFactor.isNonMultiDisplayContextOnTablet(mHost.getContext())) {
return false;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java
@@ -553,6 +590,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
+ && DeviceInfo.isDesktopFalse();
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
@@ -41,6 +41,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.CustomTabProfileType;
import org.chromium.chrome.browser.util.WindowFeatures;
import org.chromium.components.browser_ui.widget.TintedDrawable;
+import org.chromium.components.embedder_support.util.UrlConstants;
import java.util.ArrayList;
import java.util.List;
@@ -237,6 +238,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
}
public static boolean isValidIncognitoIntent(Intent intent, boolean recordMetrics) {
+ if (IntentHandler.getUrlFromIntent(intent).startsWith(UrlConstants.CHROME_EXTENSIONS_URL)) {
+ return false;
+ }
if (ContextUtils.getAppSharedPreferences()
.getBoolean(PrivacySettings.PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, false)) {
return true;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java b/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java
@@ -565,6 +623,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/De
return new DesktopSiteSettingsIphController(
windowAndroid,
activityTabProvider,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
@@ -294,6 +294,9 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@Override
public @Nullable Intent createIntentToPreventIncognitoAccess(GURL url) {
+ if (url.getSpec().startsWith(UrlConstants.CHROME_EXTENSIONS_URL)) {
+ return null;
+ }
if (!url.getSpec().startsWith(UrlConstants.CHROME_EXTENSIONS_URL)) {
return null;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
@@ -667,7 +738,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesk
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
@@ -1022,7 +1022,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -1023,7 +1023,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
// 2. The current tab is a PDF page.
NativePage nativePage = currentTab.getNativePage();
boolean isPdf = nativePage != null && nativePage.isPdf();
@@ -891,7 +962,7 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
// If enabled, render processes associated only with tabs in unfocused windows
// will be downgraded to "vis" priority, rather than remaining at "fg". This
@@ -163,23 +163,23 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
@@ -163,37 +163,37 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
// TODO(crbug.com/426461170): Remove once we enable this feature for all form
// factors. Currently we have no conclusion whether to enable this on mobile
// phones yet.
@@ -923,8 +994,10 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
+ // chrome::android::kLockTopControlsOnLargeTablets);
// TODO(crbug.com/445446479): Remove when rollout is complete to all form
// factors.
feature_overrides.EnableFeature(
@@ -187,13 +187,13 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
- feature_overrides.EnableFeature(
- sandbox::policy::features::kAndroidGpuSandbox);
+ // feature_overrides.EnableFeature(
+ // sandbox::policy::features::kAndroidGpuSandbox);
// Bypass the WebAudio output buffer, to reduce audio latency.
// TODO(crbug.com/436988695): Remove when the long term solution is
// implemented.
@@ -943,7 +1016,16 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
// Enables automatic picture-in-picture.
// TODO(crbug.com/421608904): Remove when rollout is complete to all form
// factors.
@@ -212,51 +212,51 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
@@ -206,57 +206,57 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
// Enable Media Engagement bypass and preload for desktop Android.
// TODO(crbug.com/490450572): Re-evaluate if we want to enable these features
// for all Android form factors after analysis.
- feature_overrides.EnableFeature(
- media::kMediaEngagementBypassAutoplayPolicies);
- feature_overrides.EnableFeature(media::kPreloadMediaEngagementData);
+ // feature_overrides.EnableFeature(
+ // media::kMediaEngagementBypassAutoplayPolicies);
+ // feature_overrides.EnableFeature(media::kPreloadMediaEngagementData);
// Disables the enhanced pip transition and uses the default animation.
// TODO(crbug.com/440384447): Remove when enhanced pip transition is fixed.
@@ -1048,7 +1130,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -4365,7 +4365,7 @@ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate(
@@ -4363,7 +4363,7 @@ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate(
// TODO(wenz): This should instead proceed with the selected certificate
// when there are matching certificates in the OS.
#if BUILDFLAG(ENABLE_EXTENSIONS) && \
@@ -1057,7 +1139,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
if (matching_certificates.empty() && nonmatching_certificates.empty()) {
extensions::ProcessMap* process_map =
extensions::ProcessMap::Get(profile);
@@ -4648,7 +4648,7 @@ void ChromeContentBrowserClient::OverrideWebPreferences(
@@ -4646,7 +4646,7 @@ void ChromeContentBrowserClient::OverrideWebPreferences(
// Fill font preferences. These are not registered on Android unless we're built
// with extensions (the chrome.fontSettings API can change these).
// - http://crbug.com/40337093, http://crbug.com/41304476.
@@ -1078,6 +1160,18 @@ diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn
sources += [
"global_confirm_info_bar.cc",
"global_confirm_info_bar.h",
diff --git a/chrome/browser/download/BUILD.gn b/chrome/browser/download/BUILD.gn
--- a/chrome/browser/download/BUILD.gn
+++ b/chrome/browser/download/BUILD.gn
@@ -295,7 +295,7 @@ source_set("impl") {
sources += [ "drag_download_item_aura.cc" ]
}
- if (is_android && !enable_desktop_android_extensions) {
+ if (is_android && !enable_desktop_android_extensions_cromite) {
sources += [ "download_crx_util_android.cc" ]
}
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc
--- a/chrome/browser/download/chrome_download_manager_delegate.cc
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc
@@ -1123,19 +1217,10 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL
sources += [ "chrome_extensions_browser_client_android.cc" ]
deps += [
@@ -1712,6 +1712,16 @@ source_set("chrome_extensions_browser_client") {
@@ -1712,6 +1712,7 @@ source_set("chrome_extensions_browser_client") {
"//extensions/browser",
"//extensions/browser/kiosk",
]
+
+ ### Extensions API module start
+ sources += [
+ "api/adblock_private/adblock_private_api.cc",
+ "api/adblock_private/adblock_private_api.h",
+ "api/eyeo_filtering_private/eyeo_filtering_private_api.cc",
+ "api/eyeo_filtering_private/eyeo_filtering_private_api.h",
+ ]
+
+ deps += [ "//components/adblock/content:browser" ]
}
@@ -1408,6 +1493,34 @@ diff --git a/chrome/browser/extensions/extension_management.h b/chrome/browser/e
// Checks if extensions are enabled for Desktop Android for the current
// profile. This is temporary for until extensions are ready for dogfooding.
// TODO(crbug.com/422307625): Remove this check once extensions are ready for
diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc
--- a/chrome/browser/extensions/extension_tab_util.cc
+++ b/chrome/browser/extensions/extension_tab_util.cc
@@ -447,8 +447,10 @@ api::tabs::Tab ExtensionTabUtil::CreateTabObject(
tab_list->GetOpenerForTab(tab_interface->GetHandle());
if (opener) {
content::WebContents* opener_contents = opener->GetContents();
+#if !BUILDFLAG(IS_ANDROID)
CHECK(opener_contents);
- tab_object.opener_tab_id = GetTabIdForExtensions(*opener_contents);
+#endif
+ if (opener_contents) tab_object.opener_tab_id = GetTabIdForExtensions(*opener_contents);
}
}
@@ -1130,7 +1132,12 @@ base::expected<GURL, std::string> ExtensionTabUtil::PrepareURLForNavigation(
void ExtensionTabUtil::ForEachTab(
base::RepeatingCallback<void(WebContents*)> callback) {
tabs::ForEachTabInterface([&callback](tabs::TabInterface* tab) {
+#if BUILDFLAG(IS_ANDROID)
+ WebContents* web_contents = tab->GetContents();
+ if (web_contents) callback.Run(web_contents);
+#else
callback.Run(tab->GetContents());
+#endif
return true;
});
}
diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extensions/extension_util.cc
--- a/chrome/browser/extensions/extension_util.cc
+++ b/chrome/browser/extensions/extension_util.cc
@@ -1460,6 +1573,18 @@ diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browse
type = TYPE_DESKTOP;
} else if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(
ContextUtils.getApplicationContext())) {
diff --git a/chrome/browser/finds/core/finds_tab_helper.cc b/chrome/browser/finds/core/finds_tab_helper.cc
--- a/chrome/browser/finds/core/finds_tab_helper.cc
+++ b/chrome/browser/finds/core/finds_tab_helper.cc
@@ -31,7 +31,7 @@ bool IsValidNavigation(content::NavigationHandle* navigation_handle) {
bool IsSupportedPlatform() {
#if BUILDFLAG(IS_ANDROID)
- if (base::android::device_info::is_desktop() ||
+ if (base::android::device_info::is_desktop_false() ||
base::android::device_info::is_tv() ||
base::android::device_info::is_automotive() ||
base::android::device_info::is_xr()) {
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -1490,6 +1615,30 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sReportNotificationContentDetectionData =
newCachedFlag(
REPORT_NOTIFICATION_CONTENT_DETECTION_DATA,
diff --git a/chrome/browser/glic/public/features.cc b/chrome/browser/glic/public/features.cc
--- a/chrome/browser/glic/public/features.cc
+++ b/chrome/browser/glic/public/features.cc
@@ -52,7 +52,7 @@ BASE_FEATURE(kGlicLiveMode,
);
BASE_FEATURE(kGlicDefaultToLastActiveConversation,
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/chrome/browser/glic/service/glic_instance_impl.cc b/chrome/browser/glic/service/glic_instance_impl.cc
--- a/chrome/browser/glic/service/glic_instance_impl.cc
+++ b/chrome/browser/glic/service/glic_instance_impl.cc
@@ -112,7 +112,7 @@ BASE_FEATURE(kGlicSuppressAnimationsOnDetach, base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kGlicRemoveDaisyChainingWhenFreShowing,
base::FEATURE_ENABLED_BY_DEFAULT);
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
BASE_FEATURE(kGlicUnbindOnClose, base::FEATURE_ENABLED_BY_DEFAULT);
#else
BASE_FEATURE(kGlicUnbindOnClose, base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java b/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
--- a/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
+++ b/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
@@ -1616,6 +1765,18 @@ diff --git a/chrome/browser/media/webrtc/webrtc_event_log_manager.cc b/chrome/br
return std::make_unique<GzippedLogFileWriterFactory>(
std::make_unique<GzipLogCompressorFactory>(
std::make_unique<DefaultGzippedSizeEstimator::Factory>()));
diff --git a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
--- a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
+++ b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
@@ -274,7 +274,7 @@ public class NtpCustomizationUtils {
/** Returns whether the NTP simplification is enabled on desktop. */
public static boolean isNtpSimplificationEnabledOnDesktop() {
- return ChromeFeatureList.sNtpSimplification.isEnabled() && DeviceInfo.isDesktop();
+ return ChromeFeatureList.sNtpSimplification.isEnabled() && DeviceInfo.isDesktopCromite();
}
/**
diff --git a/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java b/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java
--- a/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java
+++ b/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java
@@ -1772,6 +1933,17 @@ diff --git a/chrome/browser/resources/extensions/item_list.css b/chrome/browser/
}
#content-wrapper:has(extensions-review-panel),
diff --git a/chrome/browser/resources/extensions/manager.css b/chrome/browser/resources/extensions/manager.css
--- a/chrome/browser/resources/extensions/manager.css
+++ b/chrome/browser/resources/extensions/manager.css
@@ -73,3 +73,7 @@ extensions-item {
#right {
flex: 1 1 0;
}
+
+#drawer {
+ z-index: 9999;
+}
diff --git a/chrome/browser/resources/extensions/toolbar.html.ts b/chrome/browser/resources/extensions/toolbar.html.ts
--- a/chrome/browser/resources/extensions/toolbar.html.ts
+++ b/chrome/browser/resources/extensions/toolbar.html.ts
@@ -2108,17 +2280,6 @@ diff --git a/chrome/browser/ui/android/extensions/extensions_toolbar_android.cc
return Java_ExtensionAction_Constructor(
env, action_id, base::UTF16ToUTF8(action->GetTooltip(web_contents)),
base::UTF16ToUTF8(action->GetAccessibleName(web_contents)));
diff --git a/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml b/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml
--- a/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml
+++ b/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu.xml
@@ -193,6 +193,7 @@ found in the LICENSE file.
<View
android:id="@+id/extensions_menu_footer_divider"
+ android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="1dp"
app:layout_constraintTop_toBottomOf="@+id/extensions_menu_state_container"
diff --git a/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu_footer.xml b/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu_footer.xml
--- a/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu_footer.xml
+++ b/chrome/browser/ui/android/extensions/java/res/layout/extensions_menu_footer.xml
@@ -2130,15 +2291,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/res/layout/extensions_men
style="@style/ExtensionsMenuFooterRow"
tools:ignore="UseCompoundDrawables" >
@@ -54,6 +55,7 @@ found in the LICENSE file.
<LinearLayout
android:id="@+id/extensions_menu_manage_extensions_button"
+ android:visibility="gone"
style="@style/ExtensionsMenuFooterRow"
tools:ignore="UseCompoundDrawables" >
@@ -70,4 +72,4 @@ found in the LICENSE file.
@@ -70,4 +71,4 @@ found in the LICENSE file.
</LinearLayout>
@@ -2316,8 +2469,8 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_phone.xml
android:visibility="gone"/>
+ <ViewStub
+ android:id="@+id/extension_toolbar_container_stub"
+ android:inflatedId="@+id/extension_toolbar_container"
+ android:id="@+id/extensions_toolbar_container_stub"
+ android:inflatedId="@+id/extensions_toolbar_container"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent" />
+
@@ -2643,6 +2796,18 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
sources += [
"$root_gen_dir/chrome/discards_resources.pak",
"$root_gen_dir/chrome/management_resources.pak",
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -882,7 +882,7 @@ BASE_FEATURE(kGlicButtonAltLabel, base::FEATURE_ENABLED_BY_DEFAULT);
const base::FeatureParam<int> kGlicButtonAltLabelVariant{
&kGlicButtonAltLabel, "glic-button-alt-label-variant", 0};
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
BASE_FEATURE(kGlicDaisyChainNewTabs, base::FEATURE_DISABLED_BY_DEFAULT);
#else
BASE_FEATURE(kGlicDaisyChainNewTabs, base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -2760,6 +2925,15 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
sources += [
"../browser/extensions/test_extension_menu_model_android.cc",
"../browser/extensions/test_extension_menu_model_android.h",
@@ -1527,7 +1527,7 @@ source_set("platform_browser_tests") {
}
}
- if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) {
+ if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android_cromite) {
sources += [ "../browser/net/network_context_configuration_browsertest.cc" ]
deps += [
"//chrome/browser/ui/browser_window:create_browser_window",
@@ -1586,7 +1586,7 @@ source_set("platform_browser_tests") {
sources += [ "../browser/enterprise/remote_commands/user_remote_commands_service_browsertest.cc" ]
}
@@ -2823,6 +2997,15 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
sources +=
[ "../browser/policy/developer_tools_policy_handler_unittest.cc" ]
}
@@ -10286,7 +10286,7 @@ test("unit_tests") {
}
}
- if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) {
+ if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android_cromite) {
sources += [
"../browser/ui/webui/management/management_ui_handler_unittest.cc",
"../browser/ui/webui/management/management_ui_unittest.cc",
diff --git a/chrome/version.gni b/chrome/version.gni
--- a/chrome/version.gni
+++ b/chrome/version.gni
@@ -2938,6 +3121,18 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
return std::string();
}
diff --git a/components/local_state/local_state_utils.cc b/components/local_state/local_state_utils.cc
--- a/components/local_state/local_state_utils.cc
+++ b/components/local_state/local_state_utils.cc
@@ -39,7 +39,7 @@ base::ListValue GetPrefsMetadata(
metadata.Append("managed_by_custodian");
break;
case PrefValueStore::PrefStoreType::EXTENSION_STORE:
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
metadata.Append("extension_controlled");
metadata.Append("extension_modifiable");
break;
diff --git a/components/media_router/browser/android/media_router_android.cc b/components/media_router/browser/android/media_router_android.cc
--- a/components/media_router/browser/android/media_router_android.cc
+++ b/components/media_router/browser/android/media_router_android.cc
@@ -3696,6 +3891,15 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
@@ -2742,7 +2742,7 @@ bool IsFencedFramesEnabled() {
// https://bugs.chromium.org/p/chromium/issues/detail?id=1335069#c3.
bool IsMemoryPurgeOnBackgroundingEnabled() {
return
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_FALSE)
false
#else
true
diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_party/blink/renderer/modules/modules_initializer.cc
--- a/third_party/blink/renderer/modules/modules_initializer.cc
+++ b/third_party/blink/renderer/modules/modules_initializer.cc
@@ -3717,6 +3921,18 @@ diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_p
page.ProvideSupplement(MakeGarbageCollected<SuspendCaptureObserver>(page));
#endif // BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
}
diff --git a/third_party/libvpx/BUILD.gn b/third_party/libvpx/BUILD.gn
--- a/third_party/libvpx/BUILD.gn
+++ b/third_party/libvpx/BUILD.gn
@@ -30,7 +30,7 @@ if (current_cpu == "x86") {
}
} else if (current_cpu == "arm64" || current_cpu == "arm64e") {
if (is_linux || is_win || is_chromeos || is_mac || is_ios ||
- is_desktop_android) {
+ is_desktop_android_false) {
# This is necessary for CrOS and macOS as they reuse the Linux
# configuration, of which there are two (see the later definition of
# os_category).
diff --git a/tools/grit/grit_args.gni b/tools/grit/grit_args.gni
--- a/tools/grit/grit_args.gni
+++ b/tools/grit/grit_args.gni
@@ -250,7 +250,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//components/variations:variations_java",
"//components/variations/android:variations_java",
"//components/viz/service:service_java",
@@ -1769,6 +1774,7 @@ if (_is_default_toolchain) {
@@ -1770,6 +1775,7 @@ if (_is_default_toolchain) {
java_group("chrome_public_non_pak_assets") {
deps = [
"//chrome/android/webapk/libs/runtime_library:runtime_library_assets",
@@ -4158,7 +4158,7 @@ new file mode 100755
+#include "ui/shell_dialogs/selected_file_info.h"
+#include "ui/shell_dialogs/select_file_dialog.h"
+#include "content/browser/file_system_access/file_system_chooser.h"
+#include "chrome/browser/ui/chrome_select_file_policy.h"
+#include "chrome/browser/ui/select_file_policy/chrome_select_file_policy.h"
+#include "ui/android/window_android.h"
+
+#include "../common/user_scripts_features.h"
@@ -9302,7 +9302,7 @@ new file mode 100755
+ blink::WebStyleSheetKey style_sheet_key;
+ if (const std::optional<std::string>& injection_key =
+ injector_->GetInjectionKey())
+ style_sheet_key = blink::WebString::FromASCII(*injection_key);
+ style_sheet_key = blink::WebString::FromAscii(*injection_key);
+ for (const blink::WebString& css : css_sources)
+ web_frame->GetDocument().InsertStyleSheet(css, &style_sheet_key,
+ blink_css_origin);
+97 -6
View File
@@ -65,7 +65,7 @@ suit Cromite logic.
.../browser/resource_classification_runner.h | 7 +
.../resource_classification_runner_impl.cc | 71 +-
.../resource_classification_runner_impl.h | 8 +
components/adblock/core/BUILD.gn | 39 -
components/adblock/core/BUILD.gn | 41 +-
components/adblock/core/common/BUILD.gn | 8 -
.../adblock/core/common/adblock_constants.cc | 17 +-
.../adblock/core/common/adblock_constants.h | 1 -
@@ -93,6 +93,7 @@ suit Cromite logic.
.../adblock/core/resources/elemhideemu.jst | 2 +
.../resources/snippets/dist/dependencies.jst | 1690 ++++++
.../dist/isolated-first-all.source.jst | 5256 +++++++++++++++++
components/adblock/core/sha256_file.py | 75 +
.../adblock/core/sitekey_storage_impl.cc | 17 +-
.../core/subscription/conversion_executors.h | 1 +
.../filtering_configuration_maintainer.h | 4 +
@@ -131,7 +132,7 @@ suit Cromite logic.
.../renderer/core/exported/web_document.cc | 13 +-
.../blink/renderer/core/html/html_element.cc | 8 +-
.../definitions/adblock_private.d.ts | 14 +
126 files changed, 9368 insertions(+), 708 deletions(-)
127 files changed, 9444 insertions(+), 709 deletions(-)
rename chrome/browser/adblock/android/java/res/xml/{adblock_preferences.xml => eyeo_adblock_preferences.xml} (59%)
create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.html
create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.ts
@@ -140,6 +141,7 @@ suit Cromite logic.
create mode 100644 components/adblock/core/converter/parser/test/test_rules.txt
create mode 100644 components/adblock/core/resources/snippets/dist/dependencies.jst
create mode 100644 components/adblock/core/resources/snippets/dist/isolated-first-all.source.jst
create mode 100644 components/adblock/core/sha256_file.py
create mode 100644 components/content_settings/core/browser/bromite_content_settings/ads.inc
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Stricter-popup-blocker.inc
@@ -884,7 +886,7 @@ diff --git a/chrome/browser/adblock/android/java/src/org/chromium/chrome/browser
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -6639,7 +6639,9 @@ ChromeContentBrowserClient::
@@ -6637,7 +6637,9 @@ ChromeContentBrowserClient::
}
bool ChromeContentBrowserClient::WillInterceptWebSocket(
@@ -895,7 +897,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
if (!frame) {
return false;
@@ -6661,9 +6663,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
@@ -6659,9 +6661,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
}
void ChromeContentBrowserClient::CreateWebSocket(
@@ -2374,7 +2376,7 @@ new file mode 100644
+ load_time_data.Set("tabTitle",
+ l10n_util::GetStringUTF16(IDS_ERRORPAGES_TITLE_BLOCKED_BY_ADMINISTRATOR));
+ load_time_data.Set("heading",
+ l10n_util::GetStringUTF16(IDS_ERRORPAGES_HEADING_BLOCKED_BY_ADMINISTRATOR));
+ l10n_util::GetStringUTF16(IDS_ERRORPAGES_HEADING_BLOCKED_BY_ADMINISTRATOR_ADBLOCK));
+
+ std::u16string subscription_url_string(url_formatter::FormatUrl(
+ subscription_url_, url_formatter::kFormatUrlOmitNothing,
@@ -3923,6 +3925,15 @@ diff --git a/components/adblock/core/BUILD.gn b/components/adblock/core/BUILD.gn
import("//third_party/flatbuffers/flatbuffer.gni")
flatbuffer("schema") {
@@ -28,7 +27,7 @@ action("generate_schema_hash") {
# The script lives in /chrome but has no dependencies to the //chrome target.
# According to the script's author, it could be moved to /build but only if
# there's code *upstream* that needs it outside of /chrome.
- script = "//chrome/tools/build/sha256_file.py"
+ script = "//components/adblock/core/sha256_file.py"
outputs = [ "${target_gen_dir}/schema/schema_hash.cc" ]
inputs = [ "${target_gen_dir}/schema/filter_list_schema_generated.h" ]
@@ -49,43 +48,9 @@ source_set("schema_hash") {
deps = [ ":generate_schema_hash" ]
}
@@ -12002,6 +12013,86 @@ new file mode 100644
+ document.addEventListener("readystatechange", executeScript, {once:true});
+ }
+}
diff --git a/components/adblock/core/sha256_file.py b/components/adblock/core/sha256_file.py
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/sha256_file.py
@@ -0,0 +1,75 @@
+#!/usr/bin/env python
+# Copyright 2021 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+"""sha256_file.py takes one or more files, computes a SHA-256 hash over it,
+and writes a .cc file containing variables with the digest bytes.
+
+Usage:
+ sha256_file.py path/to/hashes file1.txt file2.pak
+
+Which will create path/to/hashes.cc with a constant for each of the specified
+input file's hash. Corresponding header file should be committed in codebase to
+avoid unnecessary build serilization.
+"""
+
+import hashlib
+import os.path
+import sys
+
+sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)),
+ os.path.pardir, os.path.pardir, os.path.pardir,
+ 'build'))
+import action_helpers
+
+
+def main(argv):
+ if len(argv) < 3:
+ print('Usage: {} output_path_prefix file1.pak...'.format(argv[0]),
+ file=sys.stderr)
+ return 1
+
+ output_path_prefix = argv[1]
+
+ cc_contents = '#include "{}.h"\n\n'.format(
+ # Drop (<toolchain>/)gen/ prefix.
+ output_path_prefix.split('gen/', 1)[1])
+ for (name, value) in _hash_files(argv[2:]):
+ name = 'kSha256_' + os.path.basename(name).replace('.', '_')
+ cc_contents += 'const std::array<uint8_t, 32> {} = {{'.format(name)
+ cc_contents += ', '.join(map(hex, value))
+ cc_contents += '};\n\n'
+
+ with action_helpers.atomic_output(output_path_prefix + '.cc',
+ mode='w') as f:
+ f.write(FILE_TEMPLATE.format(contents=cc_contents))
+
+
+def _hash_files(files):
+ for path in files:
+ with open(path, 'rb') as f:
+ yield path, _hash_file_contents(f)
+
+
+def _hash_file_contents(f):
+ sha2 = hashlib.sha256()
+ while True:
+ data = f.read(4096)
+ if not data:
+ break
+ sha2.update(data)
+ return sha2.digest()
+
+
+FILE_TEMPLATE = """// Generated by chrome/tools/build/sha256_file.py
+// !! DO NOT EDIT !!
+
+#include <stdint.h>
+
+#include <array>
+
+{contents}
+"""
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
diff --git a/components/adblock/core/sitekey_storage_impl.cc b/components/adblock/core/sitekey_storage_impl.cc
--- a/components/adblock/core/sitekey_storage_impl.cc
+++ b/components/adblock/core/sitekey_storage_impl.cc
@@ -12979,7 +13070,7 @@ diff --git a/components/error_page_strings.grdp b/components/error_page_strings.
+ <message name="IDS_ERRORPAGES_TITLE_BLOCKED_BY_ADMINISTRATOR" desc="Title in the error page when an administrator policy blocks a request.">
+ Blocked by Adblock
+ </message>
+ <message name="IDS_ERRORPAGES_HEADING_BLOCKED_BY_ADMINISTRATOR" desc="Heading in the error page when an administrator policy blocks a request.">
+ <message name="IDS_ERRORPAGES_HEADING_BLOCKED_BY_ADMINISTRATOR_ADBLOCK" desc="Heading in the error page when an administrator policy blocks a request.">
+ Blocked by Adblock
+ </message>
+ <message name="IDS_ERRORPAGES_PRIMARY_PARAGRAPH_BLOCKED_BY_ADMINISTRATOR" desc="Primary paragraph in the error page when an administrator policy blocks a request.">
@@ -7,14 +7,32 @@ using the new flags on android
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/browser/net/system_network_context_manager.cc | 2 +-
.../common/features_cc/Improve-the-browser-sandbox.inc | 2 ++
.../content_features_cc/Improve-the-browser-sandbox.inc | 1 +
sandbox/policy/features.cc | 9 +++++++++
4 files changed, 13 insertions(+), 1 deletion(-)
.../android/java/res/xml/developer_preferences.xml | 5 +++++
chrome/browser/net/system_network_context_manager.cc | 2 +-
.../Improve-the-browser-sandbox.grdp | 9 +++++++++
.../about_flags_cc/Improve-the-browser-sandbox.inc | 12 ++++++++++++
.../features_cc/Improve-the-browser-sandbox.inc | 2 ++
.../Improve-the-browser-sandbox.inc | 1 +
sandbox/policy/features.cc | 10 +++++++++-
7 files changed, 39 insertions(+), 2 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Improve-the-browser-sandbox.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Improve-the-browser-sandbox.inc
create mode 100644 cromite_flags/content/common/features_cc/Improve-the-browser-sandbox.inc
create mode 100644 cromite_flags/content/public/common/content_features_cc/Improve-the-browser-sandbox.inc
diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/android/java/res/xml/developer_preferences.xml
--- a/chrome/android/java/res/xml/developer_preferences.xml
+++ b/chrome/android/java/res/xml/developer_preferences.xml
@@ -20,4 +20,9 @@ found in the LICENSE file.
android:title="Hint: You can also enable Developer options on Beta/Stable channels by tapping the Chrome version in &quot;Settings > About Chrome&quot; multiple times."
app:allowDividerAbove="false"
app:allowDividerBelow="false" />
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:title="@string/android_gpu_sandbox_title"
+ android:summary="@string/android_gpu_sandbox_summary"
+ app:featureName="android-gpu-sandbox"
+ app:needRestart="true" />
</PreferenceScreen>
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -27,6 +45,37 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
} // namespace features
class SystemNetworkContextManager::NetworkProcessLaunchWatcher
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Improve-the-browser-sandbox.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Improve-the-browser-sandbox.grdp
new file mode 100644
--- /dev/null
+++ b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Improve-the-browser-sandbox.grdp
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<grit-part>
+ <message name="IDS_ANDROID_GPU_SANDBOX_TITLE" desc="Text for 'Enable Landlock' settings option.">
+ Android GPU sandbox
+ </message>
+ <message name="IDS_ANDROID_GPU_SANDBOX_SUMMARY" desc="Summary text for 'Enable Landlock' settings option.">
+ Enables the experimental Android GPU sandbox using Landlock (A16+)
+ </message>
+</grit-part>
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Improve-the-browser-sandbox.inc b/cromite_flags/chrome/browser/about_flags_cc/Improve-the-browser-sandbox.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/about_flags_cc/Improve-the-browser-sandbox.inc
@@ -0,0 +1,12 @@
+#ifdef FLAG_SECTION
+
+#if BUILDFLAG(IS_ANDROID)
+
+ {"android-gpu-sandbox",
+ "Enable Gpu Sandbox",
+ "Enables the experimental Android GPU sandbox using Landlock", kOsAndroid,
+ FEATURE_VALUE_TYPE(sandbox::policy::features::kAndroidGpuSandbox)},
+
+#endif
+
+#endif // ifdef FLAG_SECTION
diff --git a/cromite_flags/content/common/features_cc/Improve-the-browser-sandbox.inc b/cromite_flags/content/common/features_cc/Improve-the-browser-sandbox.inc
new file mode 100644
--- /dev/null
@@ -43,14 +92,22 @@ new file mode 100644
diff --git a/sandbox/policy/features.cc b/sandbox/policy/features.cc
--- a/sandbox/policy/features.cc
+++ b/sandbox/policy/features.cc
@@ -167,4 +167,13 @@ bool IsNetworkSandboxEnabled() {
@@ -112,7 +112,7 @@ BASE_FEATURE(kHigherRendererMemoryLimit, base::FEATURE_DISABLED_BY_DEFAULT);
#if BUILDFLAG(IS_ANDROID)
// Enables the experimental Android GPU sandbox using Landlock.
-BASE_FEATURE(kAndroidGpuSandbox, base::FEATURE_DISABLED_BY_DEFAULT);
+CROMITE_FEATURE(kAndroidGpuSandbox, "AndroidGpuSandbox", base::FEATURE_DISABLED_BY_DEFAULT);
// Enables the renderer on Android to use a separate seccomp policy.
BASE_FEATURE(kUseRendererProcessPolicy, base::FEATURE_ENABLED_BY_DEFAULT);
// When enabled, this features restricts a set of syscalls in
@@ -167,4 +167,12 @@ bool IsNetworkSandboxEnabled() {
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
}
+#if BUILDFLAG(IS_ANDROID)
+SET_CROMITE_FEATURE_ENABLED(kUseRendererProcessPolicy);
+SET_CROMITE_FEATURE_ENABLED(kRestrictRendererPoliciesInBaseline);
+SET_CROMITE_FEATURE_ENABLED(kAndroidGpuSandbox);
+#endif
+#if BUILDFLAG(IS_WIN)
+SET_CROMITE_FEATURE_ENABLED(kNetworkServiceSandbox);
+2 -2
View File
@@ -170,8 +170,8 @@ diff --git a/third_party/blink/renderer/core/events/keyboard_event.cc b/third_pa
+ // regenerate key_ and code_ for us keyboard
+ // if the value is not recalculated, or a key is not found
+ // in the English layout, the value is empty
+ key_ = FromUTF8(ui::KeycodeConverter::DomKeyToKeyString(ascii_key));
+ code_ = FromUTF8(ui::KeycodeConverter::DomCodeToCodeString(us_code));
+ key_ = FromUtf8(ui::KeycodeConverter::DomKeyToKeyString(ascii_key));
+ code_ = FromUtf8(ui::KeycodeConverter::DomCodeToCodeString(us_code));
+
+ // suppress event if is ctrl/shift/alt... otherwise key_code of
+ // the next character can be stolen
+104 -22
View File
@@ -32,6 +32,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chrome/browser/ChromeTabbedActivity.java | 3 +-
.../ChromeAccessibilitySettingsDelegate.java | 70 +++++++++
.../HeadlessBrowserControlsStateProvider.java | 5 +
.../BottomBarContainerCoordinator.java | 7 +-
.../compositor/CompositorViewHolder.java | 7 +
.../layouts/LayoutManagerChrome.java | 12 +-
.../layouts/LayoutManagerChromeTablet.java | 7 +-
@@ -42,19 +43,20 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../scene_layer/StaticTabSceneLayer.java | 7 +-
.../scene_layer/TabStripSceneLayer.java | 20 ++-
.../browser/findinpage/FindToolbarTablet.java | 10 +-
.../fullscreen/BrowserControlsManager.java | 17 +-
.../messages/MessageContainerCoordinator.java | 15 +-
.../fullscreen/BrowserControlsManager.java | 20 ++-
.../messages/MessageContainerCoordinator.java | 20 ++-
.../modaldialog/ChromeTabModalPresenter.java | 2 +-
.../chrome/browser/ntp/NewTabPage.java | 14 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 10 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 12 +-
.../chrome/browser/ntp/RecentTabsPage.java | 31 +++-
.../browser/page_info/ChromePageInfo.java | 2 +
.../browser/searchwidget/SearchActivity.java | 14 ++
.../settings/FragmentDependencyProvider.java | 5 +
.../StatusIndicatorCoordinator.java | 9 ++
.../StatusIndicatorSceneLayer.java | 6 +-
.../browser/toolbar/ToolbarManager.java | 37 ++++-
.../browser/toolbar/ToolbarManager.java | 39 ++++-
.../chrome/browser/ui/BottomContainer.java | 18 +++
.../chrome/browser/ui/BottomSheetManager.java | 10 ++
.../ui/system/StatusBarColorController.java | 8 +
.../android/compositor/layer/toolbar_layer.cc | 6 +-
.../scene_layer/tab_strip_scene_layer.cc | 16 +-
@@ -108,7 +110,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../render_widget_host_view_android.cc | 3 +
.../Move-navigation-bar-to-bottom.inc | 17 ++
.../renderer/core/frame/viewport_data.cc | 1 +
95 files changed, 1086 insertions(+), 103 deletions(-)
97 files changed, 1111 insertions(+), 107 deletions(-)
create mode 100644 chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc
@@ -922,6 +924,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/He
@Override
public int getTopControlsMinHeight() {
return 0;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bottombar/BottomBarContainerCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/bottombar/BottomBarContainerCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bottombar/BottomBarContainerCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bottombar/BottomBarContainerCoordinator.java
@@ -22,6 +22,10 @@ import org.chromium.chrome.browser.ui.bottombar.BottomBar;
import org.chromium.chrome.browser.ui.bottombar.BottomBarHostManager.Host;
import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
+import org.chromium.base.supplier.NullableObservableSupplier;
+import org.chromium.chrome.browser.theme.TopUiThemeColorProvider;
+import org.chromium.chrome.browser.tab.Tab;
+
/**
* Container for the bottom bar.
*
@@ -76,7 +80,8 @@ public class BottomBarContainerCoordinator implements BottomControlsContentDeleg
@Override
public void initializeWithNative(
BottomControlsVisibilityController visibilityController,
- Callback<Object> onModelTokenChange) {
+ Callback<Object> onModelTokenChange,
+ TopUiThemeColorProvider topUiThemeColorProvider, NullableObservableSupplier<Tab> tabSupplier) {
mVisibilityController = visibilityController;
mOnModelTokenChange = onModelTokenChange;
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
@@ -1344,7 +1370,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
/** A class that manages browser control visibility and positioning. */
@NullMarked
public class BrowserControlsManager implements ActivityStateListener, BrowserControlsSizer {
@@ -580,6 +582,14 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
@@ -364,6 +366,9 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
mRendererTopContentOffset = mTopControlsHeight;
updateControlOffset();
scheduleVisibilityUpdate();
+ for (BrowserControlsStateProvider.Observer obs : mControlsObservers) {
+ obs.onTopControlsHeightChanged(mTopControlsHeight, mTopControlsMinHeight);
+ }
}
/**
@@ -580,6 +585,14 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
}
}
@@ -1359,7 +1395,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
@Override
public int getTopControlsMinHeight() {
return mTopControlsMinHeight;
@@ -681,6 +691,8 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
@@ -681,6 +694,8 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
@Override
public float getTopVisibleContentOffset() {
@@ -1368,7 +1404,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
return getTopControlsHeight() + getTopControlOffset();
}
@@ -931,7 +943,10 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
@@ -931,7 +946,10 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
TraceEvent.scoped("BrowserControlsManager.notifyControlOffsetChanged")) {
scheduleVisibilityUpdate();
if (shouldShowAndroidControls() && mControlsPosition == ControlsPosition.TOP) {
@@ -1383,21 +1419,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
@@ -18,6 +18,9 @@ import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
@@ -18,6 +18,10 @@ import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
import org.chromium.components.messages.MessageContainer;
import org.chromium.ui.base.ViewUtils;
+import android.view.Gravity;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import androidx.coordinatorlayout.widget.CoordinatorLayout;
+
/**
* Coordinator of {@link MessageContainer}, which can adjust margins of the message container and
* control the visibility of browser control when message is being shown.
@@ -62,7 +65,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
@@ -60,9 +64,14 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
if (mContainer.getVisibility() != View.VISIBLE) {
return;
}
ViewGroup.MarginLayoutParams params =
(ViewGroup.MarginLayoutParams) mContainer.getLayoutParams();
- ViewGroup.MarginLayoutParams params =
- (ViewGroup.MarginLayoutParams) mContainer.getLayoutParams();
- params.topMargin = getContainerTopOffset();
+ CoordinatorLayout.LayoutParams params =
+ (CoordinatorLayout.LayoutParams) mContainer.getLayoutParams();
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ params.gravity = Gravity.START | Gravity.BOTTOM;
+ params.bottomMargin = getContainerTopOffset();
@@ -1407,7 +1448,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/Messag
mContainer.setLayoutParams(params);
}
@@ -171,7 +179,10 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
@@ -171,7 +180,10 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
*/
private int getContainerTopOffset() {
assert mContainer != null;
@@ -1475,17 +1516,19 @@ 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
@@ -6,6 +6,9 @@ package org.chromium.chrome.browser.ntp;
@@ -16,6 +16,11 @@ import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
import org.chromium.chrome.R;
import android.content.Context;
import android.util.AttributeSet;
+import android.view.ViewGroup.LayoutParams;
+import android.widget.FrameLayout;
+import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewStub;
@@ -59,7 +62,12 @@ public class NewTabPageLayout extends LinearLayout {
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+
/**
* Layout for the new tab page. This positions the page elements in the correct vertical positions.
* There are no separate phone and tablet UIs; this layout adapts based on the available space.
@@ -59,7 +64,12 @@ public class NewTabPageLayout extends LinearLayout {
Log.i(TAG, "NewTabPageLayout.onFinishInflate before insertSiteSectionView");
initializeSiteSectionView();
@@ -1793,6 +1836,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
if (mInitializedWithNative) {
tabGroupUiBottomControlsCoordinator.initializeWithNative();
}
@@ -2422,7 +2451,7 @@ public class ToolbarManager
/* readAloudRestoringSupplier= */ () -> {
final var readAloud = mReadAloudControllerSupplier.get();
return readAloud != null && readAloud.isRestoringPlayer();
- });
+ }, mTopUiThemeColorProvider, mActivityTabProvider.asObservable());
if (mInitializedWithNative) {
bottomAppBarCoordinator.initializeWithNative();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java
@@ -1833,6 +1885,36 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContai
float offsetFromControls =
mBrowserControlsStateProvider.getBottomControlOffset()
- mBrowserControlsStateProvider.getBottomControlsHeight();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomSheetManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomSheetManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomSheetManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomSheetManager.java
@@ -15,6 +15,7 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider
import org.chromium.chrome.browser.browser_controls.BrowserControlsVisibilityManager;
import org.chromium.chrome.browser.compositor.overlay_panel.OverlayPanel;
import org.chromium.chrome.browser.compositor.overlay_panel.OverlayPanelManager;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
import org.chromium.chrome.browser.layouts.LayoutType;
@@ -166,9 +167,18 @@ class BottomSheetManager extends EmptyBottomSheetObserver implements DestroyObse
mBrowserControlsVisibilityManager.getBrowserControlHiddenRatio());
}
+ @Override
+ public void onTopControlsHeightChanged(int topControlsHeight, int topControlsMinHeight) {
+ onBottomControlsHeightChanged(controlsVisibilityManager.getBottomControlsHeight(),
+ controlsVisibilityManager.getBottomControlsMinHeight());
+ }
+
@Override
public void onBottomControlsHeightChanged(
int bottomControlsHeight, int bottomControlsMinHeight) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ bottomControlsHeight += controlsVisibilityManager.getTopControlsHeight();
+ }
mSheetController.setBottomControlsOffset(bottomControlsHeight);
}
};
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
@@ -2767,8 +2849,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|| SuggestionCommonProperties.BG_TOP_CORNER_ROUNDED == propertyKey) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ view.setRoundingEdges(
+ model.get(DropdownCommonProperties.BG_BOTTOM_CORNER_ROUNDED),
+ model.get(DropdownCommonProperties.BG_TOP_CORNER_ROUNDED));
+ model.get(SuggestionCommonProperties.BG_BOTTOM_CORNER_ROUNDED),
+ model.get(SuggestionCommonProperties.BG_TOP_CORNER_ROUNDED));
+ return;
+ }
view.setRoundingEdges(
@@ -249,7 +249,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
+ }
+
+ // esclude opaque or transient nak
+ if (!nak.IsFullyPopulated() || nak.IsTransient())
+ if (nak.IsEmpty() || nak.IsTransient())
+ return std::vector<uint8_t>();
+
+ std::string lowered_host = base::ToLowerASCII(
@@ -665,7 +665,7 @@ diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_c
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
--- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc
@@ -1250,7 +1250,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
@@ -1259,7 +1259,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
context_->transport_security_state()->CheckPublicKeyPins(
host_and_port_.host(),
server_cert_verify_result_.is_issued_by_known_root,
@@ -675,7 +675,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
switch (pin_validity) {
case TransportSecurityState::PKPStatus::VIOLATED:
server_cert_verify_result_.cert_status |=
@@ -1270,7 +1271,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
@@ -1279,7 +1280,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
IsCertStatusError(server_cert_verify_result_.cert_status) &&
result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED &&
context_->transport_security_state()->ShouldSSLErrorsBeFatal(
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../strings/android/site_settings.grdp | 4 +--
.../core/browser/cookie_settings.cc | 6 ++--
.../core/common/cookie_settings_base.cc | 33 +------------------
...ioning-all-cookies-by-top-frame-domain.inc | 4 +++
...ioning-all-cookies-by-top-frame-domain.inc | 2 ++
...ioning-all-cookies-by-top-frame-domain.inc | 1 +
...ioning-all-cookies-by-top-frame-domain.inc | 1 +
...ioning-all-cookies-by-top-frame-domain.inc | 15 +++++++++
@@ -40,7 +40,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../cookie_store_delete_options.idl | 2 +-
ui/webui/webui_allowlist.cc | 1 +
url/url_features.cc | 1 +
31 files changed, 90 insertions(+), 62 deletions(-)
31 files changed, 88 insertions(+), 62 deletions(-)
create mode 100644 cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
create mode 100644 cromite_flags/components/permissions/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
create mode 100644 cromite_flags/content/public/common/content_features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
@@ -243,11 +243,9 @@ diff --git a/cromite_flags/components/content_settings/core/common/features_cc/P
new file mode 100644
--- /dev/null
+++ b/cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
@@ -0,0 +1,4 @@
@@ -0,0 +1,2 @@
+SET_CROMITE_FEATURE_DISABLED(kTrackingProtection3pcd);
+SET_CROMITE_FEATURE_DISABLED(kUserBypassUI);
+SET_CROMITE_FEATURE_DISABLED(kTpcdHeuristicsGrants);
+SET_CROMITE_FEATURE_DISABLED(kNativeUnpartitionedStoragePermittedWhen3PCOff);
diff --git a/cromite_flags/components/permissions/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc b/cromite_flags/components/permissions/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
new file mode 100644
--- /dev/null
@@ -6,14 +6,22 @@ Removes the possibility of obtaining the presence of Windows Hello and
Bluetooth by querying the PublicKeyCredential of the webauth api in
the Windows platform
---
.../webauth/authenticator_common_impl.cc | 22 +++++++++++++++++++
.../webauth/authenticator_common_impl.cc | 28 +++++++++++++++++++
.../webauth/authenticator_common_impl.h | 2 +-
2 files changed, 23 insertions(+), 1 deletion(-)
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/browser/webauth/authenticator_common_impl.cc
--- a/content/browser/webauth/authenticator_common_impl.cc
+++ b/content/browser/webauth/authenticator_common_impl.cc
@@ -2010,6 +2010,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
@@ -57,6 +57,7 @@
#include "content/public/browser/authenticator_common.h"
#include "content/public/browser/authenticator_request_client_delegate.h"
#include "content/public/browser/back_forward_cache.h"
+#include "content/public/browser/bluetooth_delegate.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/render_frame_host.h"
@@ -2010,6 +2011,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
MakeCapability(client_capabilities::kConditionalCreate, true));
IsHybridTransportSupported(
@@ -21,7 +29,7 @@ diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/brow
base::BindOnce(&MakeCapability, client_capabilities::kHybridTransport)
.Then(barrier_callback));
@@ -2037,11 +2038,25 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
@@ -2037,11 +2039,30 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
}
void AuthenticatorCommonImpl::IsHybridTransportSupported(
@@ -31,23 +39,28 @@ diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/brow
std::move(callback).Run(false);
return;
}
+ BluetoothDelegate* delegate =
+ GetContentClient()->browser()->GetBluetoothDelegate();
+ if (!delegate) {
+ std::move(callback).Run(false);
+ return;
+ }
+ const url::Origin& embedding_origin =
+ GetRenderFrameHost()->GetMainFrame()->GetLastCommittedOrigin();
+
+ switch (GetContentClient()->browser()->AllowWebBluetooth(
+ switch (delegate->AllowWebBluetooth(
+ GetBrowserContext(), caller_origin,
+ embedding_origin)) {
+ case ContentBrowserClient::AllowWebBluetoothResult::BLOCK_POLICY:
+ case ContentBrowserClient::AllowWebBluetoothResult::BLOCK_GLOBALLY_DISABLED:
+ case BluetoothDelegate::AllowWebBluetoothResult::kBlockPolicy:
+ case BluetoothDelegate::AllowWebBluetoothResult::kBlockGloballyDisabled:
+ std::move(callback).Run(false);
+ return;
+ case ContentBrowserClient::AllowWebBluetoothResult::ALLOW:
+ case BluetoothDelegate::AllowWebBluetoothResult::kAllow:
+ break;
+ }
device::BluetoothAdapterFactory::Get()->GetAdapter(
base::BindOnce([](scoped_refptr<device::BluetoothAdapter> adapter) {
@@ -2087,6 +2102,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck(
@@ -2087,6 +2108,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck(
IsUserVerifyingPlatformAuthenticatorAvailableCallback callback,
bool is_get_client_capabilities_call,
std::optional<bool> is_uvpaa_override) {
@@ -26,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
...em_webview_bundle.AndroidManifest.expected | 5 -
build/config/android/config.gni | 4 +-
chrome/android/BUILD.gn | 18 -
chrome/android/BUILD.gn | 21 +-
chrome/android/chrome_java_sources.gni | 4 -
chrome/android/java/AndroidManifest.xml | 33 -
.../browser/PlayServicesVersionInfo.java | 12 +-
@@ -51,7 +51,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../CableAuthenticatorModuleProvider.java | 35 +-
chrome/browser/webid/BUILD.gn | 3 -
.../DigitalCredentialsCreationDelegate.java | 172 +---
...igitalCredentialsPresentationDelegate.java | 147 +--
...igitalCredentialsPresentationDelegate.java | 144 +--
chrome/test/android/BUILD.gn | 2 -
.../ExternalNavigationHandler.java | 8 -
components/externalauth/android/BUILD.gn | 3 -
@@ -105,12 +105,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
services/device/geolocation/BUILD.gn | 4 -
services/shape_detection/BUILD.gn | 2 -
third_party/android_deps/BUILD.gn | 11 -
third_party/android_deps/autorolled/BUILD.gn | 869 ------------------
third_party/android_deps/autorolled/BUILD.gn | 882 ------------------
.../preconditions/javatests/BUILD.gn | 1 -
.../gms/ChromiumPlayServicesAvailability.java | 17 +-
third_party/androidx/customizations.gni | 14 +-
third_party/cardboard/BUILD.gn | 4 -
86 files changed, 134 insertions(+), 2886 deletions(-)
86 files changed, 135 insertions(+), 2898 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
@@ -167,11 +167,10 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:content_uri_utils_java",
"//base:flagged_apis_java",
"//base:process_launcher_java",
@@ -772,12 +764,9 @@ if (_is_default_toolchain) {
"//services/shape_detection/public/mojom:mojom_java",
@@ -773,11 +765,9 @@ if (_is_default_toolchain) {
"//skia/public/mojom:mojom_java",
"//third_party/android_deps:chromium_play_services_availability_java",
- "//third_party/android_deps:com_airbnb_android_lottie_java",
"//third_party/android_deps:com_airbnb_android_lottie_java",
- "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
"//third_party/android_deps:com_google_errorprone_error_prone_annotations_java",
"//third_party/android_deps:guava_android_java",
@@ -180,7 +179,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//third_party/android_deps:protobuf_lite_runtime_java",
"//third_party/android_media:android_media_java",
"//third_party/android_swipe_refresh:android_swipe_refresh_java",
@@ -1980,7 +1969,6 @@ if (_is_default_toolchain) {
@@ -1980,7 +1970,6 @@ if (_is_default_toolchain) {
]
deps = [
":chrome_java",
@@ -188,7 +187,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//build/android:build_java",
@@ -2089,7 +2077,6 @@ if (_is_default_toolchain) {
@@ -2089,7 +2078,6 @@ if (_is_default_toolchain) {
"java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java",
@@ -196,7 +195,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java",
@@ -2117,14 +2104,10 @@ if (_is_default_toolchain) {
@@ -2117,14 +2105,10 @@ if (_is_default_toolchain) {
"java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
"java/src/org/chromium/chrome/browser/provider/PageContentProvider.java",
@@ -211,7 +210,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//chrome/browser/autofill/android:third_party_provider_java",
"//chrome/browser/download/android:file_provider_java",
@@ -2143,7 +2126,6 @@ if (_is_default_toolchain) {
@@ -2143,7 +2127,6 @@ if (_is_default_toolchain) {
"//components/module_installer/android:module_installer_java",
"//components/policy/android:policy_java",
"//components/variations/android:variations_java",
@@ -219,6 +218,17 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_collection_collection_java",
"//third_party/jni_zero:jni_zero_java",
@@ -2177,8 +2160,8 @@ if (_is_default_toolchain) {
"//chrome/browser/ui/android/app_rating:play_review_aar_for_clank_java",
]
} else {
- deps +=
- [ "//third_party/android_deps:com_google_android_play_review_java" ]
+ # deps +=
+ # [ "//third_party/android_deps:com_google_android_play_review_java" ]
}
if (dfmify_dev_ui) {
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -1203,15 +1213,14 @@ diff --git a/chrome/browser/webid/android/java/src/org/chromium/chrome/browser/w
}
/**
@@ -210,9 +71,9 @@ public class DigitalCredentialsPresentationDelegate {
@@ -210,9 +71,10 @@ public class DigitalCredentialsPresentationDelegate {
* @throws JSONException If JSON parsing fails.
*/
@VisibleForTesting
- public static @Nullable DigitalCredential extractDigitalCredentialFromIntent(
- @Nullable Intent intent)
- throws androidx.credentials.exceptions.GetCredentialException, JSONException {
+ public static @Nullable DigitalCredential extractDigitalCredentialFromResponseBundle(
+ @Nullable Intent intent) throws JSONException {
@Nullable Intent intent)
throws androidx.credentials.exceptions.GetCredentialException, JSONException {
+ if ((true)) throw new JSONException("not reached");
if (intent == null) {
return null;
@@ -4455,7 +4464,7 @@ diff --git a/third_party/android_deps/autorolled/BUILD.gn b/third_party/android_
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
if (!defined(material_design_target)) {
android_aar_prebuilt("com_google_android_material_material_java") {
@@ -438,24 +119,6 @@ template("define_autorolled_targets") {
@@ -438,37 +119,6 @@ template("define_autorolled_targets") {
}
}
@@ -4476,11 +4485,24 @@ diff --git a/third_party/android_deps/autorolled/BUILD.gn b/third_party/android_
- ]
- }
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("com_google_android_play_review_java") {
- aar_path =
- "autorolled/cipd/libs/com_google_android_play_review/review.aar"
- info_path = "autorolled/committed/libs/com_google_android_play_review/com_google_android_play_review.info"
- enable_bytecode_checks = false
- deps = [
- "$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_tasks_java",
- "//third_party/android_deps:com_google_android_play_core_common_java",
- ]
- }
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("com_google_android_play_review_java") {
aar_path =
@@ -522,38 +185,6 @@ template("define_autorolled_targets") {
android_aar_prebuilt("com_google_ar_impress_java") {
aar_path = "autorolled/cipd/libs/com_google_ar_impress/impress.aar"
@@ -522,38 +172,6 @@ template("define_autorolled_targets") {
preferred_dep = true
}
@@ -4519,7 +4541,7 @@ diff --git a/third_party/android_deps/autorolled/BUILD.gn b/third_party/android_
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
if (!defined(guava_android_target)) {
java_prebuilt("com_google_guava_guava_java") {
@@ -595,64 +226,6 @@ template("define_autorolled_targets") {
@@ -595,64 +213,6 @@ template("define_autorolled_targets") {
supports_android = true
enable_bytecode_checks = false
}
@@ -4584,7 +4606,7 @@ diff --git a/third_party/android_deps/autorolled/BUILD.gn b/third_party/android_
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
if (!defined(android_proto_runtime)) {
java_prebuilt("com_google_protobuf_protobuf_javalite_java") {
@@ -1057,190 +630,6 @@ template("define_autorolled_targets") {
@@ -1057,190 +617,6 @@ template("define_autorolled_targets") {
]
}
@@ -4775,7 +4797,7 @@ diff --git a/third_party/android_deps/autorolled/BUILD.gn b/third_party/android_
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("com_google_auto_value_auto_value_annotations_java") {
jar_path = "autorolled/cipd/libs/com_google_auto_value_auto_value_annotations/auto-value-annotations.jar"
@@ -1257,242 +646,6 @@ template("define_autorolled_targets") {
@@ -1257,242 +633,6 @@ template("define_autorolled_targets") {
testonly = true
}
@@ -5018,7 +5040,7 @@ diff --git a/third_party/android_deps/autorolled/BUILD.gn b/third_party/android_
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("com_google_guava_failureaccess_java") {
jar_path = "autorolled/cipd/libs/com_google_guava_failureaccess/failureaccess.jar"
@@ -2028,28 +1181,6 @@ template("define_autorolled_targets") {
@@ -2028,28 +1168,6 @@ template("define_autorolled_targets") {
deps = [ "//third_party/android_deps:org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_java" ]
}
@@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/TabbedModeTabDelegateFactory.java | 12 +-
.../feedback/ChromeFeedbackCollector.java | 1 +
.../feedback/SimplifiedNtpFeedbackSource.java | 38 +++
.../identity_disc/IdentityDiscController.java | 5 +-
.../identity_disc/IdentityDiscController.java | 2 +-
.../native_page/NativePageFactory.java | 20 +-
.../NativePageNavigationDelegateImpl.java | 2 +-
.../chrome/browser/ntp/NewTabPage.java | 8 +-
@@ -49,9 +49,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/omnibox/common/omnibox_features.cc | 2 +
components/search_engines/template_url.h | 4 +-
.../Restore-Simplified-NTP-launch.inc | 12 +
.../Restore-Simplified-NTP-launch.inc | 8 +
.../Restore-Simplified-NTP-launch.inc | 6 +
.../Restore-Simplified-NTP-launch.inc | 1 +
45 files changed, 646 insertions(+), 67 deletions(-)
45 files changed, 641 insertions(+), 67 deletions(-)
create mode 100644 chrome/android/java/res/drawable-hdpi/ic_most_visited_placeholder.png
create mode 100644 chrome/android/java/res/drawable-mdpi/ic_most_visited_placeholder.png
create mode 100644 chrome/android/java/res/drawable-xhdpi/ic_most_visited_placeholder.png
@@ -701,15 +701,12 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
@@ -204,7 +204,10 @@ public class IdentityDiscController
@@ -204,7 +204,7 @@ public class IdentityDiscController
mButtonData.setButtonSpec(
buttonSpecWithDrawableAndDescription(mButtonData.getButtonSpec(), profileData));
- mButtonData.setCanShow(true);
+ if (email == null)
+ mButtonData.setCanShow(false);
+ else
+ mButtonData.setCanShow(true);
+ mButtonData.setCanShow(false);
}
private ButtonSpec buttonSpecWithDrawableAndDescription(
@@ -931,7 +928,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageC
+ return;
+ }
+
+ ViewStub shortcutsStub = findViewById(R.id.shortcuts_stub);
+ ViewStub shortcutsStub = mNewTabPageLayout.findViewById(R.id.shortcuts_stub);
+ mShortcutsView = (ViewGroup) shortcutsStub.inflate();
+
+ mShortcutsView.findViewById(R.id.bookmarks_button)
@@ -1676,13 +1673,11 @@ 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,8 @@
@@ -0,0 +1,6 @@
+CROMITE_FEATURE(kSimplifiedNTP,
+ "SimplifiedNTP",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+SET_CROMITE_FEATURE_DISABLED(kMagicStackAndroid);
+
+SET_CROMITE_FEATURE_DISABLED(kNewTabPageCustomizationV2);
+SET_CROMITE_FEATURE_DISABLED(kNewTabPageCustomizationForMvt);
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
@@ -7,8 +7,10 @@ Voice button and legacy share/voice functionality is not restored.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../ReaderModeToolbarButtonController.java | 4 ++--
.../ReaderModeToolbarButtonController.java | 5 +++--
.../ContextualPageActionController.java | 4 ++++
.../TabbedAppMenuPropertiesDelegate.java | 4 ----
.../distiller_ui_handle_android.h | 4 ++--
.../segmentation_platform_config.cc | 1 +
.../strings/android_chrome_strings.grd | 3 +++
...tton_group_adaptive_toolbar_preference.xml | 9 +++++++++
@@ -19,13 +21,21 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../adaptive/AdaptiveToolbarStats.java | 2 ++
...oButtonGroupAdaptiveToolbarPreference.java | 19 ++++++++++++-------
...ve-button-in-top-toolbar-customization.inc | 1 +
12 files changed, 42 insertions(+), 13 deletions(-)
14 files changed, 45 insertions(+), 19 deletions(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-adaptive-button-in-top-toolbar-customization.inc
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeToolbarButtonController.java b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeToolbarButtonController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeToolbarButtonController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeToolbarButtonController.java
@@ -70,11 +70,11 @@ public class ReaderModeToolbarButtonController extends BaseButtonDataProvider
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.dom_distiller;
+import android.content.res.Resources;
import android.content.Context;
import android.view.View;
@@ -70,11 +71,11 @@ public class ReaderModeToolbarButtonController extends BaseButtonDataProvider
modalDialogManager,
AppCompatResources.getDrawable(context, R.drawable.ic_mobile_friendly_24dp),
context.getString(R.string.reader_mode_cpa_button_text),
@@ -53,6 +63,38 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_pl
showDynamicAction(result);
});
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
@@ -1107,10 +1107,6 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
assert shouldShowMoreToolsItem(currentTab);
List<ListItem> submenuItems = new ArrayList<>();
- if (shouldShowReaderModeItem(currentTab)) {
- submenuItems.add(buildReaderModeItem(currentTab));
- }
-
if (shouldShowTaskManagerItem()) {
submenuItems.add(buildTaskManagerItem());
}
diff --git a/chrome/browser/android/dom_distiller/distiller_ui_handle_android.h b/chrome/browser/android/dom_distiller/distiller_ui_handle_android.h
--- a/chrome/browser/android/dom_distiller/distiller_ui_handle_android.h
+++ b/chrome/browser/android/dom_distiller/distiller_ui_handle_android.h
@@ -26,12 +26,12 @@ class DistillerUIHandleAndroid : public DistillerUIHandle {
~DistillerUIHandleAndroid() override = default;
void set_render_frame_host(content::RenderFrameHost* host) {
- render_frame_host_ = host;
+ // render_frame_host_ = host;
}
void OpenSettings() override;
private:
- raw_ptr<content::RenderFrameHost> render_frame_host_ = nullptr;
+ // raw_ptr<content::RenderFrameHost> render_frame_host_ = nullptr;
};
} // namespace android
diff --git a/chrome/browser/segmentation_platform/segmentation_platform_config.cc b/chrome/browser/segmentation_platform/segmentation_platform_config.cc
--- a/chrome/browser/segmentation_platform/segmentation_platform_config.cc
+++ b/chrome/browser/segmentation_platform/segmentation_platform_config.cc
@@ -5557,7 +5557,7 @@ new file mode 100644
+#include "ui/base/l10n/l10n_util.h"
+#include "url/gurl.h"
+
+#include "chrome/browser/ui/chrome_select_file_policy.h"
+#include "chrome/browser/ui/select_file_policy/chrome_select_file_policy.h"
+#include "ui/shell_dialogs/selected_file_info.h"
+#include "ui/shell_dialogs/select_file_dialog.h"
+#include "ui/android/window_android.h"
@@ -5988,8 +5988,8 @@ new file mode 100644
+#include "base/memory/raw_ptr.h"
+#include "chrome/browser/affiliations/affiliation_service_factory.h"
+#include "chrome/browser/password_entry_edit/android/credential_edit_bridge.h"
+#include "chrome/browser/password_manager/account_password_store_factory.h"
+#include "chrome/browser/password_manager/profile_password_store_factory.h"
+#include "chrome/browser/password_manager/factories/account_password_store_factory.h"
+#include "chrome/browser/password_manager/factories/profile_password_store_factory.h"
+#include "chrome/browser/signin/identity_manager_factory.h"
+#include "components/password_manager/core/browser/password_store/password_store_consumer.h"
+#include "components/password_manager/core/browser/ui/saved_passwords_presenter.h"
+121 -10
View File
@@ -11,15 +11,19 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../java/res/xml/homepage_preferences.xml | 6 ++++
.../browser/BrowserRestartActivity.java | 1 +
.../browser/ChromeInactivityTracker.java | 14 ++++++++
.../chrome/browser/ChromeTabbedActivity.java | 2 ++
.../browser/tasks/ReturnToChromeUtil.java | 16 ++++++++-
.../chrome/browser/ChromeTabbedActivity.java | 10 +++---
.../browser/tasks/ReturnToChromeUtil.java | 19 ++++++++---
chrome/app/settings_strings.grdp | 2 +-
.../HomeTipsModulesProvider.java | 4 +--
.../flags/android/chrome_feature_list.cc | 1 +
.../cromite/sShowNtpAtStartupAndroid.java | 33 +++++++++++++++++++
.../magic_stack/HomeModulesMediator.java | 8 +++++
.../browser/magic_stack/ModuleRegistry.java | 3 +-
.../policies/background_tab_loading_policy.cc | 2 ++
.../preferences/ChromePreferenceKeys.java | 2 ++
.../LegacyChromePreferenceKeys.java | 1 +
.../on_startup_page/on_startup_page.ts | 1 +
.../client_util/HomeModulesRankingHelper.java | 2 --
chrome/browser/sessions/session_restore.cc | 9 ++++-
.../res/layout/single_tab_module_layout.xml | 17 +++++-----
.../SingleTabSwitcherCoordinator.java | 2 +-
@@ -30,7 +34,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../about_flags_cc/show-ntp-at-startup.inc | 12 +++++++
.../show-ntp-at-startup.inc | 5 +++
.../show-ntp-at-startup.inc | 1 +
22 files changed, 135 insertions(+), 16 deletions(-)
26 files changed, 150 insertions(+), 29 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sShowNtpAtStartupAndroid.java
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/show-ntp-at-startup.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/show-ntp-at-startup.inc
@@ -109,6 +113,40 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
TabUsageTracker.initialize(this.getLifecycleDispatcher(), tabModelSelector);
TabGroupUsageTracker.initialize(
this.getLifecycleDispatcher(), tabModelSelector, this::isWarmOnResume);
@@ -3310,13 +3312,13 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
getTabModelSelectorSupplier(),
getTabContentManagerSupplier(),
SetupListModuleUtils::isSetupListActive);
- moduleRegistry.registerModule(ModuleType.SINGLE_TAB, singleTabModuleBuilder);
+ moduleRegistry.registerModule(ModuleType.SINGLE_TAB, singleTabModuleBuilder, /*active*/ true);
if (ChromeFeatureList.sPriceChangeModule.isEnabled()) {
PriceChangeModuleBuilder priceChangeModuleBuilder =
new PriceChangeModuleBuilder(
this, getProfileProviderSupplier(), mTabModelSelector);
- moduleRegistry.registerModule(ModuleType.PRICE_CHANGE, priceChangeModuleBuilder);
+ moduleRegistry.registerModule(ModuleType.PRICE_CHANGE, priceChangeModuleBuilder, /*active*/ false);
}
SafetyHubMagicStackBuilder safetyHubMagicStackBuilder =
@@ -3325,7 +3327,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
mTabModelProfileSupplier,
mTabModelSelector,
getModalDialogManagerSupplier());
- moduleRegistry.registerModule(ModuleType.SAFETY_HUB, safetyHubMagicStackBuilder);
+ moduleRegistry.registerModule(ModuleType.SAFETY_HUB, safetyHubMagicStackBuilder, /*active*/ false);
// Fetch and register the appropriate collection of educational tip or setup list modules.
HomeTipsModulesProvider.registerTipModules(
@@ -3342,7 +3344,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
SettingsNavigationFactory.createSettingsNavigation()
.startSettings(this, TabsSettings.class);
});
- moduleRegistry.registerModule(ModuleType.AUXILIARY_SEARCH, auxiliarySearchModuleBuilder);
+ moduleRegistry.registerModule(ModuleType.AUXILIARY_SEARCH, auxiliarySearchModuleBuilder, /*active*/ false);
mModuleRegistrySupplier.set(moduleRegistry);
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
@@ -124,12 +162,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC
import org.chromium.chrome.browser.ntp.NewTabPage;
import org.chromium.chrome.browser.ntp_customization.NtpCustomizationUtils;
import org.chromium.chrome.browser.profiles.Profile;
@@ -138,6 +140,18 @@ public final class ReturnToChromeUtil {
@@ -128,14 +130,21 @@ public final class ReturnToChromeUtil {
Bundle bundle,
PersistableBundle persistableBundle,
ChromeInactivityTracker inactivityTracker) {
- // If the device is android desktop, don't show a NTP homepage.
- if (NtpCustomizationUtils.isNtpSimplificationEnabledOnDesktop()) {
+ // If the current session is due to recreated, don't show a NTP homepage.
+ if (isFromRecreate(bundle) || isFromUpdate(persistableBundle)) {
return false;
}
- // If the current session is due to recreated, don't show a NTP homepage.
- if (isFromRecreate(bundle) || isFromUpdate(persistableBundle)) {
+ if (!sShowNtpAtStartupAndroid.getInstance().isEnabled())
+ return false;
return false;
+
+ boolean isMainIntentFromLauncherOrRestart =
+ IntentUtils.isMainIntentFromLauncher(intent)
@@ -138,12 +185,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC
+ if (isMainIntentFromLauncherOrRestart && inactivityTracker.isNewStartup()) {
+ inactivityTracker.setIsStartup(false);
+ return true;
+ }
+
}
// Checks whether to show the NTP homepage due to feature flag
// HOME_SURFACE_RETURN_TIME_SECONDS.
long lastVisibleTimeMs = inactivityTracker.getLastVisibleTimeMs();
@@ -246,7 +260,7 @@ public final class ReturnToChromeUtil {
@@ -246,7 +255,7 @@ public final class ReturnToChromeUtil {
TabModel currentTabModel,
TabCreator tabCreator,
HomeSurfaceTracker homeSurfaceTracker) {
@@ -164,6 +209,22 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
</message>
<message name="IDS_SETTINGS_ON_STARTUP_USE_CURRENT" desc="Button to use current pages.">
Use current pages
diff --git a/chrome/browser/educational_tip/java/src/org/chromium/chrome/browser/educational_tip/HomeTipsModulesProvider.java b/chrome/browser/educational_tip/java/src/org/chromium/chrome/browser/educational_tip/HomeTipsModulesProvider.java
--- a/chrome/browser/educational_tip/java/src/org/chromium/chrome/browser/educational_tip/HomeTipsModulesProvider.java
+++ b/chrome/browser/educational_tip/java/src/org/chromium/chrome/browser/educational_tip/HomeTipsModulesProvider.java
@@ -43,10 +43,10 @@ public class HomeTipsModulesProvider {
if (moduleType == ModuleType.SETUP_LIST_TWO_CELL_CONTAINER) {
moduleRegistry.registerModule(
moduleType,
- new EducationalTipModuleTwoCellBuilder(moduleType, actionDelegate));
+ new EducationalTipModuleTwoCellBuilder(moduleType, actionDelegate), /*active*/ false);
} else {
moduleRegistry.registerModule(
- moduleType, new EducationalTipModuleBuilder(moduleType, actionDelegate));
+ moduleType, new EducationalTipModuleBuilder(moduleType, actionDelegate), /*active*/ false);
}
}
}
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
@@ -213,6 +274,37 @@ new file mode 100644
+ return sInstance;
+ }
+}
diff --git a/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesMediator.java b/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesMediator.java
--- a/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesMediator.java
+++ b/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesMediator.java
@@ -125,6 +125,14 @@ public class HomeModulesMediator {
// 0. Get the set of currently enabled (eligible) modules.
mEnabledModuleSet = null;
Set<Integer> enabledModuleSet = getFilteredEnabledModuleSet();
+ List<Integer> enabledModuleList = new ArrayList<>(enabledModuleSet);
+
+ buildModulesAndShow(
+ enabledModuleList,
+ moduleDelegate,
+ onHomeModulesChangedCallback,
+ /*durationMs*/ 0);
+ if ((true)) return;
// 1. Get the sorted list of manually ranked modules, filtered by eligibility.
List<Integer> manuallyRankedModules = getSortedManuallyRankedModules(enabledModuleSet);
diff --git a/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/ModuleRegistry.java b/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/ModuleRegistry.java
--- a/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/ModuleRegistry.java
+++ b/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/ModuleRegistry.java
@@ -68,7 +68,8 @@ public class ModuleRegistry {
* @param moduleType The type of the module.
* @param builder The object of the module builder.
*/
- public void registerModule(@ModuleType int moduleType, ModuleProviderBuilder builder) {
+ public void registerModule(@ModuleType int moduleType, ModuleProviderBuilder builder, boolean active) {
+ if (!active) return;
mModuleBuildersMap.put(moduleType, builder);
}
diff --git a/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc b/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc
--- a/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc
+++ b/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc
@@ -266,6 +358,25 @@ diff --git a/chrome/browser/resources/settings/on_startup_page/on_startup_page.t
return pref.enforcement === chrome.settingsPrivate.Enforcement.ENFORCED ||
pref.enforcement === chrome.settingsPrivate.Enforcement.RECOMMENDED;
}
diff --git a/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java b/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java
--- a/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java
+++ b/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java
@@ -51,7 +51,6 @@ public final class HomeModulesRankingHelper {
* @param moduleLabel the module label to notify the module ranker
*/
public static void notifyCardInteracted(Profile profile, String moduleLabel) {
- HomeModulesRankingHelperJni.get().notifyCardInteracted(profile, moduleLabel);
}
/**
@@ -61,7 +60,6 @@ public final class HomeModulesRankingHelper {
* @param moduleLabel the module label to notify the module ranker
*/
public static void notifyCardShown(Profile profile, String moduleLabel) {
- HomeModulesRankingHelperJni.get().notifyCardShown(profile, moduleLabel);
}
/**
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc
--- a/chrome/browser/sessions/session_restore.cc
+++ b/chrome/browser/sessions/session_restore.cc
@@ -27,11 +27,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../tab_management/TabSwitcherPaneBase.java | 4 +-
.../TabSwitcherPaneCoordinatorFactory.java | 5 +-
.../tab_management/TabUiFeatureUtilities.java | 7 +
.../PinnedTabStripCoordinator.java | 10 +-
.../tab_ui/tab_management_java_sources.gni | 2 +
.../java/res/xml/privacy_preferences.xml | 6 +
.../chrome/browser/app/ChromeActivity.java | 5 +-
chrome/browser/android/favicon_helper.cc | 214 ++++++++++-
chrome/browser/android/favicon_helper.h | 25 ++
chrome/browser/android/favicon_helper.h | 23 ++
.../flags/cromite/sTabSwitcherListMode.java | 33 ++
.../tab_ui/TabListFaviconProvider.java | 111 ++++++
.../browser/ui/favicon/FaviconHelper.java | 57 ++-
@@ -41,7 +42,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../java/res/drawable/ic_warning_red_16dp.xml | 26 ++
.../layout/title_and_description_layout.xml | 31 +-
.../tab-switcher-list-mode.inc | 3 +
34 files changed, 1180 insertions(+), 41 deletions(-)
35 files changed, 1186 insertions(+), 43 deletions(-)
create mode 100644 chrome/android/features/tab_ui/java/res/drawable/selected_tab_background.xml
create mode 100644 chrome/android/features/tab_ui/java/res/drawable/selected_tab_background_incognito.xml
create mode 100644 chrome/android/features/tab_ui/java/res/layout/tab_list_card_item.xml
@@ -1053,6 +1054,50 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
/** Returns whether device OEM is allow-listed for tab tearing */
public static boolean doesOemSupportDragToCreateInstance() {
return TAB_TEARING_OEM_ALLOWLIST.contains(Build.MANUFACTURER.toLowerCase(Locale.US));
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/pinned_tabs_strip/PinnedTabStripCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/pinned_tabs_strip/PinnedTabStripCoordinator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/pinned_tabs_strip/PinnedTabStripCoordinator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/pinned_tabs_strip/PinnedTabStripCoordinator.java
@@ -32,6 +32,7 @@ import org.chromium.chrome.browser.tasks.tab_management.TabListCoordinator;
import org.chromium.chrome.browser.tasks.tab_management.TabListModel;
import org.chromium.chrome.browser.tasks.tab_management.TabListRecyclerView;
import org.chromium.chrome.browser.tasks.tab_management.TabProperties.UiType;
+import org.chromium.chrome.browser.tasks.tab_management.TabUiFeatureUtilities;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.modelutil.PropertyModel;
@@ -106,6 +107,10 @@ public class PinnedTabStripCoordinator {
RecyclerView tabGridListRecyclerView = tabListCoordinator.getContainerView();
TabListModel tabListModel = tabListCoordinator.getTabListModel();
+ if (TabUiFeatureUtilities.shouldUseListMode()) {
+ mMediator = null;
+ return;
+ }
mMediator =
createMediator(
activity,
@@ -149,11 +154,12 @@ public class PinnedTabStripCoordinator {
/** Called when the pinned tabs strip is scrolled. */
public void onScrolled() {
- mMediator.onScrolled();
+ if (mMediator != null) mMediator.onScrolled();
}
/** Returns whether the pinned tabs strip is currently visible. */
public boolean isPinnedTabsBarVisible() {
+ if (mMediator == null) return false;
return mMediator.isPinnedTabsBarVisible();
}
@@ -197,6 +203,6 @@ public class PinnedTabStripCoordinator {
}
public void destroy() {
- mMediator.destroy();
+ if (mMediator != null) mMediator.destroy();
}
}
diff --git a/chrome/android/features/tab_ui/tab_management_java_sources.gni b/chrome/android/features/tab_ui/tab_management_java_sources.gni
--- a/chrome/android/features/tab_ui/tab_management_java_sources.gni
+++ b/chrome/android/features/tab_ui/tab_management_java_sources.gni
@@ -1367,7 +1412,7 @@ diff --git a/chrome/browser/android/favicon_helper.h b/chrome/browser/android/fa
bool GetLocalFaviconImageForURL(
JNIEnv* env,
Profile* profile,
@@ -44,11 +50,22 @@ class FaviconHelper {
@@ -44,11 +50,20 @@ class FaviconHelper {
GURL url,
int desired_size_in_pixel,
favicon_base::FaviconRawBitmapCallback callback_runner);
@@ -1379,8 +1424,6 @@ diff --git a/chrome/browser/android/favicon_helper.h b/chrome/browser/android/fa
void OnJobFinished(int job_id);
private:
+ FRIEND_TEST_ALL_PREFIXES(FaviconHelperTest, GetLargestSizeIndex);
+
virtual ~FaviconHelper();
+ class Job;
@@ -1390,7 +1433,7 @@ diff --git a/chrome/browser/android/favicon_helper.h b/chrome/browser/android/fa
// This function is expected to be bound to a WeakPtr<FaviconHelper>, so that
// it won't be run if the FaviconHelper is deleted and
// |j_favicon_image_callback| isn't executed in that case.
@@ -56,8 +73,16 @@ class FaviconHelper {
@@ -56,8 +71,16 @@ class FaviconHelper {
const base::android::JavaRef<jobject>& j_favicon_image_callback,
const favicon_base::FaviconRawBitmapResult& result);
@@ -37,9 +37,9 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module
diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
@@ -463,6 +463,16 @@ source_set("extensions") {
"window_controller_list.h",
"window_controller_list_observer.h",
@@ -611,6 +611,16 @@ source_set("extensions") {
"//ui/native_window_tracker",
"//ui/shell_dialogs",
]
+ ### Extensions API module start
+ sources += [
@@ -51,9 +51,9 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL
+
+ deps += [ "//components/adblock/content:browser" ]
+ ### Extensions API module end
configs += [
"//build/config:precompiled_headers",
"//build/config/compiler:wexit_time_destructors",
public_deps = [
"//chrome/browser/extensions/api/messaging",
"//chrome/browser/media/webrtc",
diff --git a/chrome/browser/extensions/api/BUILD.gn b/chrome/browser/extensions/api/BUILD.gn
--- a/chrome/browser/extensions/api/BUILD.gn
+++ b/chrome/browser/extensions/api/BUILD.gn
@@ -6,14 +6,67 @@ Remove translate offer
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/BUILD.gn | 2 +-
.../live_translate_controller_factory.cc | 4 -
chrome/browser/global_features.h | 2 +
.../xml/languages_detailed_preferences.xml | 41 -----
.../java/res/xml/languages_preferences.xml | 4 -
.../language/settings/LanguageSettings.java | 153 ------------------
chrome/browser/on_device_translation/BUILD.gn | 2 +-
.../on_device_speech_recognition_impl.cc | 2 +
.../on_device_speech_recognition_impl.h | 2 +
chrome/browser/ui/BUILD.gn | 2 +-
.../strings/android_chrome_strings.grd | 3 -
...translation_internals_page_handler_impl.cc | 8 +
components/live_caption/features.cc | 1 +
.../buildflags/features.gni | 2 +-
.../core/browser/translate_manager.cc | 5 +-
.../core/browser/translate_script.cc | 17 +-
6 files changed, 8 insertions(+), 215 deletions(-)
...n_device_speech_recognition_engine_impl.cc | 3 +-
...on_device_speech_recognition_engine_impl.h | 2 +
media/base/media_switches.cc | 1 +
19 files changed, 32 insertions(+), 224 deletions(-)
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -6537,7 +6537,7 @@ static_library("browser") {
"//chrome/browser/updates:update_metrics",
"//chrome/services/system_signals/public/cpp/browser",
"//chrome/updater:browser_sources",
- "//components/on_device_translation",
+ # "//components/on_device_translation",
"//components/supervised_user/core/common:features",
"//components/themes:policy",
]
diff --git a/chrome/browser/accessibility/live_translate_controller_factory.cc b/chrome/browser/accessibility/live_translate_controller_factory.cc
--- a/chrome/browser/accessibility/live_translate_controller_factory.cc
+++ b/chrome/browser/accessibility/live_translate_controller_factory.cc
@@ -63,10 +63,6 @@ LiveTranslateControllerFactory::BuildServiceInstanceForBrowserContext(
// Only set on_device_dispatcher if feature flag is set.
if (base::FeatureList::IsEnabled(
live_caption::kLiveCaptionOnDeviceTranslation)) {
- on_device_dispatcher = std::make_unique<TranslationDispatcherOnDevice>(
- std::make_unique<
- on_device_translation::OnDeviceTranslationServiceController>(
- profile->GetPrefs(), ""));
}
google_api_dispatcher = std::make_unique<GoogleApiTranslationDispatcher>(
google_apis::GetAPIKey(), context);
diff --git a/chrome/browser/global_features.h b/chrome/browser/global_features.h
--- a/chrome/browser/global_features.h
+++ b/chrome/browser/global_features.h
@@ -261,8 +261,10 @@ class GlobalFeatures {
#endif // BUILDFLAG(ENABLE_DEVICE_BOUND_SESSIONS)
#if !BUILDFLAG(IS_ANDROID)
+#if false // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION)
std::unique_ptr<on_device_translation::OnDeviceTranslationInstaller>
on_device_translation_installer_;
+#endif
std::unique_ptr<ProfileLaunchObserver> profile_launch_observer_;
#endif // !BUILDFLAG(IS_ANDROID)
diff --git a/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml b/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml
--- a/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml
+++ b/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml
@@ -282,6 +335,62 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse
- if (refreshResult) indexData.setRefreshResult(true);
}
}
diff --git a/chrome/browser/on_device_translation/BUILD.gn b/chrome/browser/on_device_translation/BUILD.gn
--- a/chrome/browser/on_device_translation/BUILD.gn
+++ b/chrome/browser/on_device_translation/BUILD.gn
@@ -12,7 +12,7 @@ source_set("on_device_translation") {
"../component_updater/translate_kit_component_installer.h",
"../component_updater/translate_kit_language_pack_component_installer.cc",
"../component_updater/translate_kit_language_pack_component_installer.h",
- "installer_impl.cc",
+ # "installer_impl.cc",
"installer_impl.h",
"service_controller_manager_factory.cc",
"service_controller_manager_factory.h",
diff --git a/chrome/browser/speech/on_device_speech_recognition_impl.cc b/chrome/browser/speech/on_device_speech_recognition_impl.cc
--- a/chrome/browser/speech/on_device_speech_recognition_impl.cc
+++ b/chrome/browser/speech/on_device_speech_recognition_impl.cc
@@ -175,6 +175,7 @@ void OnDeviceSpeechRecognitionImpl::Install(
language_installation_callbacks_[language_names_key].push_back(
std::move(callback));
+#if false
model_broker_client_ =
optimization_guide_keyed_service->CreateModelBrokerClient();
@@ -189,6 +190,7 @@ void OnDeviceSpeechRecognitionImpl::Install(
.WaitForClient(base::BindOnce(
&OnDeviceSpeechRecognitionImpl::OnModelClientAvailable,
weak_ptr_factory_.GetWeakPtr()));
+#endif
} else {
language_installation_callbacks_[language_names_key].push_back(
std::move(callback));
diff --git a/chrome/browser/speech/on_device_speech_recognition_impl.h b/chrome/browser/speech/on_device_speech_recognition_impl.h
--- a/chrome/browser/speech/on_device_speech_recognition_impl.h
+++ b/chrome/browser/speech/on_device_speech_recognition_impl.h
@@ -102,7 +102,9 @@ class OnDeviceSpeechRecognitionImpl
base::flat_map<std::set<std::string>, std::list<InstallCallback>>
language_installation_callbacks_;
+#if false
std::unique_ptr<optimization_guide::ModelBrokerClient> model_broker_client_;
+#endif
#endif // !BUILDFLAG(IS_ANDROID)
mojo::Receiver<media::mojom::OnDeviceSpeechRecognition> receiver_{this};
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -3148,7 +3148,7 @@ static_library("ui") {
"//chrome/updater:browser_sources",
"//components/capture_mode",
"//components/country_codes",
- "//components/on_device_translation",
+ # "//components/on_device_translation",
"//components/services/unzip/public/cpp",
"//services/audio/public/mojom",
"//services/video_capture/public/mojom",
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
@@ -295,6 +404,80 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_LANGUAGES_SEND_TRANSLATE_SWITCH" desc="Appears next to the switch controlling whether or not Chrome will offer to translate pages in other languages. When enabled the Google Translate UI will be displayed on web pages that are not in the user's preferred language(s).">
Offer to send pages in other languages to Google Translate
</message>
diff --git a/chrome/browser/ui/webui/on_device_translation_internals/on_device_translation_internals_page_handler_impl.cc b/chrome/browser/ui/webui/on_device_translation_internals/on_device_translation_internals_page_handler_impl.cc
--- a/chrome/browser/ui/webui/on_device_translation_internals/on_device_translation_internals_page_handler_impl.cc
+++ b/chrome/browser/ui/webui/on_device_translation_internals/on_device_translation_internals_page_handler_impl.cc
@@ -26,6 +26,7 @@ OnDeviceTranslationInternalsPageHandlerImpl::
: receiver_(this, std::move(receiver)), page_(std::move(page)) {
// Initialize the pref change registrar.
pref_change_registrar_.Init(g_browser_process->local_state());
+#if false
// Start listening to pref changes for language pack keys.
for (const auto& it : kLanguagePackComponentConfigMap) {
pref_change_registrar_.Add(
@@ -39,6 +40,7 @@ OnDeviceTranslationInternalsPageHandlerImpl::
&OnDeviceTranslationInternalsPageHandlerImpl::OnPrefChanged,
base::Unretained(this)));
}
+#endif
SendLanguagePackInfo();
}
@@ -51,8 +53,10 @@ void OnDeviceTranslationInternalsPageHandlerImpl::InstallLanguagePackage(
if (package_index > static_cast<uint32_t>(LanguagePackKey::kMaxValue)) {
return;
}
+#if false
ComponentManager::GetInstance().RegisterTranslateKitLanguagePackComponent(
static_cast<LanguagePackKey>(package_index));
+#endif
}
void OnDeviceTranslationInternalsPageHandlerImpl::UninstallLanguagePackage(
@@ -60,12 +64,15 @@ void OnDeviceTranslationInternalsPageHandlerImpl::UninstallLanguagePackage(
if (package_index > static_cast<uint32_t>(LanguagePackKey::kMaxValue)) {
return;
}
+#if false
ComponentManager::GetInstance().UninstallTranslateKitLanguagePackComponent(
static_cast<LanguagePackKey>(package_index));
+#endif
}
void OnDeviceTranslationInternalsPageHandlerImpl::SendLanguagePackInfo() {
std::vector<LanguagePackInfoPtr> info_list;
+#if false
const auto registered_packs = ComponentManager::GetRegisteredLanguagePacks();
const auto installed_packs = ComponentManager::GetInstalledLanguagePacks();
@@ -79,6 +86,7 @@ void OnDeviceTranslationInternalsPageHandlerImpl::SendLanguagePackInfo() {
: LanguagePackStatus::kInstalling)
: LanguagePackStatus::kNotInstalled));
}
+#endif
page_->OnLanguagePackStatus(std::move(info_list));
}
diff --git a/components/live_caption/features.cc b/components/live_caption/features.cc
--- a/components/live_caption/features.cc
+++ b/components/live_caption/features.cc
@@ -10,5 +10,6 @@ namespace live_caption {
// on-device model is ready to be rolled out.
BASE_FEATURE(kLiveCaptionOnDeviceTranslation,
base::FEATURE_DISABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kLiveCaptionOnDeviceTranslation);
} // namespace live_caption
diff --git a/components/on_device_translation/buildflags/features.gni b/components/on_device_translation/buildflags/features.gni
--- a/components/on_device_translation/buildflags/features.gni
+++ b/components/on_device_translation/buildflags/features.gni
@@ -5,5 +5,5 @@
declare_args() {
# On Device Translation is still not supported on other platforms.
# TODO(crbug.com/364795294): Support other platforms.
- enable_on_device_translation = is_mac || is_win || is_linux || is_chromeos
+ enable_on_device_translation = false
}
diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc
--- a/components/translate/core/browser/translate_manager.cc
+++ b/components/translate/core/browser/translate_manager.cc
@@ -339,4 +522,48 @@ diff --git a/components/translate/core/browser/translate_script.cc b/components/
// Load embedded translate.js.
data_.append(ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(
diff --git a/content/browser/speech/on_device_speech_recognition_engine_impl.cc b/content/browser/speech/on_device_speech_recognition_engine_impl.cc
--- a/content/browser/speech/on_device_speech_recognition_engine_impl.cc
+++ b/content/browser/speech/on_device_speech_recognition_engine_impl.cc
@@ -136,7 +136,7 @@ void OnDeviceSpeechRecognitionEngine::CreateModelClientOnUI(
if (!rfh) {
return;
}
-
+#if false
core_->model_broker_client =
GetContentClient()->browser()->CreateModelBrokerClient(
rfh->GetBrowserContext());
@@ -151,6 +151,7 @@ void OnDeviceSpeechRecognitionEngine::CreateModelClientOnUI(
&OnDeviceSpeechRecognitionEngine::OnModelClientAvailable,
weak_factory_.GetWeakPtr()));
}
+#endif
}
void OnDeviceSpeechRecognitionEngine::OnModelClientAvailable(
diff --git a/content/browser/speech/on_device_speech_recognition_engine_impl.h b/content/browser/speech/on_device_speech_recognition_engine_impl.h
--- a/content/browser/speech/on_device_speech_recognition_engine_impl.h
+++ b/content/browser/speech/on_device_speech_recognition_engine_impl.h
@@ -67,7 +67,9 @@ class CONTENT_EXPORT OnDeviceSpeechRecognitionEngine
mojo::Remote<on_device_model::mojom::Session> session;
base::WeakPtr<optimization_guide::ModelClient> model_client;
+#if false
std::unique_ptr<optimization_guide::ModelBrokerClient> model_broker_client;
+#endif
};
private:
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -1823,6 +1823,7 @@ bool IsHardwareSecureDecryptionEnabled() {
}
bool IsLiveTranslateEnabled() {
+ if ((true)) return false;
#if BUILDFLAG(IS_CHROMEOS)
return base::FeatureList::IsEnabled(kFeatureManagementLiveTranslateCrOS);
#else
--
@@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../new_tab_page/promos/promo_service.cc | 6 +-
.../from_gws_page_load_metrics_observer.cc | 2 -
.../page_load_metrics_initialize.cc | 5 -
chrome/browser/profile_resetter/BUILD.gn | 1 -
chrome/browser/profile_resetter/BUILD.gn | 5 +-
.../profile_resetter/profile_resetter.cc | 3 +-
chrome/browser/safe_browsing/BUILD.gn | 1 -
chrome/browser/search_engines/BUILD.gn | 1 -
@@ -65,13 +65,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../search_engines/search_terms_data.cc | 4 +-
components/search_engines/template_url.cc | 6 +-
components/search_provider_logos/BUILD.gn | 2 -
.../logo_service_impl.cc | 15 +-
.../logo_service_impl.cc | 17 +-
components/url_matcher/url_util.cc | 87 -----
.../webid/identity_url_loader_throttle.cc | 1 +
...gled-chromium-no-special-hosts-domains.inc | 1 +
net/base/url_util.cc | 25 +-
services/network/network_context.cc | 2 +-
64 files changed, 56 insertions(+), 887 deletions(-)
64 files changed, 58 insertions(+), 891 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
@@ -697,6 +697,15 @@ diff --git a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc b/
diff --git a/chrome/browser/profile_resetter/BUILD.gn b/chrome/browser/profile_resetter/BUILD.gn
--- a/chrome/browser/profile_resetter/BUILD.gn
+++ b/chrome/browser/profile_resetter/BUILD.gn
@@ -60,7 +60,7 @@ if (!is_android) {
"//chrome/browser/browsing_data:constants",
"//chrome/browser/content_settings:content_settings_factory",
"//chrome/browser/extensions",
- "//chrome/browser/google",
+ #"//chrome/browser/google",
"//chrome/browser/prefs:util",
"//chrome/browser/profiles:profile",
"//chrome/browser/search/background",
@@ -122,7 +122,6 @@ if (!is_android) {
deps = [
":impl",
@@ -705,6 +714,15 @@ diff --git a/chrome/browser/profile_resetter/BUILD.gn b/chrome/browser/profile_r
"//chrome/browser/search/background",
"//chrome/browser/search_engines",
"//chrome/test:test_support",
@@ -201,7 +200,7 @@ if (!is_android) {
"//chrome/browser/content_settings:content_settings_factory",
"//chrome/browser/extensions",
"//chrome/browser/extensions:test_support",
- "//chrome/browser/google",
+ #"//chrome/browser/google",
"//chrome/browser/prefs",
"//chrome/browser/prefs:util",
"//chrome/browser/search/background",
diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browser/profile_resetter/profile_resetter.cc
--- a/chrome/browser/profile_resetter/profile_resetter.cc
+++ b/chrome/browser/profile_resetter/profile_resetter.cc
@@ -1772,7 +1790,7 @@ diff --git a/components/search_provider_logos/logo_service_impl.cc b/components/
if (is_google) {
// Note: Ideally the Google doodle URL would be specified in
// prepopulated_engines.json, but there is some custom logic in
@@ -277,24 +276,14 @@ void LogoServiceImpl::GetLogo(LogoCallbacks callbacks,
@@ -277,24 +276,12 @@ void LogoServiceImpl::GetLogo(LogoCallbacks callbacks,
clock_ = base::DefaultClock::GetInstance();
}
@@ -1787,8 +1805,8 @@ diff --git a/components/search_provider_logos/logo_service_impl.cc b/components/
- // We encode the type of doodle (regular or gray) in the URL so that the
- // logo cache gets cleared when that value changes.
- GURL prefilled_url = AppendPreliminaryParamsToDoodleURL(
want_gray_logo_getter_.Run(), for_webui_ntp, enable_animated_logo,
doodle_url);
- want_gray_logo_getter_.Run(), for_webui_ntp, enable_animated_logo,
- doodle_url);
- SetServerAPI(
- prefilled_url,
- base::BindRepeating(&search_provider_logos::ParseDoodleLogoResponse,