Merge pull request #568 from uazo/next-v120

Patches for v120 stable
This commit is contained in:
uazo
2023-12-06 19:54:56 +07:00
committed by GitHub
192 changed files with 3765 additions and 3767 deletions
+1 -1
View File
@@ -1 +1 @@
119.0.6045.200
120.0.6099.63
+11 -11
View File
@@ -1,11 +1,3 @@
eyeo-beta-118.0.5993.48-base.patch
eyeo-beta-118.0.5993.48-chrome_integration.patch
eyeo-beta-118.0.5993.48-android_api.patch
eyeo-beta-118.0.5993.48-android_settings.patch
eyeo-beta-118.0.5993.48-extension_api.patch
00Eyeo-Adblock-Remove-Privacy-Issues.patch
00AdblockPlus-add-blocking-in-service-workers.patch
bromite-build-utils.patch
Remove-EV-certificates.patch
do-not-hide-.orig-files.patch
@@ -214,7 +206,7 @@ AudioBuffer-AnalyserNode-fp-mitigations.patch
00Disable-visited-pseudo-class.patch
00Add-setting-to-clear-data-on-exit.patch
00WIN-Disable-sharing-hub.patch
00WIN-Enable-Network-Service-Sandbox-and-CIG.patch
Improve-the-browser-sandbox.patch
00Disable-csp-reports.patch
00Fonts-fingerprinting-mitigation.patch
00Keyboard-protection-flag.patch
@@ -283,10 +275,18 @@ Timezone-customization.patch
00Disable-Real-Box.patch
00Always-allow-inspect-fallback.patch
00Add-cromite-flags-support.patch
00Add-PartialLowEndModeOnMidRangeDevices-flag.patch
00Temp-PerformanceNavigationTiming-privacy-fix.patch
00Temp-disable-predictive-back-gesture.patch
00TEMP-Add-a-log-to-track-strange-behavior.patch
00Temp-guard-FileSystemAccessPersistentPermissions.patch
00Fix-chromium-build-bugs.patch
00Fix-chromium-build-bugs.patch
eyeo-beta-118.0.5993.48-base.patch
eyeo-beta-118.0.5993.48-chrome_integration.patch
eyeo-beta-118.0.5993.48-android_api.patch
eyeo-beta-118.0.5993.48-android_settings.patch
eyeo-beta-118.0.5993.48-extension_api.patch
00Eyeo-Adblock-Remove-Privacy-Issues.patch
00AdblockPlus-add-blocking-in-service-workers.patch
@@ -401,7 +401,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.h b/chrome/br
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
@@ -6330,7 +6330,9 @@ ChromeContentBrowserClient::
@@ -6328,7 +6328,9 @@ ChromeContentBrowserClient::
}
bool ChromeContentBrowserClient::WillInterceptWebSocket(
@@ -412,7 +412,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(ENABLE_EXTENSIONS)
if (!frame) {
return false;
@@ -6351,9 +6353,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
@@ -6349,9 +6351,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
}
void ChromeContentBrowserClient::CreateWebSocket(
@@ -427,7 +427,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
@@ -624,11 +624,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -630,11 +630,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
int frame_tree_node_id,
const network::ResourceRequest& resource_request) override;
@@ -662,7 +662,7 @@ diff --git a/components/adblock/content/browser/resource_classification_runner_i
diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/browser/websockets/websocket_connector_impl.cc
--- a/content/browser/websockets/websocket_connector_impl.cc
+++ b/content/browser/websockets/websocket_connector_impl.cc
@@ -87,14 +87,14 @@ void WebSocketConnectorImpl::Connect(
@@ -88,14 +88,14 @@ void WebSocketConnectorImpl::Connect(
const uint32_t options =
GetContentClient()->browser()->GetWebSocketOptions(frame);
@@ -672,8 +672,8 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br
- frame,
+ process, frame,
base::BindOnce(ConnectCalledByContentBrowserClient, requested_protocols,
site_for_cookies, isolation_info_, process_id_,
frame_id_, origin_, options,
site_for_cookies, has_storage_access, isolation_info_,
process_id_, frame_id_, origin_, options,
std::move(throttling_profile_id)),
- url, site_for_cookies, user_agent, std::move(handshake_client));
+ url, origin_, site_for_cookies, user_agent, std::move(handshake_client));
@@ -683,7 +683,7 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -998,7 +998,7 @@ bool ContentBrowserClient::WillCreateURLLoaderFactory(
@@ -1016,7 +1016,7 @@ bool ContentBrowserClient::WillCreateURLLoaderFactory(
return false;
}
@@ -692,7 +692,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
return false;
}
@@ -1007,9 +1007,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
@@ -1025,9 +1025,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
}
void ContentBrowserClient::CreateWebSocket(
@@ -707,7 +707,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -1791,7 +1791,7 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1842,7 +1842,7 @@ class CONTENT_EXPORT ContentBrowserClient {
scoped_refptr<base::SequencedTaskRunner> navigation_response_task_runner);
// Returns true when the embedder wants to intercept a websocket connection.
@@ -716,7 +716,7 @@ diff --git a/content/public/browser/content_browser_client.h b/content/public/br
// Returns the WebSocket creation options.
virtual uint32_t GetWebSocketOptions(RenderFrameHost* frame);
@@ -1813,9 +1813,11 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1864,9 +1864,11 @@ class CONTENT_EXPORT ContentBrowserClient {
// Always called on the UI thread and only when the Network Service is
// enabled.
virtual void CreateWebSocket(
@@ -0,0 +1,55 @@
From: uazo <uazo@users.noreply.github.com>
Date: Wed, 6 Dec 2023 10:21:45 +0000
Subject: Add PartialLowEndModeOnMidRangeDevices flag
adds a new flag in chrome://flags to re-enable the experiment
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
base/features.cc | 3 +++
chrome/browser/about_flags.cc | 1 +
.../Add-PartialLowEndModeOnMidRangeDevices-flag.inc | 12 ++++++++++++
3 files changed, 16 insertions(+)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
diff --git a/base/features.cc b/base/features.cc
--- a/base/features.cc
+++ b/base/features.cc
@@ -67,4 +67,7 @@ BASE_FEATURE(kCollectAndroidFrameTimelineMetrics,
base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_ANDROID)
+SET_CROMITE_FEATURE_DISABLED(kPartialLowEndModeOnMidRangeDevices);
+#endif
} // namespace base::features
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -16,6 +16,7 @@
#include "base/base_switches.h"
#include "base/command_line.h"
#include "base/feature_list.h"
+#include "base/features.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/i18n/base_i18n_switches.h"
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
@@ -0,0 +1,12 @@
+#if BUILDFLAG(IS_ANDROID)
+
+#ifdef FLAG_SECTION
+
+ {"partial-lowendmode-on-midrange-devices",
+ "Partial Low End Mode On Mid Range Devices",
+ "Enables the LowEndDeviceMode experiment in devices with 4-6 gb of ram.",
+ kOsAndroid, FEATURE_VALUE_TYPE(base::features::kPartialLowEndModeOnMidRangeDevices)},
+
+#endif
+
+#endif
--
2.25.1
@@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -7317,9 +7317,9 @@
@@ -6884,9 +6884,9 @@
"expiry_milestone": 121
},
{
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3017,7 +3017,7 @@ const char kReduceAcceptLanguageDescription[] =
@@ -3001,7 +3001,7 @@ const char kResetShortcutCustomizationsDescription[] =
const char kRestrictGamepadAccessName[] = "Restrict gamepad access";
const char kRestrictGamepadAccessDescription[] =
+233 -191
View File
@@ -28,15 +28,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/common/chrome_features.cc | 1 +
.../content_settings/core/common/features.cc | 1 +
components/flags_ui/flags_state.cc | 21 +++
components/flags_ui/resources/app.html | 42 ++++-
components/flags_ui/resources/app.ts | 41 ++++-
components/flags_ui/resources/experiment.html | 7 +-
components/flags_ui/resources/experiment.ts | 16 ++
components/flags_ui/resources/flags.css | 19 +++
components/flags_ui/resources/flags.html | 13 ++
components/flags_ui/resources/flags.ts | 36 ++++-
.../flags_ui/resources/flags_browser_proxy.ts | 5 +
.../core/offline_page_feature.cc | 1 +
.../offline_pages/core/offline_page_feature.h | 1 +
components/permissions/features.cc | 1 +
.../version_ui/version_handler_helper.cc | 2 +-
content/common/features.cc | 1 +
content/public/common/content_features.cc | 1 +
content/public/common/content_features.h | 1 +
@@ -71,7 +71,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
services/network/public/cpp/features.h | 1 +
third_party/blink/common/features.cc | 1 +
third_party/blink/public/common/features.h | 1 +
57 files changed, 474 insertions(+), 12 deletions(-)
57 files changed, 489 insertions(+), 14 deletions(-)
create mode 100755 cromite_flags/BUILD.gn
create mode 100755 cromite_flags/chrome/browser/about_flags_cc/placeholder.txt
create mode 100755 cromite_flags/chrome/browser/browser_features_cc/placeholder.txt
@@ -108,7 +108,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
sources = [
"allocator/allocator_check.cc",
"allocator/allocator_check.h",
@@ -1034,7 +1036,7 @@ component("base") {
@@ -1037,7 +1039,7 @@ component("base") {
"//build/config/compiler:wglobal_constructors",
]
@@ -344,7 +344,7 @@ diff --git a/build/android/gyp/java_cpp_features.py b/build/android/gyp/java_cpp
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
--- a/chrome/android/java/res/values/values.xml
+++ b/chrome/android/java/res/values/values.xml
@@ -42,6 +42,9 @@ found in the LICENSE file.
@@ -44,6 +44,9 @@ found in the LICENSE file.
<!-- Contextual Search -->
<item name="contextual_search_sheet_full_height_fraction" format="float" type="dimen">0.95</item>
@@ -357,7 +357,7 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -99,6 +99,10 @@ found in the LICENSE file.
@@ -58,6 +58,10 @@ found in the LICENSE file.
android:title="@string/tabgrid_use_icons_title"
android:summary="@string/tabgrid_use_icons_summary"
android:defaultValue="false" />
@@ -366,14 +366,14 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:title="@string/cromite_flags_title"
+ app:url="@string/cromite_flags_url" />
<Preference
android:key="privacy_sandbox"
android:title="@string/prefs_privacy_sandbox"
android:key="preload_pages"
android:title="@string/preload_pages_title"
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4064,6 +4064,10 @@ const FeatureEntry::FeatureVariation kWebAuthnAndroidCredManVariations[] = {
nullptr}};
#endif // BUILDFLAG(IS_ANDROID)
@@ -4033,6 +4033,10 @@ const flags_ui::FeatureEntry::FeatureVariation
std::size(kParcelTrackingTestDataOutForDelivery), nullptr},
};
+#define FEATURE_PARAM_SECTION
+#include "cromite_flags/chrome_browser_about_flags_cc.inc"
@@ -382,7 +382,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
// RECORDING USER METRICS FOR FLAGS:
// -----------------------------------------------------------------------------
// The first line of the entry is the internal name.
@@ -4090,6 +4094,9 @@ const FeatureEntry::FeatureVariation kWebAuthnAndroidCredManVariations[] = {
@@ -4059,6 +4063,9 @@ const flags_ui::FeatureEntry::FeatureVariation
const FeatureEntry kFeatureEntries[] = {
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
// //tools/flags/generate_unexpire_flags.py.
@@ -395,16 +395,16 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc
--- a/chrome/browser/browser_features.cc
+++ b/chrome/browser/browser_features.cc
@@ -310,4 +310,5 @@ BASE_FEATURE(kOmniboxTriggerForNoStatePrefetch,
"OmniboxTriggerForNoStatePrefetch",
@@ -298,4 +298,5 @@ BASE_FEATURE(kPayloadTestComponent,
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
+#include "cromite_flags/chrome_browser_browser_features_cc.inc"
} // namespace features
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
@@ -1207,5 +1207,6 @@ BASE_FEATURE(kWebApkInstallService,
@@ -1225,5 +1225,6 @@ BASE_FEATURE(kWebApkInstallService,
"WebApkInstallService",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -414,7 +414,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -228,6 +228,7 @@ constexpr base::FeatureParam<int> kAuxiliarySearchMaxTabsCountParam(
@@ -231,6 +231,7 @@ constexpr base::FeatureParam<int> kAuxiliarySearchMaxTabsCountParam(
"auxiliary_search_max_donation_tab",
100);
@@ -425,7 +425,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -394,4 +394,5 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow,
@@ -383,4 +383,5 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow,
"StopLoadingAnimationForHiddenWindow",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -434,7 +434,7 @@ diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
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
@@ -1664,4 +1664,5 @@ BASE_FEATURE(kSupportsRtcWakeOver24Hours,
@@ -1717,4 +1717,5 @@ BASE_FEATURE(kSupportsRtcWakeOver24Hours,
base::FEATURE_ENABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -443,9 +443,9 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/features.cc
--- a/components/content_settings/core/common/features.cc
+++ b/components/content_settings/core/common/features.cc
@@ -82,5 +82,6 @@ BASE_FEATURE(kTrackingProtection3pcd,
"TrackingProtection3pcd",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -94,5 +94,6 @@ BASE_FEATURE(kTpcdHeuristicsGrants,
const base::FeatureParam<bool> kTpcdReadHeuristicsGrants{
&kTpcdHeuristicsGrants, kTpcdReadHeuristicsGrantsName, false};
+#include "cromite_flags/components_content_settings_core_common_features_cc.inc"
} // namespace features
@@ -481,6 +481,186 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
switch (entry.type) {
case FeatureEntry::SINGLE_VALUE:
case FeatureEntry::SINGLE_DISABLE_VALUE:
diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resources/app.html
--- a/components/flags_ui/resources/app.html
+++ b/components/flags_ui/resources/app.html
@@ -473,7 +473,32 @@
padding-top: 1.5rem;
}
}
+ #appcontainer {
+ overflow-y: scroll;
+ }
+ .cromite #header {
+ display: none;
+ }
+ .cromite .blurb-container {
+ display: none;
+ }
+ .cromite #tabs {
+ display: none;
+ }
+ .cromite #tab-content-available {
+ display: none;
+ }
+ .cromite #tab-content-unavailable {
+ display: none;
+ }
+ .cromite #tab-content-cromite {
+ display: block !important;
+ }
+ .cromite .section-header-title {
+ display: none;
+ }
</style>
+<div id="appcontainer">
<div id="header">
<div class="flex-container">
<div class="flex search-container">
@@ -545,6 +570,11 @@
aria-selected="false" aria-controls="panel2"
tabindex="-1">$i18n{unavailable}</a>
</if>
+ <a href="#tab-content-cromite" id="tab-cromite" class="tab"
+ role="tab"
+ aria-selected="true"
+ aria-controls="panel1"
+ tabindex="5">Cromite</a>
</div>
<div id="tabpanels">
<div id="tab-content-available" class="tab-content selected"
@@ -564,6 +594,14 @@
</div>
</div>
</if>
+ <div id="tab-content-cromite" class="tab-content"
+ role="tabpanel" aria-labelledby="tab-cromite" aria-hidden="false">
+ <!-- Non default experiments. -->
+ <div id="non-default-cromite-experiments"></div>
+ <!-- Experiments with default settings. -->
+ <div id="cromite-experiments"></div>
+ <div class="no-match hidden" role="alert">$i18n{no-results}</div>
+ </div>
</div>
<div id="needs-restart">
<div class="flex-container">
@@ -578,4 +616,6 @@
</div>
</div>
</div>
-</div>
\ No newline at end of file
+</div>
+
+</div>
diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resources/app.ts
--- a/components/flags_ui/resources/app.ts
+++ b/components/flags_ui/resources/app.ts
@@ -193,6 +193,7 @@ export class FlagsAppElement extends CustomElement {
return getTemplate();
}
+ private onlyCromiteFlags: boolean = false;
private announceStatusDelayMs: number = 100;
private featuresResolver: PromiseResolver<void> = new PromiseResolver();
private flagSearch: FlagSearch = new FlagSearch(this);
@@ -204,6 +205,10 @@ export class FlagsAppElement extends CustomElement {
// </if>
tabs: Tab[] = [
+ {
+ tabEl: this.getRequiredElement('#tab-cromite')!,
+ panelEl: this.getRequiredElement('#tab-content-cromite')!,
+ },
{
tabEl: this.getRequiredElement('#tab-available'),
panelEl: this.getRequiredElement('#tab-content-available'),
@@ -217,6 +222,11 @@ export class FlagsAppElement extends CustomElement {
];
connectedCallback() {
+ if (location.pathname == '/cromite') {
+ this.onlyCromiteFlags = true;
+ this.getRequiredElement("#appcontainer").classList.add('cromite');
+ document.title = "Cromite Flags List";
+ }
// Get and display the data upon loading.
this.requestExperimentalFeaturesData();
// There is no restart button on iOS.
@@ -277,20 +287,29 @@ export class FlagsAppElement extends CustomElement {
const defaultFeatures: Feature[] = [];
const nonDefaultFeatures: Feature[] = [];
+ if (this.onlyCromiteFlags) {
+ experimentalFeaturesData.supportedFeatures =
+ experimentalFeaturesData.supportedFeatures.filter(item => item.is_new);
+ }
+ experimentalFeaturesData.supportedFeatures.sort(
+ (a,b) => (a.internal_name.localeCompare(b.internal_name)));
experimentalFeaturesData.supportedFeatures.forEach(
f => (f.is_default ? defaultFeatures : nonDefaultFeatures).push(f));
this.renderExperiments(
nonDefaultFeatures,
- this.getRequiredElement('#non-default-experiments'));
+ this.getRequiredElement('#non-default-experiments'),
+ this.getRequiredElement('#non-default-cromite-experiments'), false);
this.renderExperiments(
- defaultFeatures, this.getRequiredElement('#default-experiments'));
+ defaultFeatures, this.getRequiredElement('#default-experiments'),
+ this.getRequiredElement('#cromite-experiments'), false);
// <if expr="not is_ios">
this.renderExperiments(
experimentalFeaturesData.unsupportedFeatures,
- this.getRequiredElement('#unavailable-experiments'), true);
+ this.getRequiredElement('#unavailable-experiments'),
+ undefined, true);
// </if>
this.showRestartToast(experimentalFeaturesData.needsRestart);
@@ -401,16 +420,23 @@ export class FlagsAppElement extends CustomElement {
}
private renderExperiments(
- features: Feature[], container: HTMLElement, unsupported = false) {
+ features: Feature[], container: HTMLElement,
+ cromiteContainer: HTMLElement | undefined, unsupported: boolean = false) {
const fragment = document.createDocumentFragment();
+ const fragmentCromite = document.createDocumentFragment();
+ const show_permalink = !document.body.classList.contains('cromite');
for (const feature of features) {
const experiment = document.createElement('flags-experiment');
experiment.toggleAttribute('unsupported', unsupported);
+ experiment.permalink = show_permalink;
experiment.data = feature;
experiment.id = feature.internal_name;
const select = experiment.getSelect();
+ // if (select && feature.is_cromite && !feature.is_new) {
+ // select.disabled = true;
+ // }
if (select) {
experiment.addEventListener('select-change', e => {
e.preventDefault();
@@ -434,9 +460,14 @@ export class FlagsAppElement extends CustomElement {
this.showRestartToast(true);
});
}
- fragment.appendChild(experiment);
+ if (feature.is_cromite)
+ fragmentCromite.appendChild(experiment);
+ else
+ fragment.appendChild(experiment);
}
container.replaceChildren(fragment);
+ if (!!cromiteContainer)
+ cromiteContainer.replaceChildren(fragmentCromite);
}
/**
diff --git a/components/flags_ui/resources/experiment.html b/components/flags_ui/resources/experiment.html
--- a/components/flags_ui/resources/experiment.html
+++ b/components/flags_ui/resources/experiment.html
@@ -570,156 +750,6 @@ diff --git a/components/flags_ui/resources/experiment.ts b/components/flags_ui/r
experimentSelect.appendChild(optionEl);
}
diff --git a/components/flags_ui/resources/flags.css b/components/flags_ui/resources/flags.css
--- a/components/flags_ui/resources/flags.css
+++ b/components/flags_ui/resources/flags.css
@@ -468,3 +468,22 @@ button.primary:-webkit-any(:active, :hover) {
padding-top: 1.5rem;
}
}
+
+.cromite #header {
+ display: none;
+}
+.cromite .blurb-container {
+ display: none;
+}
+.cromite #tabs {
+ display: none;
+}
+.cromite #tab-content-available {
+ display: none;
+}
+.cromite #tab-content-unavailable {
+ display: none;
+}
+.cromite #tab-content-cromite {
+ display: block !important;
+}
diff --git a/components/flags_ui/resources/flags.html b/components/flags_ui/resources/flags.html
--- a/components/flags_ui/resources/flags.html
+++ b/components/flags_ui/resources/flags.html
@@ -92,6 +92,11 @@
aria-selected="false" aria-controls="panel2"
tabindex="-1">$i18n{unavailable}</a>
</if>
+ <a href="#tab-content-cromite" id="tab-cromite" class="tab"
+ role="tab"
+ aria-selected="true"
+ aria-controls="panel1"
+ tabindex="5">Cromite</a>
</div>
<div id="tabpanels">
<div id="tab-content-available" class="tab-content selected"
@@ -111,6 +116,14 @@
</div>
</div>
</if>
+ <div id="tab-content-cromite" class="tab-content"
+ role="tabpanel" aria-labelledby="tab-cromite" aria-hidden="false">
+ <!-- Non default experiments. -->
+ <div id="non-default-cromite-experiments"></div>
+ <!-- Experiments with default settings. -->
+ <div id="cromite-experiments"></div>
+ <div class="no-match hidden" role="alert">$i18n{no-results}</div>
+ </div>
</div>
<div id="needs-restart" jsvalues="class:needsRestart ? 'show' : ''">
<div class="flex-container">
diff --git a/components/flags_ui/resources/flags.ts b/components/flags_ui/resources/flags.ts
--- a/components/flags_ui/resources/flags.ts
+++ b/components/flags_ui/resources/flags.ts
@@ -39,6 +39,10 @@ interface Tab {
}
const tabs: Tab[] = [
+ {
+ tabEl: document.body.querySelector('#tab-cromite')!,
+ panelEl: document.body.querySelector('#tab-content-cromite')!,
+ },
{
tabEl: document.body.querySelector('#tab-available')!,
panelEl: document.body.querySelector('#tab-content-available')!,
@@ -84,18 +88,27 @@ function render(experimentalFeaturesData: ExperimentalFeaturesData) {
const defaultFeatures: Feature[] = [];
const nonDefaultFeatures: Feature[] = [];
+ if (document.body.classList.contains("cromite")) {
+ experimentalFeaturesData.supportedFeatures =
+ experimentalFeaturesData.supportedFeatures.filter(item => item.is_new);
+ }
+ experimentalFeaturesData.supportedFeatures.sort(
+ (a,b) => (a.internal_name.localeCompare(b.internal_name)));
experimentalFeaturesData.supportedFeatures.forEach(
f => (f.is_default ? defaultFeatures : nonDefaultFeatures).push(f));
renderExperiments(
- nonDefaultFeatures, getRequiredElement('non-default-experiments'));
+ nonDefaultFeatures, getRequiredElement('non-default-experiments'),
+ getRequiredElement('non-default-cromite-experiments'), false);
- renderExperiments(defaultFeatures, getRequiredElement('default-experiments'));
+ renderExperiments(defaultFeatures, getRequiredElement('default-experiments'),
+ getRequiredElement('cromite-experiments'), false);
// <if expr="not is_ios">
renderExperiments(
experimentalFeaturesData.unsupportedFeatures,
- getRequiredElement('unavailable-experiments'), true);
+ getRequiredElement('unavailable-experiments'),
+ undefined, true);
// </if>
showRestartToast(experimentalFeaturesData.needsRestart);
@@ -248,16 +261,22 @@ function resetAllFlags() {
}
function renderExperiments(
- features: Feature[], container: HTMLElement, unsupported = false) {
+ features: Feature[], container: HTMLElement, cromiteContainer: HTMLElement | undefined, unsupported: boolean) {
const fragment = document.createDocumentFragment();
+ const fragmentCromite = document.createDocumentFragment();
+ const show_permalink = !document.body.classList.contains('cromite');
for (const feature of features) {
const experiment = document.createElement('flags-experiment');
experiment.toggleAttribute('unsupported', unsupported);
+ experiment.permalink = show_permalink;
experiment.data = feature;
experiment.id = feature.internal_name;
const select = experiment.getSelect();
+ // if (select && feature.is_cromite && !feature.is_new) {
+ // select.disabled = true;
+ // }
if (select) {
experiment.addEventListener('select-change', () => {
showRestartToast(true);
@@ -281,9 +300,14 @@ function renderExperiments(
return false;
});
}
- fragment.appendChild(experiment);
+ if (feature.is_cromite)
+ fragmentCromite.appendChild(experiment);
+ else
+ fragment.appendChild(experiment);
}
container.replaceChildren(fragment);
+ if (!!cromiteContainer)
+ cromiteContainer.replaceChildren(fragmentCromite);
}
/**
@@ -507,6 +531,8 @@ function setupRestartButton() {
// </if>
document.addEventListener('DOMContentLoaded', function() {
+ if (location.pathname == '/cromite')
+ document.body.classList.add('cromite');
// Get and display the data upon loading.
requestExperimentalFeaturesData();
// There is no restart button on iOS.
diff --git a/components/flags_ui/resources/flags_browser_proxy.ts b/components/flags_ui/resources/flags_browser_proxy.ts
--- a/components/flags_ui/resources/flags_browser_proxy.ts
+++ b/components/flags_ui/resources/flags_browser_proxy.ts
@@ -758,7 +788,7 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -171,6 +171,7 @@ BASE_FEATURE(kBlockMidiByDefault,
@@ -159,6 +159,7 @@ BASE_FEATURE(kBlockMidiByDefault,
"BlockMidiByDefault",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -766,10 +796,22 @@ diff --git a/components/permissions/features.cc b/components/permissions/feature
} // namespace features
namespace feature_params {
diff --git a/components/version_ui/version_handler_helper.cc b/components/version_ui/version_handler_helper.cc
--- a/components/version_ui/version_handler_helper.cc
+++ b/components/version_ui/version_handler_helper.cc
@@ -37,7 +37,7 @@ base::Value::List GetVariationsList() {
// displayed locally (and is useful for diagnostics purposes).
base::FieldTrialListIncludingLowAnonymity::GetActiveFieldTrialGroups(
&active_groups);
-#if !defined(NDEBUG)
+#if true
const unsigned char kNonBreakingHyphenUTF8[] = {0xE2, 0x80, 0x91, '\0'};
const std::string kNonBreakingHyphenUTF8String(
reinterpret_cast<const char*>(kNonBreakingHyphenUTF8));
diff --git a/content/common/features.cc b/content/common/features.cc
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -529,4 +529,5 @@ BASE_FEATURE(kWindowOpenFileSelectFix,
@@ -571,4 +571,5 @@ BASE_FEATURE(kWindowOpenFileSelectFix,
// Please keep features in alphabetical order.
@@ -778,7 +820,7 @@ diff --git a/content/common/features.cc b/content/common/features.cc
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -1321,4 +1321,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
@@ -1361,4 +1361,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
VideoCaptureServiceConfiguration::kEnabledForBrowserProcess;
}
@@ -787,7 +829,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -327,6 +327,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer);
@@ -335,6 +335,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer);
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess();
@@ -1085,7 +1127,7 @@ new file mode 100755
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
@@ -1743,5 +1743,5 @@ uint32_t GetPassthroughAudioFormats() {
@@ -1750,5 +1750,5 @@ uint32_t GetPassthroughAudioFormats() {
return 0;
#endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS)
}
@@ -1095,7 +1137,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
--- a/media/base/media_switches.h
+++ b/media/base/media_switches.h
@@ -505,5 +505,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
@@ -517,5 +517,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
MEDIA_EXPORT uint32_t GetPassthroughAudioFormats();
} // namespace media
@@ -1105,18 +1147,18 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -469,4 +469,5 @@ BASE_FEATURE(kSpdyHeadersToHttpResponseVerifyCorrectness,
"SpdyHeadersToHttpResponseVerifyCorrectness",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -477,4 +477,5 @@ BASE_FEATURE(kNewCertPathBuilderIterationLimit,
"NewCertPathBuilderIterationLimit",
base::FEATURE_ENABLED_BY_DEFAULT);
+#include "cromite_flags/net_base_features_cc.inc"
} // namespace net::features
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -467,6 +467,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kSpdyHeadersToHttpResponseUseBuilder);
// for two weeks on Dev.
NET_EXPORT BASE_DECLARE_FEATURE(kSpdyHeadersToHttpResponseVerifyCorrectness);
@@ -470,6 +470,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kReceiveEcn);
NET_EXPORT BASE_DECLARE_FEATURE(kNewCertPathBuilderIterationLimit);
+#include "cromite_flags/net_base_features_h.inc"
} // namespace net::features
@@ -1125,18 +1167,18 @@ diff --git a/net/base/features.h b/net/base/features.h
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -422,4 +422,5 @@ BASE_FEATURE(kVisibilityAwareResourceScheduler,
BASE_FEATURE(kSharedZstd, "SharedZstd", base::FEATURE_ENABLED_BY_DEFAULT);
@@ -431,4 +431,5 @@ const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsSupport{
&kSkipTpcdMitigationsForAds, /*name=*/"SkipTpcdMitigationsForAdsSupport",
/*default_value=*/false};
+#include "cromite_flags/services_network_public_cpp_features_cc.inc"
} // namespace network::features
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -158,6 +158,7 @@ BASE_DECLARE_FEATURE(kVisibilityAwareResourceScheduler);
@@ -168,6 +168,7 @@ extern const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsMetadata;
COMPONENT_EXPORT(NETWORK_CPP)
BASE_DECLARE_FEATURE(kSharedZstd);
extern const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsSupport;
+#include "cromite_flags/services_network_public_cpp_features_h.inc"
} // namespace features
@@ -1145,7 +1187,7 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -2168,5 +2168,6 @@ bool IsKeepAliveURLLoaderServiceEnabled() {
@@ -2222,5 +2222,6 @@ bool IsKeepAliveURLLoaderServiceEnabled() {
base::FeatureList::IsEnabled(kFetchLaterAPI);
}
@@ -1155,7 +1197,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -1388,6 +1388,7 @@ BLINK_COMMON_EXPORT bool IsKeepAliveURLLoaderServiceEnabled();
@@ -1427,6 +1427,7 @@ BLINK_COMMON_EXPORT bool IsKeepAliveURLLoaderServiceEnabled();
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
kRemoveAuthroizationOnCrossOriginRedirect);
@@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
@@ -288,8 +288,12 @@ class TabGridViewBinder {
@@ -287,8 +287,12 @@ class TabGridViewBinder {
// Adjust bitmap to thumbnail.
TabUtils.setBitmapAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
} else if (isMostRecentRequest) {
@@ -31,7 +31,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
};
if (sThumbnailFetcherForTesting != null) {
@@ -325,6 +329,7 @@ class TabGridViewBinder {
@@ -324,6 +328,7 @@ class TabGridViewBinder {
*/
private static void setFavicon(ViewLookupCachingFrameLayout rootView, PropertyModel model,
TabListFaviconProvider.TabFavicon favicon) {
@@ -67,7 +67,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -94,6 +94,11 @@ found in the LICENSE file.
@@ -53,6 +53,11 @@ found in the LICENSE file.
android:title="@string/open_external_links_incognito_title"
android:summary="@string/open_external_links_incognito_summary"
android:defaultValue="false" />
@@ -77,20 +77,20 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:summary="@string/tabgrid_use_icons_summary"
+ android:defaultValue="false" />
<Preference
android:key="privacy_sandbox"
android:title="@string/prefs_privacy_sandbox"
android:key="preload_pages"
android:title="@string/preload_pages_title"
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
@@ -142,6 +142,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@@ -144,6 +144,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.printing.TabPrinter;
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.readaloud.ReadAloudController;
import org.chromium.chrome.browser.selection.SelectionPopupBackPressHandler;
@@ -658,7 +659,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -663,7 +664,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
TabModelSelector tabModelSelector = mTabModelOrchestrator.getTabModelSelector();
setTabContentManager(new TabContentManager(this, mBrowserControlsManagerSupplier.get(),
@@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
@@ -344,9 +344,12 @@ public class TabContentManager {
@@ -345,9 +345,12 @@ public class TabContentManager {
* @param forceUpdate Whether to obtain the thumbnail from the live content.
* @param writeBack When {@code forceUpdate}, whether to write the thumbnail to cache.
*/
@@ -120,7 +120,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -65,6 +65,11 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
@@ -66,6 +66,11 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import java.util.ArrayList;
import java.util.List;
@@ -72,7 +77,15 @@ import java.util.List;
@@ -73,7 +78,15 @@ import java.util.List;
* Fragment to keep track of the all the privacy related preferences.
*/
public class PrivacySettings
@@ -149,7 +149,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_PRELOAD_PAGES = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
@@ -139,6 +152,21 @@ public class PrivacySettings
@@ -136,6 +149,21 @@ public class PrivacySettings
}
}
@@ -171,7 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
// Record the launch of PG from the S&P link-row entry point
privacyGuidePreference.setOnPreferenceClickListener(preference -> {
@@ -294,6 +322,7 @@ public class PrivacySettings
@@ -293,6 +321,7 @@ public class PrivacySettings
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
@@ -179,7 +179,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -319,6 +348,13 @@ public class PrivacySettings
@@ -318,6 +347,13 @@ public class PrivacySettings
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
sharedPreferencesEditor.apply();
@@ -193,7 +193,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -361,6 +397,10 @@ public class PrivacySettings
@@ -360,6 +396,10 @@ public class PrivacySettings
: R.string.text_off);
}
@@ -207,7 +207,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
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
@@ -5463,6 +5463,14 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -5390,6 +5390,14 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
</message>
@@ -19,7 +19,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/browser/profiles/profile_manager.cc | 13 ++++
chrome/browser/profiles/profile_manager.h | 2 +
.../clear_browsing_data_dialog.html | 44 +++++++++++
.../clear_browsing_data_dialog.ts | 1 +
.../clear_browsing_data_dialog.ts | 2 +
.../strings/android_chrome_strings.grd | 3 +
.../settings_localized_strings_provider.cc | 1 +
.../core/browsing_data_policies_utils.cc | 20 ++---
@@ -29,13 +29,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
components/browsing_data/core/pref_names.cc | 27 +++++++
components/browsing_data/core/pref_names.h | 9 +++
content/browser/storage_partition_impl.cc | 1 +
25 files changed, 319 insertions(+), 16 deletions(-)
25 files changed, 320 insertions(+), 16 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -303,6 +303,7 @@ chrome_java_sources = [
@@ -301,6 +301,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAdvanced.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java",
@@ -46,7 +46,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -146,6 +146,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
@@ -150,6 +150,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate;
@@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler;
import org.chromium.chrome.browser.read_later.ReadingListUtils;
import org.chromium.chrome.browser.reengagement.ReengagementNotificationController;
@@ -1307,7 +1308,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1333,7 +1334,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Intent intent = getIntent();
boolean hadCipherData =
@@ -210,7 +210,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -2333,6 +2333,16 @@
@@ -2339,6 +2339,16 @@
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for clear browsing data button in Privacy options">
Clear browsing data
</message>
@@ -276,12 +276,12 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.
const syncer::UserSelectableTypeSet sync_types) {
+ if ((true)) return true;
bool sync_disabled = !SyncServiceFactory::IsSyncAllowed(profile_);
// Return the state of sync if
// `features::kDataRetentionPoliciesDisableSyncTypesNeeded` is disabled or if
// Condition is satisfied if sync is fully disabled by policy.
if (sync_disabled) {
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -427,6 +427,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -426,6 +426,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
delete_end_, CreateTaskCompletionClosure(TracingDataType::kHistory),
&history_task_tracker_);
}
@@ -291,7 +291,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
if (ClipboardRecentContent::GetInstance())
ClipboardRecentContent::GetInstance()->SuppressClipboardContent();
@@ -477,7 +480,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -476,7 +479,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS |
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY);
}
@@ -301,7 +301,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
// The saved Autofill profiles and credit cards can include the origin from
// which these profiles and credit cards were learned. These are a form of
// history, so clear them as well.
@@ -498,7 +503,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -497,7 +502,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
if (data_manager)
data_manager->Refresh();
}
@@ -311,7 +311,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
base::ThreadPool::PostTaskAndReply(
FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()},
base::BindOnce(
@@ -573,9 +580,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -572,9 +579,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
device_event_log::Clear(delete_begin_, delete_end_);
@@ -328,7 +328,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -517,6 +517,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
@@ -504,6 +504,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] =
settings_api::PrefType::PREF_TYPE_NUMBER;
@@ -355,7 +355,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
diff --git a/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java b/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
--- a/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
+++ b/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
@@ -52,9 +52,14 @@ public class ProfileManagerUtils {
@@ -54,9 +54,14 @@ public class ProfileManagerUtils {
}
}
@@ -385,7 +385,7 @@ diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/b
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -1492,6 +1492,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
@@ -1491,6 +1491,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
}
}
@@ -408,7 +408,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h
--- a/chrome/browser/profiles/profile_manager.h
+++ b/chrome/browser/profiles/profile_manager.h
@@ -202,6 +202,8 @@ class ProfileManager : public Profile::Delegate {
@@ -199,6 +199,8 @@ class ProfileManager : public Profile::Delegate {
// profiles.
std::vector<Profile*> GetLoadedProfiles() const;
@@ -420,7 +420,7 @@ diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
@@ -284,6 +284,50 @@
@@ -304,6 +304,50 @@
disabled="[[clearingInProgress_]]" no-set-pref>
</settings-checkbox>
</div>
@@ -474,7 +474,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
@@ -194,6 +194,7 @@ export class SettingsClearBrowsingDataDialogElement extends
@@ -222,6 +222,7 @@ export class SettingsClearBrowsingDataDialogElement extends
value: () =>
[loadTimeData.getString('basicPageTitle'),
loadTimeData.getString('advancedPageTitle'),
@@ -482,10 +482,18 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
],
},
@@ -332,6 +333,7 @@ export class SettingsClearBrowsingDataDialogElement extends
}
this.clearButtonDisabled_ =
this.getSelectedDataTypes_(tab as HTMLElement).length === 0;
+ if ((tab as HTMLElement).id == "atstart-tab") this.clearButtonDisabled_ = true;
}
/**
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
@@ -1635,6 +1635,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1526,6 +1526,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_DATA_BASIC_TAB_TITLE" desc="The title of the tab showing the basic clear browsing data options.">
Basic
</message>
@@ -498,7 +506,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1584,6 +1584,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
@@ -1604,6 +1604,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
@@ -638,7 +646,7 @@ diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_d
// Clear browsing data deletion time period.
const char kDeleteTimePeriod[] = "browser.clear_data.time_period";
const char kDeleteTimePeriodBasic[] = "browser.clear_data.time_period_basic";
@@ -85,6 +95,23 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -97,6 +107,23 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterIntegerPref(
kClearBrowsingDataHistoryNoticeShownTimes, 0);
@@ -684,7 +692,7 @@ diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_da
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
--- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc
@@ -1542,6 +1542,7 @@ void StoragePartitionImpl::Initialize(
@@ -1569,6 +1569,7 @@ void StoragePartitionImpl::Initialize(
.AppendASCII("Code Cache");
}
DCHECK_GE(settings.size_in_bytes(), 0);
@@ -23,13 +23,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
...Add-setting-to-invert-tap-and-long-tap.inc | 8 +++++
...Add-setting-to-invert-tap-and-long-tap.inc | 3 ++
...Add-setting-to-invert-tap-and-long-tap.inc | 1 +
.../renderer/core/html/html_anchor_element.cc | 35 +++++++++++++++----
.../renderer/core/html/html_anchor_element.cc | 36 +++++++++++++++----
.../renderer/core/html/html_anchor_element.h | 9 +++--
.../renderer/core/html/html_image_element.cc | 17 +++++++++
.../renderer/core/html/html_image_element.h | 2 ++
.../core/page/context_menu_controller.cc | 32 ++++++++++++-----
.../core/page/context_menu_controller.h | 5 +--
21 files changed, 164 insertions(+), 20 deletions(-)
21 files changed, 164 insertions(+), 21 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc
create mode 100644 cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc
@@ -76,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
@@ -88,8 +88,9 @@ class ChromeContextMenuItem {
@@ -87,8 +87,9 @@ class ChromeContextMenuItem {
int SHARE_HIGHLIGHT = 32;
int REMOVE_HIGHLIGHT = 33;
int LEARN_MORE = 34;
@@ -87,18 +87,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
}
/**
@@ -131,6 +132,7 @@ class ChromeContextMenuItem {
@@ -130,6 +131,7 @@ class ChromeContextMenuItem {
R.id.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT
R.id.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT
R.id.contextmenu_learn_more, // Item.LEARN_MORE
+ R.id.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB
};
/**
@@ -172,6 +174,7 @@ class ChromeContextMenuItem {
R.string.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT
R.string.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT
R.string.contextmenu_learn_more, // Item.LEARN_MORE
/** Mapping from {@link Item} to the ID of the string that describes the action of the item. */
@@ -169,6 +171,7 @@ class ChromeContextMenuItem {
R.string.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT
R.string.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT
R.string.contextmenu_learn_more, // Item.LEARN_MORE
+ R.string.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB:
};
@@ -106,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -239,6 +239,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -241,6 +241,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (mParams.isAnchor()) {
ModelList linkGroup = new ModelList();
@@ -116,7 +116,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(mParams.getUrl())
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
if (mMode == ContextMenuMode.NORMAL) {
@@ -588,6 +591,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -593,6 +596,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
ShareHelper.shareDirectly(
params, ShareHelper.getLastShareComponentName(), getProfile(), false);
});
@@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
@@ -247,6 +247,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -251,6 +251,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
mTab.loadUrl(loadUrlParams);
}
@@ -165,7 +165,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
+ &blink::features::kShowAlwaysContextMenuOnLinks,
&kTabStripRedesign,
&kTabletToolbarReordering,
&kTabStripStartupRefactoring,
&kTabStateFlatBuffer,
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
@@ -178,7 +178,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
"NotificationPermissionBottomSheet";
@@ -600,6 +602,8 @@ public abstract class ChromeFeatureList {
@@ -615,6 +617,8 @@ public abstract class ChromeFeatureList {
new CachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
public static final CachedFlag sMoveTopToolbarToBottom =
new CachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
@@ -187,18 +187,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sOmniboxModernizeVisualUpdate =
new CachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, true);
public static final CachedFlag sOptimizationGuidePushNotifications =
@@ -723,6 +727,7 @@ public abstract class ChromeFeatureList {
sTabStripRedesign,
sTabStripStartupRefactoring,
sTabletToolbarReordering,
+ sShowAlwaysContextMenuOnLinks,
sTabToGTSAnimation,
sToolbarUseHardwareBitmapDraw,
sUseChimeAndroidSdk,
@@ -750,6 +754,7 @@ public abstract class ChromeFeatureList {
sTabToGTSAnimation,
sToolbarUseHardwareBitmapDraw,
sUseChimeAndroidSdk,
+ sShowAlwaysContextMenuOnLinks,
sUseLibunwindstackNativeUnwinderAndroid);
public static final List<CachedFlag> sFlagsCachedInMinimalBrowser =
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
@@ -1839,6 +1839,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1732,6 +1732,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_MOVE_TOOLBAR_BOTTOM_SUMMARY" desc="Summary of the preference that allows the user to move toolbar on bottom.">
Move toolbar to bottom
</message>
@@ -211,7 +211,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Safety check -->
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
@@ -2891,6 +2897,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -2778,6 +2784,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
Open in new Chrome tab
</message>
@@ -346,7 +346,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
LocalDOMWindow* window = GetDocument().domWindow();
if (!window) {
return;
@@ -510,6 +522,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
@@ -518,6 +530,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
/*element=*/this, request.HasUserGesture()));
}
@@ -362,8 +362,8 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
Frame* target_frame =
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
@@ -553,7 +574,7 @@ void HTMLAnchorElement::SetHovered(bool hovered) {
}
@@ -541,7 +562,7 @@ void HTMLAnchorElement::SetHovered(bool hovered) {
HTMLElement::SetHovered(hovered);
}
-void HTMLAnchorElement::HandleClick(Event& event) {
@@ -371,25 +371,26 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
event.SetDefaultHandled();
LocalDOMWindow* window = GetDocument().domWindow();
@@ -652,12 +673,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
@@ -641,13 +662,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
return;
}
NavigationPolicy navigation_policy = NavigationPolicyFromEvent(&event);
- base::OnceClosure navigate_closure = WTF::BindOnce(
- &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
- std::move(request), navigation_policy, event.isTrusted(),
- event.PlatformTimeStamp(), std::move(completed_url));
if (navigation_policy == kNavigationPolicyDownload) {
-
if (navigation_policy == kNavigationPolicyDownload ||
navigation_policy == kNavigationPolicyLinkPreview) {
+ base::OnceClosure navigate_closure = WTF::BindOnce(
+ &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
+ std::move(request), navigation_policy, event.isTrusted(),
+ event.PlatformTimeStamp(), std::move(completed_url));
// If Alt is held down it will force a download, however, wait to see if
// this is an alt-double-click which should instead select the text of the
// link.
@@ -669,7 +690,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
frame->GetEventHandler().SetDownloadModifierTaskHandle(
// We distinguish single/double click with some modifiers.
// See the comment of `EventHandler.delayed_navigation_task_handle_`.
auto task_handle = PostDelayedCancellableTask(
@@ -657,7 +677,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
frame->GetEventHandler().SetDelayedNavigationTaskHandle(
std::move(task_handle));
} else {
- std::move(navigate_closure).Run();
@@ -402,7 +403,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h
--- a/third_party/blink/renderer/core/html/html_anchor_element.h
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h
@@ -106,6 +106,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
@@ -104,6 +104,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
void SetHovered(bool hovered) override;
void Trace(Visitor*) const override;
@@ -410,7 +411,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_
protected:
void ParseAttribute(const AttributeModificationParams&) override;
@@ -127,12 +128,16 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
@@ -126,12 +127,16 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
bool IsInteractiveContent() const final;
InsertionNotificationRequest InsertedInto(ContainerNode&) override;
void RemovedFrom(ContainerNode&) override;
@@ -485,7 +486,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_p
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
@@ -236,14 +236,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
@@ -231,14 +231,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
}
}
@@ -505,7 +506,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
mouse_event->SetDefaultHandled();
}
@@ -461,7 +463,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
@@ -456,7 +458,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
const PhysicalOffset& point,
WebMenuSourceType source_type,
@@ -515,7 +516,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
// Displaying the context menu in this function is a big hack as we don't
// have context, i.e. whether this is being invoked via a script or in
// response to user input (Mouse event WM_RBUTTONDOWN,
@@ -484,6 +487,15 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
@@ -479,6 +482,15 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
if (!result.InnerNodeOrImageMapImage())
return false;
@@ -531,9 +532,9 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
// Clear any previously set cached results if we are resetting the hit test
// result.
image_selection_cached_result_ = nullptr;
@@ -837,11 +849,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
data.form_renderer_id = GetFormRendererId(result);
data.field_renderer_id = GetFieldRendererId(result);
@@ -832,11 +844,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
SetAutofillData(result.InnerNode(), data);
SetPasswordManagerData(result.InnerElement(), data);
- const bool from_touch = source_type == kMenuSourceTouch ||
- source_type == kMenuSourceLongPress ||
+17 -17
View File
@@ -83,7 +83,7 @@ Enabled by default
diff --git a/DEPS b/DEPS
--- a/DEPS
+++ b/DEPS
@@ -515,6 +515,10 @@ vars = {
@@ -504,6 +504,10 @@ vars = {
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling feed
# and whatever else without interference from each other.
@@ -94,7 +94,7 @@ diff --git a/DEPS b/DEPS
'highway_revision': '8f20644eca693cfb74aa795b0006b6779c370e7a',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling ffmpeg
@@ -1205,6 +1209,9 @@ deps = {
@@ -1134,6 +1138,9 @@ deps = {
'src/third_party/dawn':
Var('dawn_git') + '/dawn.git' + '@' + Var('dawn_revision'),
@@ -146,14 +146,14 @@ new file mode 100644
diff --git a/build/linux/unbundle/replace_gn_files.py b/build/linux/unbundle/replace_gn_files.py
--- a/build/linux/unbundle/replace_gn_files.py
+++ b/build/linux/unbundle/replace_gn_files.py
@@ -53,6 +53,7 @@ REPLACEMENTS = {
@@ -55,6 +55,7 @@ REPLACEMENTS = {
'libdrm': 'third_party/libdrm/BUILD.gn',
'libevent': 'third_party/libevent/BUILD.gn',
'libjpeg': 'third_party/libjpeg.gni',
+ 'libjxl' : 'third_party/libjxl/BUILD.gn',
'libpng': 'third_party/libpng/BUILD.gn',
'libvpx': 'third_party/libvpx/BUILD.gn',
'libwebp': 'third_party/libwebp/BUILD.gn',
'libsecret' : 'third_party/libsecret/BUILD.gn',
'libusb': 'third_party/libusb/BUILD.gn',
diff --git a/cc/base/devtools_instrumentation.cc b/cc/base/devtools_instrumentation.cc
--- a/cc/base/devtools_instrumentation.cc
+++ b/cc/base/devtools_instrumentation.cc
@@ -174,8 +174,8 @@ diff --git a/cc/base/devtools_instrumentation.h b/cc/base/devtools_instrumentati
class CC_BASE_EXPORT ScopedImageTask {
public:
- enum ImageType { kAvif, kBmp, kGif, kIco, kJpeg, kPng, kWebP, kOther };
+ enum ImageType { kJxl, kAvif, kBmp, kGif, kIco, kJpeg, kPng, kWebP, kOther };
- enum class ImageType { kAvif, kBmp, kGif, kIco, kJpeg, kPng, kWebP, kOther };
+ enum class ImageType { kJxl, kAvif, kBmp, kGif, kIco, kJpeg, kPng, kWebP, kOther };
explicit ScopedImageTask(ImageType image_type)
: image_type_(image_type), start_time_(base::TimeTicks::Now()) {}
@@ -304,7 +304,7 @@ new file mode 100644
diff --git a/media/BUILD.gn b/media/BUILD.gn
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -37,6 +37,7 @@ buildflag_header("media_buildflags") {
@@ -38,6 +38,7 @@ buildflag_header("media_buildflags") {
"ENABLE_CAST_AUDIO_RENDERER=$enable_cast_audio_renderer",
"ENABLE_DAV1D_DECODER=$enable_dav1d_decoder",
"ENABLE_AV1_DECODER=$enable_av1_decoder",
@@ -315,7 +315,7 @@ diff --git a/media/BUILD.gn b/media/BUILD.gn
diff --git a/media/media_options.gni b/media/media_options.gni
--- a/media/media_options.gni
+++ b/media/media_options.gni
@@ -125,6 +125,9 @@ declare_args() {
@@ -129,6 +129,9 @@ declare_args() {
# `enable_libaom` should likely also be overriddent to false.
enable_av1_decoder = enable_dav1d_decoder
@@ -363,7 +363,7 @@ diff --git a/net/base/mime_util_unittest.cc b/net/base/mime_util_unittest.cc
#if BUILDFLAG(IS_CHROMEOS_ASH)
// These are test cases for testing platform mime types on ChromeOS.
{FILE_PATH_LITERAL("epub"), {"application/epub+zip"}},
@@ -497,6 +499,7 @@ TEST(MimeUtilTest, TestGetExtensionsForMimeType) {
@@ -496,6 +498,7 @@ TEST(MimeUtilTest, TestGetExtensionsForMimeType) {
{"MeSsAge/*", 1, "eml"},
{"message/", 0, nullptr, true},
{"image/avif", 1, "avif"},
@@ -466,7 +466,7 @@ diff --git a/third_party/blink/common/mime_util/mime_util_unittest.cc b/third_pa
diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
--- a/third_party/blink/public/devtools_protocol/browser_protocol.pdl
+++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
@@ -4133,6 +4133,7 @@ domain Emulation
@@ -4218,6 +4218,7 @@ domain Emulation
experimental type DisabledImageType extends string
enum
avif
@@ -607,7 +607,7 @@ diff --git a/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.c
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -2232,6 +2232,10 @@ source_set("blink_platform_unittests_sources") {
@@ -2256,6 +2256,10 @@ source_set("blink_platform_unittests_sources") {
sources += [ "text/locale_icu_test.cc" ]
}
@@ -618,7 +618,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
sources += [ "testing/run_all_tests.cc" ]
configs += [
@@ -2275,6 +2279,7 @@ source_set("blink_platform_unittests_sources") {
@@ -2299,6 +2303,7 @@ source_set("blink_platform_unittests_sources") {
"//third_party/blink/renderer/platform/scheduler:unit_tests",
"//third_party/blink/renderer/platform/wtf",
"//third_party/libavif:libavif",
@@ -2221,7 +2221,7 @@ diff --git a/third_party/blink/tools/commit_stats/git-dirs.txt b/third_party/bli
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -4781,6 +4781,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai
@@ -4822,6 +4822,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai
# Started failing after rolling new version of check-layout-th.js
css3/flexbox/perpendicular-writing-modes-inside-flex-item.html [ Failure ]
@@ -2237,7 +2237,7 @@ diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/we
diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites
--- a/third_party/blink/web_tests/VirtualTestSuites
+++ b/third_party/blink/web_tests/VirtualTestSuites
@@ -447,6 +447,15 @@
@@ -429,6 +429,15 @@
"--disable-threaded-compositing", "--disable-threaded-animation"],
"expires": "Jul 1, 2023"
},
@@ -2652,7 +2652,7 @@ new file mode 100644
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -26498,7 +26498,7 @@ Called by update_debug_scenarios.py.-->
@@ -26859,7 +26859,7 @@ Called by update_debug_scenarios.py.-->
<int value="5" label="kImageICO"/>
<int value="6" label="kImageBMP"/>
<int value="7" label="kImageAVIF"/>
@@ -2661,7 +2661,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
</enum>
<enum name="DecodeSwapChainNotUsedReason">
@@ -65584,6 +65584,7 @@ from previous Chrome versions.
@@ -66334,6 +66334,7 @@ from previous Chrome versions.
<int value="188610022" label="NewMessageListView:enabled"/>
<int value="189728101" label="FasterLocationReload:disabled"/>
<int value="189777537" label="DisableInitialMostVisitedFadeIn:enabled"/>
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
--- a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
+++ b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
@@ -370,6 +370,13 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow(
@@ -372,6 +372,13 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow(
return;
}
@@ -23,9 +23,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.tab.TabBrowserControlsConstraintsHelper;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
import org.chromium.chrome.browser.tabmodel.document.ChromeAsyncTabLauncher;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
@@ -202,6 +204,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -206,6 +208,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@Override
public void onOpenInNewTab(GURL url, Referrer referrer, boolean navigateToTab,
@Nullable AdditionalNavigationParams additionalNavigationParams) {
@@ -33,7 +33,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
RecordUserAction.record("MobileNewTabOpened");
RecordUserAction.record("LinkOpenedInNewTab");
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
@@ -215,6 +218,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -219,6 +222,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@Override
public void onOpenInNewTabInGroup(GURL url, Referrer referrer) {
@@ -41,7 +41,7 @@ diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/pre
diff --git a/services/network/cors/preflight_controller.cc b/services/network/cors/preflight_controller.cc
--- a/services/network/cors/preflight_controller.cc
+++ b/services/network/cors/preflight_controller.cc
@@ -804,6 +804,10 @@ void PreflightController::ClearCorsPreflightCache(
@@ -789,6 +789,10 @@ void PreflightController::ClearCorsPreflightCache(
cache_.ClearCache(std::move(url_filter));
}
@@ -79,7 +79,7 @@ diff --git a/services/network/cors/preflight_result.cc b/services/network/cors/p
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1126,6 +1126,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
@@ -1129,6 +1129,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
base::BindOnce(&NetworkContext::OnHttpCacheCleared,
base::Unretained(this), std::move(callback))));
+21 -21
View File
@@ -39,7 +39,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../profiles/profile_shortcut_manager_win.cc | 2 +-
.../settings/settings_menu/settings_menu.html | 5 ++-
.../strings/android_chrome_strings.grd | 2 +-
chrome/common/url_constants.cc | 4 +-
chrome/common/url_constants.h | 4 +-
.../strings/android/browser_ui_strings.grd | 2 +-
.../drawable-hdpi/fre_product_logo.png | Bin 3912 -> 22295 bytes
.../drawable-mdpi/fre_product_logo.png | Bin 2490 -> 12171 bytes
@@ -116,7 +116,7 @@ diff --git a/chrome/android/java/res/xml/legal_information_preferences.xml b/chr
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -8,20 +8,20 @@
@@ -14,20 +14,20 @@ found in the LICENSE file.
android:order="0"/>
<PreferenceCategory
android:key="account_and_google_services_section"
@@ -13147,7 +13147,7 @@ e)fqMZZ`3a)Ds&5H<cfp<0000<MNUMnLSTYHt&Yn8
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2078,6 +2078,7 @@ static_library("browser") {
@@ -2083,6 +2083,7 @@ static_library("browser") {
"//build:chromeos_buildflags",
"//build/config/chromebox_for_meetings:buildflags",
"//build/config/compiler:compiler_buildflags",
@@ -13158,7 +13158,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
@@ -28,6 +28,7 @@
@@ -24,6 +24,7 @@
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
@@ -13166,7 +13166,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse
#include "chrome/browser/browser_process.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
#include "chrome/browser/prefs/chrome_command_line_pref_store.h"
@@ -285,10 +286,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
@@ -274,10 +275,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
#endif
std::string seed;
CHECK(ui::ResourceBundle::HasSharedInstance());
@@ -13209,7 +13209,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
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
@@ -2296,7 +2296,7 @@ Your Google account may have other forms of browsing history like searches and a
@@ -2189,7 +2189,7 @@ Your Google account may have other forms of browsing history like searches and a
About Chrome
</message>
<message name="IDS_LEGAL_INFORMATION_SUMMARY" desc="Summary for legal information" meaning="Android">
@@ -13218,31 +13218,31 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</message>
<message name="IDS_APPLICATION_VERSION_TITLE" desc="Title for application version">
Application version
diff --git a/chrome/common/url_constants.cc b/chrome/common/url_constants.cc
--- a/chrome/common/url_constants.cc
+++ b/chrome/common/url_constants.cc
@@ -79,7 +79,7 @@ const char kChromeHelpViaMenuURL[] =
diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
--- a/chrome/common/url_constants.h
+++ b/chrome/common/url_constants.h
@@ -114,7 +114,7 @@ inline constexpr char kChromeHelpViaMenuURL[] =
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
const char kChromeHelpViaWebUIURL[] =
- "https://support.google.com/chrome/?p=help&ctx=settings";
+ "https://github.com/uazo/bromite-buildtools/issues";
inline constexpr char kChromeHelpViaWebUIURL[] =
- "https://support.google.com/chrome?p=help&ctx=settings";
+ "https://github.com/uazo/cromite/issues";
#if BUILDFLAG(IS_CHROMEOS_ASH)
const char kChromeOsHelpViaWebUIURL[] =
inline constexpr char kChromeOsHelpViaWebUIURL[] =
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
@@ -111,7 +111,7 @@ const char kChromeSearchScheme[] = "chrome-search";
const char kChromeUIUntrustedNewTabPageUrl[] =
@@ -180,7 +180,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] =
"chrome-untrusted://new-tab-page/";
-const char kChromiumProjectURL[] = "https://www.chromium.org/";
+const char kChromiumProjectURL[] = "https://github.com/uazo/bromite-buildtools/";
// The URL for the Chromium project used in the About dialog.
-inline constexpr char16_t kChromiumProjectURL[] = u"https://www.chromium.org/";
+inline constexpr char16_t kChromiumProjectURL[] = u"https://www.cromite.org/";
const char kContentSettingsExceptionsLearnMoreURL[] =
"https://support.google.com/chrome/?p=settings_manage_exceptions";
inline constexpr char16_t kContentSettingsExceptionsLearnMoreURL[] =
u"https://support.google.com/chrome?p=settings_manage_exceptions";
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -978,7 +978,7 @@
@@ -1009,7 +1009,7 @@
<!-- Accessibility preferences -->
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
@@ -10,12 +10,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -3152,8 +3152,8 @@
@@ -3232,8 +3232,8 @@
status: "stable",
},
{
- name: "RemoveDataUrlInSvgUse",
- status: "experimental",
- status: "stable",
+ name: "RemoveDataUrlInSvgUse", // enabled
+ status: "stable", // by default
},
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/component_updater/registration.cc
--- a/chrome/browser/component_updater/registration.cc
+++ b/chrome/browser/component_updater/registration.cc
@@ -98,6 +98,7 @@
@@ -100,6 +100,7 @@
namespace component_updater {
void RegisterComponentsForUpdate() {
@@ -34,7 +34,7 @@ diff --git a/components/component_updater/component_installer.cc b/components/co
diff --git a/components/component_updater/component_updater_service.cc b/components/component_updater/component_updater_service.cc
--- a/components/component_updater/component_updater_service.cc
+++ b/components/component_updater/component_updater_service.cc
@@ -520,7 +520,7 @@ std::unique_ptr<ComponentUpdateService> ComponentUpdateServiceFactory(
@@ -522,7 +522,7 @@ std::unique_ptr<ComponentUpdateService> ComponentUpdateServiceFactory(
// Register prefs required by the component update service.
void RegisterComponentUpdateServicePrefs(PrefRegistrySimple* registry) {
// The component updates are enabled by default, if the preference is not set.
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -678,16 +678,18 @@
@@ -698,16 +698,18 @@
status: "stable",
},
{
+1 -1
View File
@@ -18,7 +18,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1596,7 +1596,7 @@
@@ -1653,7 +1653,7 @@
{
name: "FedCm",
public: true,
@@ -25,7 +25,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/components/privacy_sandbox/tracking_protection_prefs.cc
--- a/components/privacy_sandbox/tracking_protection_prefs.cc
+++ b/components/privacy_sandbox/tracking_protection_prefs.cc
@@ -27,13 +27,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -47,13 +47,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
// Tracking Protection Settings Prefs
registry->RegisterBooleanPref(
+7 -7
View File
@@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
@@ -38,7 +38,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity;
@@ -39,7 +39,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler;
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler.RequestMetadata;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteControllerProvider;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.renderer_host.ChromeNavigationUIData;
@@ -264,8 +263,6 @@ public class IntentHandler {
@@ -265,8 +264,6 @@ public class IntentHandler {
private static int sReferrerId;
private static String sPendingIncognitoUrl;
@@ -31,7 +31,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
private static final String PACKAGE_GMAIL = "com.google.android.gm";
private static final String PACKAGE_PLUS = "com.google.android.apps.plus";
private static final String PACKAGE_HANGOUTS = "com.google.android.talk";
@@ -456,8 +453,6 @@ public class IntentHandler {
@@ -457,8 +454,6 @@ public class IntentHandler {
return ExternalAppId.LINE;
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
return ExternalAppId.WHATSAPP;
@@ -43,15 +43,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
@@ -12,7 +12,6 @@ import org.chromium.base.ResettersForTesting;
import org.chromium.chrome.R;
@@ -11,7 +11,6 @@ import android.text.TextUtils;
import org.chromium.base.ResettersForTesting;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.components.externalauth.ExternalAuthUtils;
/**
@@ -64,12 +63,7 @@ public class LensUtils {
@@ -59,12 +58,7 @@ public class LensUtils {
if (context == null) {
return "";
}
@@ -64,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
}
}
@@ -121,11 +115,7 @@ public class LensUtils {
@@ -116,11 +110,7 @@ public class LensUtils {
* @return Whether the package is valid.
*/
public static boolean isValidAgsaPackage(final ExternalAuthUtils externalAuthUtils) {
@@ -43,7 +43,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2132,9 +2132,9 @@
@@ -2221,9 +2221,9 @@
status: {"Android": "test", "default": "stable"},
},
{
+3 -3
View File
@@ -26,7 +26,7 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
--- a/components/search/ntp_features.cc
+++ b/components/search/ntp_features.cc
@@ -130,7 +130,7 @@ BASE_FEATURE(kNtpHandleMostVisitedNavigationExplicitly,
@@ -135,7 +135,7 @@ BASE_FEATURE(kNtpHandleMostVisitedNavigationExplicitly,
base::FEATURE_ENABLED_BY_DEFAULT);
// If enabled, logo will be shown.
@@ -35,7 +35,7 @@ diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.
// If enabled, logo will fill up less vertical space.
BASE_FEATURE(kNtpReducedLogoSpace,
@@ -207,8 +207,8 @@ BASE_FEATURE(kNtpMostVisitedReflowOnOverflow,
@@ -212,8 +212,8 @@ BASE_FEATURE(kNtpMostVisitedReflowOnOverflow,
// If enabled, OneGoogleBar will be shown.
BASE_FEATURE(kNtpOneGoogleBar,
@@ -46,7 +46,7 @@ diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.
// If enabled, Google Photos module will be shown.
BASE_FEATURE(kNtpPhotosModule,
@@ -243,8 +243,8 @@ BASE_FEATURE(kNtpFeedModule,
@@ -248,8 +248,8 @@ BASE_FEATURE(kNtpFeedModule,
// If enabled, Google Lens image search will be shown in the NTP Realbox.
BASE_FEATURE(kNtpRealboxLensSearch,
+2 -2
View File
@@ -11,10 +11,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -283,7 +283,7 @@ BASE_FEATURE(kForceGpuMainThreadToNormalPriorityDrDc,
@@ -284,7 +284,7 @@ BASE_FEATURE(kForceGpuMainThreadToNormalPriorityDrDc,
// Enable WebGPU on gpu service side only. This is used with origin trial and
// enabled by default on supported platforms.
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS)
-#define WEBGPU_ENABLED base::FEATURE_ENABLED_BY_DEFAULT
+#define WEBGPU_ENABLED base::FEATURE_DISABLED_BY_DEFAULT
#else
@@ -3,12 +3,12 @@ Date: Mon, 17 Apr 2023 12:38:44 +0000
Subject: Disable devtools remote and custom protocols
---
chrome/browser/ui/webui/devtools_ui_data_source.cc | 4 ++--
chrome/browser/ui/webui/devtools/devtools_ui_data_source.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/ui/webui/devtools_ui_data_source.cc b/chrome/browser/ui/webui/devtools_ui_data_source.cc
--- a/chrome/browser/ui/webui/devtools_ui_data_source.cc
+++ b/chrome/browser/ui/webui/devtools_ui_data_source.cc
diff --git a/chrome/browser/ui/webui/devtools/devtools_ui_data_source.cc b/chrome/browser/ui/webui/devtools/devtools_ui_data_source.cc
--- a/chrome/browser/ui/webui/devtools/devtools_ui_data_source.cc
+++ b/chrome/browser/ui/webui/devtools/devtools_ui_data_source.cc
@@ -175,7 +175,7 @@ void DevToolsDataSource::StartDataRequest(
// Serve request to devtools://remote from remote location.
std::string remote_path_prefix(chrome::kChromeUIDevToolsRemotePath);
@@ -10,7 +10,7 @@ This feature can be used for fingerprinting as it exposes a user preference
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2996,8 +2996,8 @@
@@ -3075,8 +3075,8 @@
base_feature: "none",
},
{
@@ -114,9 +114,9 @@ diff --git a/components/password_manager/core/browser/affiliation/facet_manager.
diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc
--- a/components/password_manager/core/browser/features/password_features.cc
+++ b/components/password_manager/core/browser/features/password_features.cc
@@ -120,4 +120,8 @@ BASE_FEATURE(kUseExtensionListForPSLMatching,
@@ -209,4 +209,8 @@ BASE_FEATURE(kUsernameFirstFlowWithIntermediateValuesVoting,
"UsernameFirstFlowWithIntermediateValuesVoting",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
+SET_CROMITE_FEATURE_ENABLED(kFillOnAccountSelect);
+SET_CROMITE_FEATURE_DISABLED(kPasswordManagerEnableReceiverService);
@@ -141,7 +141,7 @@ diff --git a/components/password_manager/core/browser/leak_detection/leak_detect
diff --git a/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc b/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc
--- a/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc
+++ b/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc
@@ -190,9 +190,7 @@ bool LeakDetectionCheckImpl::HasAccountForRequest(
@@ -194,9 +194,7 @@ bool LeakDetectionCheckImpl::HasAccountForRequest(
// always return something if the user is signed in.
// On Android it will be empty if the user isn't syncing. Thus,
// GetAccountsWithRefreshTokens() check is necessary.
@@ -29,7 +29,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -1597,7 +1597,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
@@ -1605,7 +1605,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
std::unique_ptr<media::SpeechRecognitionClient>
ChromeContentRendererClient::CreateSpeechRecognitionClient(
content::RenderFrame* render_frame) {
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -169,7 +169,7 @@ BASE_FEATURE(kWindowPlacementPermissionAlias,
@@ -157,7 +157,7 @@ BASE_FEATURE(kShowRelatedWebsiteSetsPermissionGrants,
// Enables disallowing MIDI permission by default.
BASE_FEATURE(kBlockMidiByDefault,
"BlockMidiByDefault",
@@ -23,7 +23,7 @@ diff --git a/chrome/version.gni b/chrome/version.gni
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
--- a/components/viz/common/features.cc
+++ b/components/viz/common/features.cc
@@ -291,9 +291,10 @@ const base::FeatureParam<double> kADPFMidFrameBoostDurationMultiplier{
@@ -306,9 +306,10 @@ const base::FeatureParam<double> kADPFMidFrameBoostDurationMultiplier{
// If enabled, Chrome includes the Renderer Main thread(s) into the
// ADPF(Android Dynamic Performance Framework) hint session.
@@ -34,7 +34,7 @@ diff --git a/components/viz/common/features.cc b/components/viz/common/features.
+ "EnableADPFRendererMain", // enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // by default
// If enabled, surface activation and draw do not block on dependencies.
BASE_FEATURE(kDrawImmediatelyWhenInteractive,
// If enabled, Chrome verifies that Renderer threads do not belong to the
// Browser process asynchronously via a mojo call to the Browser before
--
2.25.1
@@ -11,7 +11,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -3442,70 +3442,6 @@ void Document::open(LocalDOMWindow* entered_window,
@@ -3419,70 +3419,6 @@ void Document::open(LocalDOMWindow* entered_window,
// https://chromestatus.com/metrics/feature/timeline/popularity/4375
CountUse(WebFeature::kDocumentOpenMutateSandbox);
}
@@ -85,7 +85,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1434,7 +1434,6 @@
@@ -1490,7 +1490,6 @@
{
name: "DocumentOpenSandboxInheritanceRemoval",
status: "stable",
@@ -9,8 +9,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../browser/bookmarks/BookmarkSearchBoxRowViewBinder.java | 2 ++
.../chromium/chrome/browser/bookmarks/BookmarkUiPrefs.java | 2 +-
.../org/chromium/chrome/browser/bookmarks/BookmarkUtils.java | 3 ++-
components/bookmarks/browser/bookmark_client.cc | 3 +--
.../Enable-ImprovedBookmarks-by-default.inc | 1 +
6 files changed, 9 insertions(+), 5 deletions(-)
7 files changed, 10 insertions(+), 7 deletions(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Enable-ImprovedBookmarks-by-default.inc
diff --git a/chrome/android/java/res/layout/bookmark_search_box_row.xml b/chrome/android/java/res/layout/bookmark_search_box_row.xml
@@ -30,8 +31,8 @@ diff --git a/chrome/android/java/res/layout/bookmark_search_box_row.xml b/chrome
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkFeatures.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkFeatures.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkFeatures.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkFeatures.java
@@ -14,7 +14,7 @@ import org.chromium.chrome.browser.flags.MutableFlagWithSafeDefault;
*/
@@ -12,7 +12,7 @@ import org.chromium.chrome.browser.flags.MutableFlagWithSafeDefault;
/** Self-documenting feature class for bookmarks. */
public class BookmarkFeatures {
private static final MutableFlagWithSafeDefault sAndroidImprovedBookmarksFlag =
- new MutableFlagWithSafeDefault(ChromeFeatureList.ANDROID_IMPROVED_BOOKMARKS, false);
@@ -50,7 +51,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
@@ -53,6 +54,7 @@ class BookmarkSearchBoxRowViewBinder {
@@ -54,6 +55,7 @@ class BookmarkSearchBoxRowViewBinder {
private void bindInternal(PropertyModel model, View view, PropertyKey key) {
BookmarkSearchBoxRow row = (BookmarkSearchBoxRow) view;
ChipView shoppingChip = view.findViewById(R.id.shopping_filter_chip);
@@ -62,7 +63,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUiPrefs.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUiPrefs.java
@@ -21,7 +21,7 @@ import java.lang.annotation.RetentionPolicy;
*/
/** Self-documenting preference class for bookmarks. */
public class BookmarkUiPrefs {
private static final @BookmarkRowDisplayPref int INITIAL_BOOKMARK_ROW_DISPLAY_PREF =
- BookmarkRowDisplayPref.VISUAL;
@@ -73,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
@@ -38,6 +38,7 @@ import org.chromium.chrome.browser.app.bookmarks.BookmarkAddEditFolderActivity;
@@ -39,6 +39,7 @@ import org.chromium.chrome.browser.app.bookmarks.BookmarkAddEditFolderActivity;
import org.chromium.chrome.browser.app.bookmarks.BookmarkEditActivity;
import org.chromium.chrome.browser.app.bookmarks.BookmarkFolderPickerActivity;
import org.chromium.chrome.browser.app.bookmarks.BookmarkFolderSelectActivity;
@@ -81,15 +82,28 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.chrome.browser.bookmarks.BookmarkUiPrefs.BookmarkRowDisplayPref;
import org.chromium.chrome.browser.commerce.ShoppingServiceFactory;
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
@@ -405,7 +406,7 @@ public class BookmarkUtils {
@@ -486,7 +487,7 @@ public class BookmarkUtils {
RecordUserAction.record("MobileBookmarkManagerReopenBookmarksInSameSession");
}
- if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(context)) {
+ if (BookmarkFeatures.isAndroidImprovedBookmarksEnabled() || DeviceFormFactor.isNonMultiDisplayContextOnTablet(context)) {
showBookmarkManagerOnTablet(context,
activity == null ? null : activity.getComponentName(), url, isIncognito);
} else {
showBookmarkManagerOnTablet(
context,
activity == null ? null : activity.getComponentName(),
diff --git a/components/bookmarks/browser/bookmark_client.cc b/components/bookmarks/browser/bookmark_client.cc
--- a/components/bookmarks/browser/bookmark_client.cc
+++ b/components/bookmarks/browser/bookmark_client.cc
@@ -50,8 +50,7 @@ bool BookmarkClient::IsPermanentNodeVisibleWhenEmpty(
case BookmarkNode::BOOKMARK_BAR:
return is_desktop;
case BookmarkNode::OTHER_NODE:
- return is_desktop || base::FeatureList::IsEnabled(
- kAllBookmarksBaselineFolderVisibility);
+ return true;
case BookmarkNode::MOBILE:
// Either MOBILE or OTHER_NODE is visible when empty, but never both.
return !IsPermanentNodeVisibleWhenEmpty(BookmarkNode::OTHER_NODE);
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Enable-ImprovedBookmarks-by-default.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Enable-ImprovedBookmarks-by-default.inc
new file mode 100644
--- /dev/null
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
--- a/components/viz/common/features.cc
+++ b/components/viz/common/features.cc
@@ -233,7 +233,7 @@ BASE_FEATURE(kRendererAllocatesImages,
@@ -248,7 +248,7 @@ BASE_FEATURE(kRendererAllocatesImages,
// evicts itself. This differs from Destkop platforms which evict the entire
// FrameTree along with the topmost viz::Surface. When this feature is enabled,
// Android will begin also evicting the entire FrameTree.
@@ -141,9 +141,9 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orderingFromXml="false">
@@ -75,6 +66,11 @@ Use of this source code is governed by the GPLv3 that can be found in the compon
android:key="safety_check"
android:order="12"
android:title="@string/prefs_safety_check"/>
android:key="adblock"
android:order="13"
android:title="@string/prefs_adblock"/>
+ <Preference
+ android:fragment="org.chromium.components.adblock.settings.AdblockSettingsFragment"
+ android:key="eyeo_adblock"
@@ -167,7 +167,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -165,8 +165,6 @@ static_library("browser") {
@@ -166,8 +166,6 @@ static_library("browser") {
"adblock/adblock_content_browser_client.h",
"adblock/adblock_controller_factory.cc",
"adblock/adblock_controller_factory.h",
@@ -469,7 +469,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
#include "chrome/browser/adblock/content_security_policy_injector_factory.h"
#include "chrome/browser/adblock/element_hider_factory.h"
#include "chrome/browser/adblock/resource_classification_runner_factory.h"
@@ -756,7 +755,6 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -781,7 +780,6 @@ void ChromeBrowserMainExtraPartsProfiles::
ExitTypeServiceFactory::GetInstance();
#endif
adblock::AdblockControllerFactory::GetInstance();
@@ -488,7 +488,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
"appearance_page/appearance_fonts_page.ts",
"appearance_page/appearance_page.ts",
"appearance_page/home_url_input.ts",
@@ -372,6 +373,7 @@ build_webui("build") {
@@ -374,6 +375,7 @@ build_webui("build") {
ts_composite = true
ts_definitions = [
"//tools/typescript/definitions/autofill_private.d.ts",
@@ -1041,7 +1041,7 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
--- a/chrome/browser/resources/settings/route.ts
+++ b/chrome/browser/resources/settings/route.ts
@@ -187,6 +187,10 @@ function createBrowserSettingsRoutes(): SettingsRoutes {
@@ -189,6 +189,10 @@ function createBrowserSettingsRoutes(): SettingsRoutes {
r.FONTS = r.APPEARANCE.createChild('/fonts');
}
@@ -1066,7 +1066,7 @@ diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resour
diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/resources/settings/settings.ts
--- a/chrome/browser/resources/settings/settings.ts
+++ b/chrome/browser/resources/settings/settings.ts
@@ -47,6 +47,7 @@ export {AppearanceBrowserProxy, AppearanceBrowserProxyImpl} from './appearance_p
@@ -48,6 +48,7 @@ export {AppearanceBrowserProxy, AppearanceBrowserProxyImpl} from './appearance_p
export {SettingsAppearancePageElement, SystemTheme} from './appearance_page/appearance_page.js';
export {HomeUrlInputElement} from './appearance_page/home_url_input.js';
export {SettingsAutofillPageElement} from './autofill_page/autofill_page.js';
@@ -1077,7 +1077,7 @@ diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/reso
diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html b/chrome/browser/resources/settings/settings_menu/settings_menu.html
--- a/chrome/browser/resources/settings/settings_menu/settings_menu.html
+++ b/chrome/browser/resources/settings/settings_menu/settings_menu.html
@@ -140,6 +140,11 @@
@@ -141,6 +141,11 @@
$i18n{a11yPageTitle}
<paper-ripple></paper-ripple>
</a>
@@ -1100,7 +1100,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/breadcrumbs/breadcrumb_manager_tab_helper.h"
#include "chrome/browser/browser_process.h"
@@ -350,6 +351,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -362,6 +363,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
}
}
@@ -1109,7 +1109,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
AdblockWebContentObserver::CreateForWebContents(
web_contents,
adblock::SubscriptionServiceFactory::GetForBrowserContext(
@@ -358,7 +361,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -370,7 +373,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents->GetBrowserContext()),
adblock::SitekeyStorageFactory::GetForBrowserContext(
web_contents->GetBrowserContext()),
@@ -1117,7 +1117,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
+ std::make_unique<adblock::FrameHierarchyBuilder>(),
+ HostContentSettingsMapFactory::GetForProfile(profile));
autofill::ChromeAutofillClient::CreateForWebContents(web_contents);
if (breadcrumbs::IsEnabled())
if (breadcrumbs::IsEnabled()) {
BreadcrumbManagerTabHelper::CreateForWebContents(web_contents);
diff --git a/chrome/browser/ui/webui/adblock_internals/adblock_internals_page_handler_impl.cc b/chrome/browser/ui/webui/adblock_internals/adblock_internals_page_handler_impl.cc
--- a/chrome/browser/ui/webui/adblock_internals/adblock_internals_page_handler_impl.cc
@@ -1184,7 +1184,7 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com
"autofillPrivate": {
"channel": "trunk",
"extension_types": ["extension", "platform_app"],
@@ -351,10 +347,6 @@
@@ -360,10 +356,6 @@
"extension", "legacy_packaged_app", "hosted_app", "platform_app"
]
},
@@ -1223,15 +1223,15 @@ diff --git a/chrome/common/extensions/api/adblock_private.idl b/chrome/common/ex
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -28,7 +28,6 @@ import("//chrome/test/base/js2gtest.gni")
@@ -27,7 +27,6 @@ import("//chrome/services/speech/buildflags/buildflags.gni")
import("//chrome/test/include_js_tests.gni")
import("//chrome/version.gni")
import("//chromeos/ash/components/assistant/assistant.gni")
-import("//components/adblock/features.gni")
import("//components/captive_portal/core/features.gni")
import("//components/compose/features.gni")
import("//components/enterprise/buildflags/buildflags.gni")
import("//components/feed/features.gni")
@@ -2754,10 +2753,6 @@ if (!is_android) {
@@ -2867,10 +2866,6 @@ if (!is_android) {
sources += [ "../browser/chrome_for_testing/chrome_for_testing_info_bar_browsertest.cc" ]
}
@@ -4395,7 +4395,7 @@ new file mode 100644
diff --git a/components/resources/BUILD.gn b/components/resources/BUILD.gn
--- a/components/resources/BUILD.gn
+++ b/components/resources/BUILD.gn
@@ -76,7 +76,6 @@ grit("components_resources") {
@@ -78,7 +78,6 @@ grit("components_resources") {
deps += [
"//components/resources/adblocking:copy_snippets_lib",
@@ -11963,7 +11963,7 @@ new file mode 100755
diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/blink/renderer/core/css/style_engine.cc
--- a/third_party/blink/renderer/core/css/style_engine.cc
+++ b/third_party/blink/renderer/core/css/style_engine.cc
@@ -623,6 +623,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow(
@@ -626,6 +626,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow(
}
}
@@ -11981,7 +11981,7 @@ diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/b
diff --git a/third_party/blink/renderer/core/css/style_engine.h b/third_party/blink/renderer/core/css/style_engine.h
--- a/third_party/blink/renderer/core/css/style_engine.h
+++ b/third_party/blink/renderer/core/css/style_engine.h
@@ -243,6 +243,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
@@ -246,6 +246,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
const ComputedStyle* embedder_style) const;
void ViewportStyleSettingChanged();
+31 -381
View File
@@ -5,42 +5,22 @@ Subject: Fix chromium build bugs
because of
https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
---
BUILD.gn | 1 -
.../AutofillSaveCardBottomSheetBridge.java | 2 +-
.../chromium/chrome/browser/tab/TabImpl.java | 2 +-
.../intent_helper/intent_picker_helpers.cc | 2 ++
...owser_main_extra_parts_nacl_deprecation.cc | 2 ++
.../download/download_ui_safe_browsing_util.h | 2 +-
.../api/autofill_private/autofill_util.cc | 2 ++
.../reading_list/reading_list_event_router.h | 2 +-
...vigation_predictor_metrics_document_data.h | 2 ++
.../notification_platform_bridge_linux.cc | 2 +-
chrome/browser/safe_browsing/BUILD.gn | 1 +
.../tpcd/support/tpcd_support_manager.cc | 2 +-
...ion_consented_debugging_infobar_delegate.h | 2 +-
.../read_anything_container_view.cc | 12 +++----
chrome/browser/ui/views/tabs/tab.cc | 2 +-
.../browser/ui/views/tabs/tab_group_header.cc | 2 +-
.../app_management_page_handler.cc | 2 ++
chrome/browser/usb/chrome_usb_delegate.cc | 2 ++
.../core/browser/data_model/address.cc | 2 +-
.../autofill/core/browser/form_structure.cc | 2 ++
.../core/browser/webdata/autofill_table.cc | 36 +++++++++----------
.../omnibox/browser/autocomplete_controller.h | 2 +-
.../omnibox/browser/omnibox_field_trial.cc | 4 +--
components/omnibox/browser/omnibox_view.cc | 2 ++
.../browser/tailored_word_break_iterator.cc | 2 +-
.../phishing_image_embedder.cc | 14 ++------
content/browser/browser_interface_binders.cc | 1 +
crypto/BUILD.gn | 3 ++
net/BUILD.gn | 1 +
third_party/libevent/BUILD.gn | 2 ++
30 files changed, 65 insertions(+), 50 deletions(-)
BUILD.gn | 1 -
.../navigation_predictor_metrics_document_data.h | 2 ++
chrome/browser/safe_browsing/BUILD.gn | 1 +
.../omnibox/browser/autocomplete_classifier.cc | 4 ++--
components/omnibox/browser/omnibox_field_trial.cc | 4 ++--
.../phishing_classifier/phishing_image_embedder.cc | 14 +++-----------
content/browser/browser_interface_binders.cc | 1 +
crypto/BUILD.gn | 3 +++
net/BUILD.gn | 1 +
third_party/libevent/BUILD.gn | 2 ++
10 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/BUILD.gn b/BUILD.gn
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -396,7 +396,6 @@ group("gn_all") {
@@ -394,7 +394,6 @@ group("gn_all") {
"//android_webview:empty_group",
"//android_webview/test",
"//android_webview/tools/automated_ui_tests:webview_ui_test_app",
@@ -48,135 +28,18 @@ diff --git a/BUILD.gn b/BUILD.gn
"//android_webview/tools/system_webview_shell",
"//chrome/android:chrome_junit_tests",
"//chrome/android:chrome_public_apk",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillSaveCardBottomSheetBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillSaveCardBottomSheetBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillSaveCardBottomSheetBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillSaveCardBottomSheetBridge.java
@@ -42,7 +42,7 @@ public class AutofillSaveCardBottomSheetBridge {
AutofillSaveCardBottomSheetCoordinator::new);
}
- @CalledByNative
+ //@CalledByNative
@VisibleForTesting
/*package*/ AutofillSaveCardBottomSheetBridge(long nativeAutofillSaveCardBottomSheetBridge,
WindowAndroid window, TabModel tabModel, CoordinatorFactory coordinatorFactory) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -401,7 +401,7 @@ public class TabImpl implements Tab {
}
@Override
- @CalledByNative
+ // @CalledByNative
public int getId() {
return mId;
}
diff --git a/chrome/browser/apps/intent_helper/intent_picker_helpers.cc b/chrome/browser/apps/intent_helper/intent_picker_helpers.cc
--- a/chrome/browser/apps/intent_helper/intent_picker_helpers.cc
+++ b/chrome/browser/apps/intent_helper/intent_picker_helpers.cc
@@ -32,6 +32,7 @@
namespace apps {
namespace {
+#if BUILDFLAG(IS_MAC)
std::vector<apps::IntentPickerAppInfo> CombinePossibleMacAppWithOtherApps(
std::vector<apps::IntentPickerAppInfo> apps,
absl::optional<apps::IntentPickerAppInfo> mac_app) {
@@ -40,6 +41,7 @@ std::vector<apps::IntentPickerAppInfo> CombinePossibleMacAppWithOtherApps(
}
return apps;
}
+#endif
PickerEntryType GetPickerEntryType(AppType app_type) {
PickerEntryType picker_entry_type = PickerEntryType::kUnknown;
diff --git a/chrome/browser/chrome_browser_main_extra_parts_nacl_deprecation.cc b/chrome/browser/chrome_browser_main_extra_parts_nacl_deprecation.cc
--- a/chrome/browser/chrome_browser_main_extra_parts_nacl_deprecation.cc
+++ b/chrome/browser/chrome_browser_main_extra_parts_nacl_deprecation.cc
@@ -16,6 +16,7 @@
namespace {
+#if BUILDFLAG(ENABLE_NACL)
bool ShouldNaClBeAllowed() {
// Enabled by policy.
if (g_browser_process->local_state()->GetBoolean(
@@ -24,6 +25,7 @@ bool ShouldNaClBeAllowed() {
}
return base::FeatureList::IsEnabled(kNaclAllow);
}
+#endif
} // namespace
diff --git a/chrome/browser/download/download_ui_safe_browsing_util.h b/chrome/browser/download/download_ui_safe_browsing_util.h
--- a/chrome/browser/download/download_ui_safe_browsing_util.h
+++ b/chrome/browser/download/download_ui_safe_browsing_util.h
@@ -9,7 +9,7 @@ class Profile;
namespace download {
class DownloadItem;
-};
+}
// Utilities for determining how to display a download in the desktop UI based
// on Safe Browsing state and verdict.
diff --git a/chrome/browser/extensions/api/autofill_private/autofill_util.cc b/chrome/browser/extensions/api/autofill_private/autofill_util.cc
--- a/chrome/browser/extensions/api/autofill_private/autofill_util.cc
+++ b/chrome/browser/extensions/api/autofill_private/autofill_util.cc
@@ -43,6 +43,7 @@ namespace {
// Get the multi-valued element for |type| and return it as a |vector|.
// TODO(khorimoto): remove this function since multi-valued types are
// deprecated.
+#if BUILDFLAG(IS_ANDROID)
std::vector<std::string> GetList(const autofill::AutofillProfile& profile,
autofill::ServerFieldType type) {
std::vector<std::string> list;
@@ -66,6 +67,7 @@ std::vector<std::string> GetList(const autofill::AutofillProfile& profile,
return list;
}
+#endif
// Gets the string corresponding to |type| from |profile|.
std::string GetStringFromProfile(const autofill::AutofillProfile& profile,
diff --git a/chrome/browser/extensions/api/reading_list/reading_list_event_router.h b/chrome/browser/extensions/api/reading_list/reading_list_event_router.h
--- a/chrome/browser/extensions/api/reading_list/reading_list_event_router.h
+++ b/chrome/browser/extensions/api/reading_list/reading_list_event_router.h
@@ -33,7 +33,7 @@ class ReadingListEventRouter : public KeyedService,
private:
// ReadingListModelObserver:
- void ReadingListModelLoaded(const ReadingListModel* model) override{};
+ void ReadingListModelLoaded(const ReadingListModel* model) override {}
void ReadingListDidAddEntry(const ReadingListModel* model,
const GURL& url,
reading_list::EntrySource source) override;
diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
--- a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
+++ b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
@@ -68,6 +68,8 @@ class NavigationPredictorMetricsDocumentData
UserInteractionsData();
@@ -69,6 +69,8 @@ class NavigationPredictorMetricsDocumentData
UserInteractionsData(const UserInteractionsData&);
UserInteractionsData& operator=(const UserInteractionsData&);
+ UserInteractionsData& operator=(UserInteractionsData&&) noexcept = default;
+
// True if the anchor element is still in viewport, otherwise false.
bool is_in_viewport = false;
// True if the pointer is still hovering over the anchor element,
diff --git a/chrome/browser/notifications/notification_platform_bridge_linux.cc b/chrome/browser/notifications/notification_platform_bridge_linux.cc
--- a/chrome/browser/notifications/notification_platform_bridge_linux.cc
+++ b/chrome/browser/notifications/notification_platform_bridge_linux.cc
@@ -883,7 +883,7 @@ class NotificationPlatformBridgeLinuxImpl
kMethodCloseNotification);
dbus::MessageWriter writer(&method_call);
writer.AppendUint32(data->dbus_id);
- notification_proxy_->CallMethodAndBlock(
+ (void)notification_proxy_->CallMethodAndBlock(
&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT);
to_erase.push_back(data);
}
diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
--- a/chrome/browser/safe_browsing/BUILD.gn
+++ b/chrome/browser/safe_browsing/BUILD.gn
@@ -188,207 +51,24 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
]
if (safe_browsing_mode == 1) {
# "Safe Browsing Full" files in addition to the "basic" ones to use for
diff --git a/chrome/browser/tpcd/support/tpcd_support_manager.cc b/chrome/browser/tpcd/support/tpcd_support_manager.cc
--- a/chrome/browser/tpcd/support/tpcd_support_manager.cc
+++ b/chrome/browser/tpcd/support/tpcd_support_manager.cc
@@ -38,7 +38,7 @@ TpcdSupportManager::TpcdSupportManager(
std::unique_ptr<TpcdSupportDelegate> delegate)
: content::WebContentsObserver(web_contents),
content::WebContentsUserData<TpcdSupportManager>(*web_contents),
- delegate_(std::move(delegate)){};
+ delegate_(std::move(delegate)){}
TpcdSupportManager::~TpcdSupportManager() = default;
diff --git a/chrome/browser/ui/startup/bidding_and_auction_consented_debugging_infobar_delegate.h b/chrome/browser/ui/startup/bidding_and_auction_consented_debugging_infobar_delegate.h
--- a/chrome/browser/ui/startup/bidding_and_auction_consented_debugging_infobar_delegate.h
+++ b/chrome/browser/ui/startup/bidding_and_auction_consented_debugging_infobar_delegate.h
@@ -12,7 +12,7 @@
namespace content {
class WebContents;
-};
+}
// An infobar for Chrome for Testing, which displays a message saying that this
// flavor of chrome is unsupported and does not auto-update.
diff --git a/chrome/browser/ui/views/side_panel/read_anything/read_anything_container_view.cc b/chrome/browser/ui/views/side_panel/read_anything/read_anything_container_view.cc
--- a/chrome/browser/ui/views/side_panel/read_anything/read_anything_container_view.cc
+++ b/chrome/browser/ui/views/side_panel/read_anything/read_anything_container_view.cc
@@ -23,12 +23,12 @@
namespace {
-int GetNormalizedFontScale(double font_scale) {
- DCHECK(font_scale >= kReadAnythingMinimumFontScale &&
- font_scale <= kReadAnythingMaximumFontScale);
- return (font_scale - kReadAnythingMinimumFontScale) *
- (1 / kReadAnythingFontScaleIncrement);
-}
+// int GetNormalizedFontScale(double font_scale) {
+// DCHECK(font_scale >= kReadAnythingMinimumFontScale &&
+// font_scale <= kReadAnythingMaximumFontScale);
+// return (font_scale - kReadAnythingMinimumFontScale) *
+// (1 / kReadAnythingFontScaleIncrement);
+// }
} // namespace
diff --git a/chrome/browser/ui/views/tabs/tab.cc b/chrome/browser/ui/views/tabs/tab.cc
--- a/chrome/browser/ui/views/tabs/tab.cc
+++ b/chrome/browser/ui/views/tabs/tab.cc
@@ -541,7 +541,7 @@ bool Tab::OnMousePressed(const ui::MouseEvent& event) {
}
bool Tab::OnMouseDragged(const ui::MouseEvent& event) {
- controller_->ContinueDrag(this, event);
+ (void)controller_->ContinueDrag(this, event); // fix error: ignoring return value of function declared with 'nodiscard' attribute [-Werror,-Wunused-result]
return true;
}
diff --git a/chrome/browser/ui/views/tabs/tab_group_header.cc b/chrome/browser/ui/views/tabs/tab_group_header.cc
--- a/chrome/browser/ui/views/tabs/tab_group_header.cc
+++ b/chrome/browser/ui/views/tabs/tab_group_header.cc
@@ -208,7 +208,7 @@ bool TabGroupHeader::OnMousePressed(const ui::MouseEvent& event) {
}
bool TabGroupHeader::OnMouseDragged(const ui::MouseEvent& event) {
- tab_slot_controller_->ContinueDrag(this, event);
+ (void)tab_slot_controller_->ContinueDrag(this, event);
return true;
}
diff --git a/chrome/browser/ui/webui/app_management/app_management_page_handler.cc b/chrome/browser/ui/webui/app_management/app_management_page_handler.cc
--- a/chrome/browser/ui/webui/app_management/app_management_page_handler.cc
+++ b/chrome/browser/ui/webui/app_management/app_management_page_handler.cc
@@ -137,6 +137,7 @@ bool CanShowDefaultAppAssociationsUi() {
#endif
}
+#if BUILDFLAG(IS_CHROMEOS)
// Returns a list of intent filters that support http/https given an app ID.
apps::IntentFilters GetSupportedLinkIntentFilters(Profile* profile,
const std::string& app_id) {
@@ -171,6 +172,7 @@ std::vector<std::string> GetSupportedLinks(Profile* profile,
return std::vector<std::string>(supported_links.begin(),
supported_links.end());
}
+#endif
#if !BUILDFLAG(IS_CHROMEOS)
std::vector<std::string> GetSupportedLinksForPWAs(
diff --git a/chrome/browser/usb/chrome_usb_delegate.cc b/chrome/browser/usb/chrome_usb_delegate.cc
--- a/chrome/browser/usb/chrome_usb_delegate.cc
+++ b/chrome/browser/usb/chrome_usb_delegate.cc
@@ -46,6 +46,7 @@ UsbChooserContext* GetChooserContext(content::BrowserContext* browser_context) {
return profile ? UsbChooserContextFactory::GetForProfile(profile) : nullptr;
}
+#if !BUILDFLAG(IS_ANDROID)
UsbConnectionTracker* GetConnectionTracker(
content::BrowserContext* browser_context,
bool create) {
@@ -55,6 +56,7 @@ UsbConnectionTracker* GetConnectionTracker(
return profile ? UsbConnectionTrackerFactory::GetForProfile(profile, create)
: nullptr;
}
+#endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
// These extensions can claim the smart card USB class and automatically gain
diff --git a/components/autofill/core/browser/data_model/address.cc b/components/autofill/core/browser/data_model/address.cc
--- a/components/autofill/core/browser/data_model/address.cc
+++ b/components/autofill/core/browser/data_model/address.cc
@@ -59,7 +59,7 @@ Address& Address::operator=(const Address& address) {
structured_address_->CopyFrom(address.GetStructuredAddress());
return *this;
-};
+}
bool Address::operator==(const Address& other) const {
if (this == &other)
diff --git a/components/autofill/core/browser/form_structure.cc b/components/autofill/core/browser/form_structure.cc
--- a/components/autofill/core/browser/form_structure.cc
+++ b/components/autofill/core/browser/form_structure.cc
@@ -221,6 +221,7 @@ void EncodeRandomizedValue(const RandomizedEncoder& encoder,
// In that case, use the server prediction instead. In the special case that
// the last specified manual override is a pass through, copy all server
// predictions.
+#if !BUILDFLAG(IS_ANDROID)
std::deque<FieldSuggestion> MergeManualAndServerOverrides(
std::deque<FieldSuggestion> manual_overrides,
std::deque<FieldSuggestion> server_overrides) {
@@ -246,6 +247,7 @@ std::deque<FieldSuggestion> MergeManualAndServerOverrides(
return result;
}
+#endif
void PopulateRandomizedFormMetadata(const RandomizedEncoder& encoder,
const FormStructure& form,
diff --git a/components/autofill/core/browser/webdata/autofill_table.cc b/components/autofill/core/browser/webdata/autofill_table.cc
--- a/components/autofill/core/browser/webdata/autofill_table.cc
+++ b/components/autofill/core/browser/webdata/autofill_table.cc
@@ -961,24 +961,24 @@ time_t GetEndTime(const base::Time& end) {
// Returns |s| with |escaper| in front of each of occurrence of a character
// from |special_chars|. Any occurrence of |escaper| in |s| is doubled. For
// example, Substitute("hello_world!", "_%", '!'') returns "hello!_world!!".
-std::u16string Substitute(const std::u16string& s,
- const std::u16string& special_chars,
- const char16_t& escaper) {
- // Prepend |escaper| to the list of |special_chars|.
- std::u16string escape_wildcards(special_chars);
- escape_wildcards.insert(escape_wildcards.begin(), escaper);
-
- // Prepend the |escaper| just before |special_chars| in |s|.
- std::u16string result(s);
- for (char16_t c : escape_wildcards) {
- for (size_t pos = 0; (pos = result.find(c, pos)) != std::u16string::npos;
- pos += 2) {
- result.insert(result.begin() + pos, escaper);
- }
- }
-
- return result;
-}
+// std::u16string Substitute(const std::u16string& s,
+// const std::u16string& special_chars,
+// const char16_t& escaper) {
+// // Prepend |escaper| to the list of |special_chars|.
+// std::u16string escape_wildcards(special_chars);
+// escape_wildcards.insert(escape_wildcards.begin(), escaper);
+
+// // Prepend the |escaper| just before |special_chars| in |s|.
+// std::u16string result(s);
+// for (char16_t c : escape_wildcards) {
+// for (size_t pos = 0; (pos = result.find(c, pos)) != std::u16string::npos;
+// pos += 2) {
+// result.insert(result.begin() + pos, escaper);
+// }
+// }
+
+// return result;
+// }
// This helper function binds the `profile`s properties to the placeholders in
// `s`, in the order the columns are defined in the header file.
diff --git a/components/omnibox/browser/autocomplete_controller.h b/components/omnibox/browser/autocomplete_controller.h
--- a/components/omnibox/browser/autocomplete_controller.h
+++ b/components/omnibox/browser/autocomplete_controller.h
@@ -208,7 +208,7 @@ class AutocompleteController : public AutocompleteProviderListener,
OpenTabProvider* open_tab_provider() const { return open_tab_provider_; }
const AutocompleteInput& input() const { return input_; }
- const AutocompleteResult& result() const { return published_result_; };
+ const AutocompleteResult& result() const { return published_result_; }
// Groups `published_result_` by search vs URL.
// See also `AutocompleteResult::GroupSuggestionsBySearchVsURL()`.
void GroupSuggestionsBySearchVsURL(size_t begin, size_t end);
diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/omnibox/browser/autocomplete_classifier.cc
--- a/components/omnibox/browser/autocomplete_classifier.cc
+++ b/components/omnibox/browser/autocomplete_classifier.cc
@@ -95,8 +95,8 @@ void AutocompleteClassifier::Classify(
metrics::OmniboxEventProto::PageClassification page_classification,
AutocompleteMatch* match,
GURL* alternate_nav_url) {
- TRACE_EVENT1("omnibox", "AutocompleteClassifier::Classify", "text",
- base::UTF16ToUTF8(text));
+ // TRACE_EVENT1("omnibox", "AutocompleteClassifier::Classify", "text",
+ // base::UTF16ToUTF8(text));
DCHECK(!inside_classify_);
base::AutoReset<bool> reset(&inside_classify_, true);
AutocompleteInput input(text, page_classification, *scheme_classifier_);
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
--- a/components/omnibox/browser/omnibox_field_trial.cc
+++ b/components/omnibox/browser/omnibox_field_trial.cc
@@ -1090,11 +1090,11 @@ MLConfig::MLConfig(const MLConfig&) = default;
@@ -1071,11 +1071,11 @@ MLConfig& MLConfig::operator=(const MLConfig& other) = default;
ScopedMLConfigForTesting::ScopedMLConfigForTesting()
: original_config_(std::make_unique<MLConfig>(GetMLConfig())) {
@@ -402,36 +82,6 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni
}
MLConfig& ScopedMLConfigForTesting::GetMLConfig() {
diff --git a/components/omnibox/browser/omnibox_view.cc b/components/omnibox/browser/omnibox_view.cc
--- a/components/omnibox/browser/omnibox_view.cc
+++ b/components/omnibox/browser/omnibox_view.cc
@@ -56,12 +56,14 @@ bool RichAutocompletionEitherNonPrefixEnabled() {
kRichAutocompletionAutocompleteNonPrefixShortcutProvider.Get();
}
+#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
// Return true if the given match uses a vector icon with a background.
bool HasVectorIconBackground(const AutocompleteMatch& match) {
return OmniboxFieldTrial::IsActionsUISimplificationEnabled() &&
(match.type == AutocompleteMatchType::HISTORY_CLUSTER ||
match.type == AutocompleteMatchType::PEDAL);
}
+#endif
} // namespace
diff --git a/components/omnibox/browser/tailored_word_break_iterator.cc b/components/omnibox/browser/tailored_word_break_iterator.cc
--- a/components/omnibox/browser/tailored_word_break_iterator.cc
+++ b/components/omnibox/browser/tailored_word_break_iterator.cc
@@ -18,7 +18,7 @@ TailoredWordBreakIterator::TailoredWordBreakIterator(
pos_(0),
word_breaks_{u"0123456789"},
non_word_breaks_{u"_"},
- all_breaks_{word_breaks_ + non_word_breaks_} {};
+ all_breaks_{word_breaks_ + non_word_breaks_} {}
TailoredWordBreakIterator::~TailoredWordBreakIterator() {}
diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc b/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
--- a/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
+++ b/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
@@ -459,7 +109,7 @@ diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phish
diff --git a/content/browser/browser_interface_binders.cc b/content/browser/browser_interface_binders.cc
--- a/content/browser/browser_interface_binders.cc
+++ b/content/browser/browser_interface_binders.cc
@@ -346,6 +346,7 @@ void BindDateTimeChooserForFrame(
@@ -355,6 +355,7 @@ void BindDateTimeChooserForFrame(
void BindTextSuggestionHostForFrame(
RenderFrameHost* host,
mojo::PendingReceiver<blink::mojom::TextSuggestionHost> receiver) {
@@ -483,7 +133,7 @@ diff --git a/crypto/BUILD.gn b/crypto/BUILD.gn
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1651,6 +1651,7 @@ component("net") {
@@ -1650,6 +1650,7 @@ component("net") {
configs -= [ "//build/config/compiler:default_optimization" ]
configs += [ "//build/config/compiler:optimize_max" ]
}
@@ -115,7 +115,7 @@ diff --git a/skia/ext/skia_utils_win.h b/skia/ext/skia_utils_win.h
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -247,6 +247,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCompressParkableStrings);
@@ -252,6 +252,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCompressParkableStrings);
BLINK_COMMON_EXPORT extern const base::FeatureParam<int>
kMaxDiskDataAllocatorCapacityMB;
@@ -128,7 +128,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -755,6 +755,7 @@ component("platform") {
@@ -762,6 +762,7 @@ component("platform") {
"fonts/simple_font_data.cc",
"fonts/simple_font_data.h",
"fonts/skia/font_cache_skia.cc",
+15 -15
View File
@@ -58,7 +58,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2552,6 +2552,7 @@ static_library("browser") {
@@ -2556,6 +2556,7 @@ static_library("browser") {
"//third_party/ungoogled:switches",
"//services/device/public/mojom",
"//services/device/public/mojom:usb",
@@ -69,7 +69,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -203,6 +203,7 @@
@@ -207,6 +207,7 @@
#include "sandbox/policy/features.h"
#include "sandbox/policy/switches.h"
#include "services/device/public/cpp/device_features.h"
@@ -239,9 +239,9 @@ new file mode 100644
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1096,6 +1096,7 @@ component("net") {
@@ -1098,6 +1098,7 @@ component("net") {
"//build:chromeos_buildflags",
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
"//components/miracle_parameter/common",
"//net/http:transport_security_state_generated_files",
+ "//services/firewall/public:firewall_builders",
"//components/network_session_configurator/common"
@@ -264,7 +264,7 @@ diff --git a/net/traffic_annotation/network_traffic_annotation.h b/net/traffic_a
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -262,6 +262,9 @@ URLRequestHttpJob::URLRequestHttpJob(
@@ -322,6 +322,9 @@ URLRequestHttpJob::URLRequestHttpJob(
throttling_entry_ = manager->RegisterRequestUrl(request->url());
ResetTimer();
@@ -274,7 +274,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
}
URLRequestHttpJob::~URLRequestHttpJob() {
@@ -556,6 +559,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
@@ -616,6 +619,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
void URLRequestHttpJob::StartTransactionInternal() {
DCHECK(!override_response_headers_);
@@ -1558,7 +1558,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
#include "services/network/brokered_client_socket_factory.h"
#include "services/network/cookie_manager.h"
#include "services/network/cors/cors_url_loader_factory.h"
@@ -1622,6 +1623,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
@@ -1626,6 +1627,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
void NetworkContext::CreateUDPSocket(
mojo::PendingReceiver<mojom::UDPSocket> receiver,
mojo::PendingRemote<mojom::UDPSocketListener> listener) {
@@ -1568,7 +1568,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener));
}
@@ -1634,6 +1638,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
@@ -1638,6 +1642,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
mojo::PendingRemote<mojom::UDPSocketListener> listener,
CreateRestrictedUDPSocketCallback callback) {
// SimpleHostResolver is transitively owned by |this|.
@@ -1586,7 +1586,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateRestrictedUDPSocket(
addr, mode, traffic_annotation, std::move(params), std::move(receiver),
std::move(listener), SimpleHostResolver::Create(this),
@@ -1646,6 +1661,17 @@ void NetworkContext::CreateTCPServerSocket(
@@ -1650,6 +1665,17 @@ void NetworkContext::CreateTCPServerSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver<mojom::TCPServerSocket> receiver,
CreateTCPServerSocketCallback callback) {
@@ -1604,7 +1604,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPServerSocket(
local_addr, std::move(options),
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
@@ -1660,6 +1686,21 @@ void NetworkContext::CreateTCPConnectedSocket(
@@ -1664,6 +1690,21 @@ void NetworkContext::CreateTCPConnectedSocket(
mojo::PendingReceiver<mojom::TCPConnectedSocket> receiver,
mojo::PendingRemote<mojom::SocketObserver> observer,
CreateTCPConnectedSocketCallback callback) {
@@ -1626,7 +1626,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPConnectedSocket(
local_addr, remote_addr_list, std::move(tcp_connected_socket_options),
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
@@ -1671,6 +1712,20 @@ void NetworkContext::CreateTCPBoundSocket(
@@ -1675,6 +1716,20 @@ void NetworkContext::CreateTCPBoundSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver<mojom::TCPBoundSocket> receiver,
CreateTCPBoundSocketCallback callback) {
@@ -1647,7 +1647,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPBoundSocket(
local_addr,
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
@@ -1736,6 +1791,24 @@ void NetworkContext::CreateWebSocket(
@@ -1741,6 +1796,24 @@ void NetworkContext::CreateWebSocket(
mojo::PendingRemote<mojom::WebSocketAuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client,
const absl::optional<base::UnguessableToken>& throttling_profile_id) {
@@ -1951,7 +1951,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc b/t
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
@@ -287,7 +287,7 @@ void URLLoader::Context::Start(
@@ -276,7 +276,7 @@ void URLLoader::Context::Start(
download_to_blob_registry.InitWithNewPipeAndPassReceiver());
}
net::NetworkTrafficAnnotationTag tag =
@@ -1960,7 +1960,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loa
resource_request_sender_->SendSync(
std::move(request), tag, loader_options, sync_load_response,
url_loader_factory_, std::move(throttles), timeout_interval,
@@ -300,7 +300,7 @@ void URLLoader::Context::Start(
@@ -289,7 +289,7 @@ void URLLoader::Context::Start(
TRACE_EVENT_WITH_FLOW0("loading", "URLLoader::Context::Start", this,
TRACE_EVENT_FLAG_FLOW_OUT);
net::NetworkTrafficAnnotationTag tag =
@@ -1972,7 +1972,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loa
diff --git a/tools/traffic_annotation/scripts/auditor/auditor.py b/tools/traffic_annotation/scripts/auditor/auditor.py
--- a/tools/traffic_annotation/scripts/auditor/auditor.py
+++ b/tools/traffic_annotation/scripts/auditor/auditor.py
@@ -830,6 +830,7 @@ class ArchivedAnnotation:
@@ -835,6 +835,7 @@ class ArchivedAnnotation:
# the XML. This is used to serialize/deserialize the XML.
FIELDS = [
"id", "added_in_milestone", "type", "second_id", "reserved",
@@ -48,7 +48,7 @@ diff --git a/chrome/browser/ui/side_search/side_search_prefs.cc b/chrome/browser
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -122,7 +122,7 @@ BASE_FEATURE(kResponsiveToolbar,
@@ -106,7 +106,7 @@ BASE_FEATURE(kResponsiveToolbar,
// Enables the side search feature for Google Search. Presents recent Google
// search results in a browser side panel.
@@ -60,7 +60,7 @@ diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
--- a/components/search_engines/template_url.cc
+++ b/components/search_engines/template_url.cc
@@ -1829,7 +1829,7 @@ GURL TemplateURL::GenerateSuggestionURL(
@@ -1830,7 +1830,7 @@ GURL TemplateURL::GenerateSuggestionURL(
}
bool TemplateURL::IsSideSearchSupported() const {
@@ -3,9 +3,9 @@ Date: Thu, 28 Sep 2023 08:11:00 +0000
Subject: Keep disabled FetchLaterAPI
---
.../blink/common/features_cc/Keep-disabled-FetchLaterAPI.inc | 3 +++
.../blink/renderer/platform/runtime_enabled_features.json5 | 3 ++-
2 files changed, 5 insertions(+), 1 deletion(-)
.../blink/common/features_cc/Keep-disabled-FetchLaterAPI.inc | 3 +++
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Keep-disabled-FetchLaterAPI.inc
diff --git a/cromite_flags/third_party/blink/common/features_cc/Keep-disabled-FetchLaterAPI.inc b/cromite_flags/third_party/blink/common/features_cc/Keep-disabled-FetchLaterAPI.inc
@@ -19,15 +19,16 @@ new file mode 100644
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1693,7 +1693,8 @@
@@ -1754,8 +1754,8 @@
},
{
// The Blink runtime-enabled feature name for the API's IDL.
- name: "FetchLaterAPI",
- status: "experimental",
+ name: "FetchLaterAPI", // disable
+ status: "experimental", // by default
public: true,
},
{
origin_trial_feature_name: "FetchLaterAPI",
base_feature: "FetchLaterAPI",
// base_feature is meant as kill-switch. This runtime-enabled feature
--
2.25.1
@@ -158,7 +158,7 @@ diff --git a/third_party/blink/renderer/core/events/keyboard_event.h b/third_par
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
--- a/ui/base/ui_base_features.cc
+++ b/ui/base/ui_base_features.cc
@@ -184,6 +184,14 @@ BASE_FEATURE(kSystemKeyboardLock,
@@ -192,6 +192,14 @@ BASE_FEATURE(kSystemKeyboardLock,
"SystemKeyboardLock",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -41,7 +41,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4580,6 +4580,14 @@ void Document::ProcessBaseElement() {
@@ -4556,6 +4556,14 @@ void Document::ProcessBaseElement() {
KURL base_element_url;
if (href) {
String stripped_href = StripLeadingAndTrailingHTMLSpaces(*href);
@@ -56,7 +56,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
if (!stripped_href.empty())
base_element_url = KURL(FallbackBaseURL(), stripped_href);
}
@@ -4598,6 +4606,14 @@ void Document::ProcessBaseElement() {
@@ -4573,6 +4581,14 @@ void Document::ProcessBaseElement() {
!GetExecutionContext()->GetSecurityOrigin()->CanRequest(
base_element_url)) {
UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref);
@@ -71,7 +71,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
}
}
@@ -4617,6 +4633,8 @@ void Document::ProcessBaseElement() {
@@ -4592,6 +4608,8 @@ void Document::ProcessBaseElement() {
if (target->Contains('<'))
UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget);
base_target_ = *target;
@@ -83,7 +83,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
@@ -2608,8 +2608,26 @@ void Element::StripScriptingAttributes(
@@ -2587,8 +2587,26 @@ void Element::StripScriptingAttributes(
attribute_vector.Shrink(destination);
}
@@ -163,14 +163,14 @@ diff --git a/third_party/blink/renderer/core/html/html_base_element.cc b/third_p
+ Element::ParserSetAttributes(attribute_vector);
+}
+
KURL HTMLBaseElement::href() const {
String HTMLBaseElement::href() const {
// This does not use the GetURLAttribute function because that will resolve
// relative to the document's base URL; base elements like this one can be
diff --git a/third_party/blink/renderer/core/html/html_base_element.h b/third_party/blink/renderer/core/html/html_base_element.h
--- a/third_party/blink/renderer/core/html/html_base_element.h
+++ b/third_party/blink/renderer/core/html/html_base_element.h
@@ -37,6 +37,8 @@ class CORE_EXPORT HTMLBaseElement final : public HTMLElement {
KURL href() const;
String href() const;
void setHref(const AtomicString&);
+ void ParserSetAttributes(Vector<Attribute, kAttributePrealloc>&) override;
@@ -318,7 +318,7 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1518,8 +1518,8 @@
@@ -1578,8 +1578,8 @@
// Experiment with preventing some instances of mutation XSS
// by escaping "<" and ">" in attribute values.
// See: crbug.com/1175016
@@ -329,7 +329,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
},
{
name: "EventTimingInteractionCount",
@@ -2289,6 +2289,12 @@
@@ -2374,6 +2374,12 @@
// Use LongAnimationFrameMonitor to emit longtask entries
name: "LongTaskFromLongAnimationFrame"
},
@@ -12,11 +12,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
net/quic/crypto/proof_verifier_chromium.cc | 2 +-
net/socket/ssl_client_socket_impl.cc | 2 +-
.../url_request_context_builder.cc | 14 ---
net/url_request/url_request_http_job.cc | 6 +-
net/url_request/url_request_http_job.cc | 7 +-
services/network/network_context.cc | 26 +++--
services/network/network_context.h | 11 ++-
.../public/mojom/network_context.mojom | 8 +-
12 files changed, 131 insertions(+), 84 deletions(-)
12 files changed, 132 insertions(+), 84 deletions(-)
diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc
--- a/chrome/browser/ssl/https_upgrades_interceptor.cc
@@ -495,16 +495,17 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -225,7 +225,7 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
// Check for HSTS upgrade.
TransportSecurityState* hsts =
request->context()->transport_security_state();
- if (hsts && hsts->ShouldUpgradeToSSL(url.host(), request->net_log())) {
+ if (hsts && hsts->ShouldUpgradeToSSL(request->isolation_info().network_anonymization_key(), url.host(), request->net_log())) {
return std::make_unique<URLRequestRedirectJob>(
request, UpgradeSchemeToCryptographic(url),
// Use status code 307 to preserve the method, so POST requests work.
@@ -1056,7 +1056,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
@@ -261,7 +261,8 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
TransportSecurityState* hsts = request->context()->transport_security_state();
bool should_upgrade_to_ssl =
- hsts && hsts->ShouldUpgradeToSSL(url.host(), request->net_log());
+ hsts && hsts->ShouldUpgradeToSSL(request->isolation_info().network_anonymization_key(),
+ url.host(), request->net_log());
// Check for reasons not to return a URLRequestHttpJob. These don't apply to
// https and wss requests.
@@ -1078,7 +1079,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
HttpResponseHeaders* headers = GetResponseHeaders();
std::string value;
if (headers->EnumerateHeader(nullptr, "Strict-Transport-Security", &value))
@@ -513,7 +514,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
}
void URLRequestHttpJob::OnStartCompleted(int result) {
@@ -1126,7 +1126,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) {
@@ -1148,7 +1149,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) {
TransportSecurityState* state = context->transport_security_state();
NotifySSLCertificateError(
result, transaction_->GetResponseInfo()->ssl_info,
@@ -525,7 +526,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1884,17 +1884,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
@@ -1890,17 +1890,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
std::move(callback).Run();
}
@@ -548,7 +549,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
IsHSTSActiveForHostCallback callback) {
net::TransportSecurityState* security_state =
url_request_context_->transport_security_state();
@@ -1904,10 +1906,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
@@ -1910,10 +1912,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
return;
}
@@ -561,7 +562,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
GetHSTSStateCallback callback) {
base::Value::Dict result;
@@ -1943,10 +1945,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
@@ -1951,10 +1953,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
net::TransportSecurityState::STSState dynamic_sts_state;
net::TransportSecurityState::PKPState dynamic_pkp_state;
bool found_sts_dynamic = transport_security_state->GetDynamicSTSState(
@@ -574,7 +575,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
if (found_sts_dynamic) {
result.Set("dynamic_upgrade_mode",
static_cast<int>(dynamic_sts_state.upgrade_mode));
@@ -1982,6 +1984,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
@@ -1992,6 +1994,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
}
void NetworkContext::DeleteDynamicDataForHost(
@@ -582,7 +583,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
const std::string& host,
DeleteDynamicDataForHostCallback callback) {
net::TransportSecurityState* transport_security_state =
@@ -1992,7 +1995,7 @@ void NetworkContext::DeleteDynamicDataForHost(
@@ -2002,7 +2005,7 @@ void NetworkContext::DeleteDynamicDataForHost(
}
std::move(callback).Run(
@@ -591,7 +592,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
}
void NetworkContext::EnableStaticKeyPinningForTesting(
@@ -2125,7 +2128,7 @@ void NetworkContext::PreconnectSockets(
@@ -2146,7 +2149,7 @@ void NetworkContext::PreconnectSockets(
DCHECK(!require_network_anonymization_key_ ||
!network_anonymization_key.IsEmpty());
@@ -600,7 +601,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
// |PreconnectSockets| may receive arguments from the renderer, which is not
// guaranteed to validate them.
@@ -2945,12 +2948,15 @@ void NetworkContext::OnConnectionError() {
@@ -2971,12 +2974,15 @@ void NetworkContext::OnConnectionError() {
std::move(on_connection_close_callback_).Run(this);
}
@@ -620,7 +621,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
diff --git a/services/network/network_context.h b/services/network/network_context.h
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -419,15 +419,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -421,15 +421,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const std::string& ocsp_result,
const std::string& sct_list,
VerifyCertForSignedExchangeCallback callback) override;
@@ -641,7 +642,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
const std::string& host,
DeleteDynamicDataForHostCallback callback) override;
void SetCorsOriginAccessListsForOrigin(
@@ -724,7 +726,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -726,7 +728,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
mojo::PendingRemote<mojom::CookieAccessObserver> cookie_observer,
net::FirstPartySetMetadata first_party_set_metadata);
@@ -654,7 +655,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1529,16 +1529,16 @@ interface NetworkContext {
@@ -1537,16 +1537,16 @@ interface NetworkContext {
// Adds explicitly-specified data as if it was processed from an
// HSTS header. Used by tests and implementation of chrome://net-internals.
@@ -674,7 +675,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
=> (mojo_base.mojom.DictionaryValue state);
// Sets allowed and blocked origins respectively for the URLLoaderFactory
@@ -1557,7 +1557,7 @@ interface NetworkContext {
@@ -1565,7 +1565,7 @@ interface NetworkContext {
// Deletes any dynamic data stored for |host| from the transport
// security state. Returns true iff an entry was deleted.
// See net::TransportSecurityState::DeleteDynamicDataForHost for more detail.
@@ -16,7 +16,7 @@ diff --git a/components/media_device_salt/media_device_salt_service.cc b/compone
+++ b/components/media_device_salt/media_device_salt_service.cc
@@ -29,6 +29,9 @@ BASE_FEATURE(kMediaDeviceIdRandomSaltsPerStorageKey,
"MediaDeviceIdRandomSaltsPerStorageKey",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_ENABLED(kMediaDeviceIdPartitioning);
+SET_CROMITE_FEATURE_ENABLED(kMediaDeviceIdRandomSaltsPerStorageKey);
@@ -10,9 +10,10 @@ samesite=none first-party cookies are sent in third-party contexts.
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../browser/net/profile_network_context_service.cc | 8 ++++----
.../content_settings/core/browser/cookie_settings.cc | 1 +
.../core/common/cookie_settings_base.cc | 2 +-
.../Partitioning-all-cookies-by-top-frame-domain.inc | 1 +
.../Partitioning-all-cookies-by-top-frame-domain.inc | 1 +
.../Partitioning-all-cookies-by-top-frame-domain.inc | 3 +++
.../Partitioning-all-cookies-by-top-frame-domain.inc | 2 ++
.../Partitioning-all-cookies-by-top-frame-domain.inc | 1 +
.../Partitioning-all-cookies-by-top-frame-domain.inc | 5 +++++
net/cookies/canonical_cookie.cc | 12 +-----------
@@ -20,12 +21,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
net/cookies/parsed_cookie.h | 7 ++++++-
net/extras/sqlite/sqlite_persistent_cookie_store.cc | 10 ++++++++++
net/url_request/url_request_http_job.cc | 2 +-
services/network/restricted_cookie_manager.cc | 3 +++
services/network/restricted_cookie_manager.cc | 6 ++++++
.../renderer/modules/cookie_store/cookie_init.idl | 2 +-
.../renderer/modules/cookie_store/cookie_store.cc | 12 ++++++++++++
.../cookie_store/cookie_store_delete_options.idl | 2 +-
ui/webui/webui_allowlist.cc | 1 +
16 files changed, 51 insertions(+), 21 deletions(-)
17 files changed, 58 insertions(+), 21 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
@@ -34,7 +35,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
@@ -613,14 +613,14 @@ ProfileNetworkContextService::CreateCookieManagerParams(
@@ -578,14 +578,14 @@ ProfileNetworkContextService::CreateCookieManagerParams(
// UI to interact with SameSite cookies on accounts.google.com, which is used
// for displaying a list of available accounts on the NTP
// (chrome://new-tab-page), etc.
@@ -53,10 +54,21 @@ diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/brow
#endif
HostContentSettingsMap* host_content_settings_map =
diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc
--- a/components/content_settings/core/browser/cookie_settings.cc
+++ b/components/content_settings/core/browser/cookie_settings.cc
@@ -123,6 +123,7 @@ void CookieSettings::SetTemporaryCookieGrantForHeuristic(
const GURL& first_party_url,
base::TimeDelta ttl,
bool use_schemeless_patterns) {
+ if ((true)) return;
// If the new grant has an earlier TTL than the existing setting, keep the
// existing TTL.
SettingInfo info;
diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/components/content_settings/core/common/cookie_settings_base.cc
--- a/components/content_settings/core/common/cookie_settings_base.cc
+++ b/components/content_settings/core/common/cookie_settings_base.cc
@@ -318,7 +318,7 @@ CookieSettingsBase::GetCookieSettingInternal(
@@ -414,7 +414,7 @@ CookieSettingsBase::GetCookieSettingInternal(
absl::optional<ThirdPartyBlockingScope> scope;
if (block_third) {
scope = IsAllowed(setting)
@@ -64,19 +76,22 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c
+ ? ThirdPartyBlockingScope::kUnpartitionedAndPartitioned
: ThirdPartyBlockingScope::kUnpartitionedAndPartitioned;
}
return {block_third ? CONTENT_SETTING_BLOCK : setting, scope,
diff --git a/cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc b/cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
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 @@
@@ -0,0 +1,3 @@
+SET_CROMITE_FEATURE_DISABLED(kTrackingProtection3pcd);
+SET_CROMITE_FEATURE_DISABLED(kUserBypassUI);
+SET_CROMITE_FEATURE_DISABLED(kTpcdHeuristicsGrants);
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
+++ b/cromite_flags/components/permissions/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
@@ -0,0 +1 @@
@@ -0,0 +1,2 @@
+SET_CROMITE_FEATURE_DISABLED(kPermissionStorageAccessAPI);
+SET_CROMITE_FEATURE_ENABLED(kShowRelatedWebsiteSetsPermissionGrants);
diff --git a/cromite_flags/content/public/common/content_features_cc/Partitioning-all-cookies-by-top-frame-domain.inc b/cromite_flags/content/public/common/content_features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
new file mode 100644
--- /dev/null
@@ -96,7 +111,7 @@ new file mode 100644
diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
--- a/net/cookies/canonical_cookie.cc
+++ b/net/cookies/canonical_cookie.cc
@@ -1469,8 +1469,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
@@ -1488,8 +1488,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
if (IsPartitioned()) {
if (CookiePartitionKey::HasNonce(partition_key_))
return true;
@@ -105,7 +120,7 @@ diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
}
return true;
@@ -1727,15 +1725,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url,
@@ -1746,15 +1744,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url,
bool secure,
bool is_partitioned,
bool partition_has_nonce) {
@@ -162,7 +177,7 @@ diff --git a/net/cookies/parsed_cookie.h b/net/cookies/parsed_cookie.h
diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sqlite/sqlite_persistent_cookie_store.cc
--- a/net/extras/sqlite/sqlite_persistent_cookie_store.cc
+++ b/net/extras/sqlite/sqlite_persistent_cookie_store.cc
@@ -814,6 +814,16 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() {
@@ -741,6 +741,16 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() {
if (!restore_old_session_cookies_)
DeleteSessionCookiesOnStartup();
@@ -182,23 +197,26 @@ diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sq
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -759,7 +759,7 @@ void URLRequestHttpJob::SetCookieHeaderAndStart(
@@ -788,7 +788,7 @@ void URLRequestHttpJob::SetCookieHeaderAndStart(
size_t n_partitioned_cookies = 0;
bool may_set_sec_cookie_deprecation_header =
- !request_->context()->cookie_deprecation_label().value_or("").empty();
+ false;
size_t n_partitioned_cookies = 0;
bool may_set_sec_cookie_deprecation_header =
- !request_->context()->cookie_deprecation_label().value_or("").empty();
+ false;
// TODO(crbug.com/1031664): Reduce the number of times the cookie list
// is iterated over. Get metrics for every cookie which is included.
// TODO(crbug.com/1031664): Reduce the number of times the cookie list
// is iterated over. Get metrics for every cookie which is included.
diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc
--- a/services/network/restricted_cookie_manager.cc
+++ b/services/network/restricted_cookie_manager.cc
@@ -808,6 +808,9 @@ void RestrictedCookieManager::SetCookieFromString(
std::move(callback).Run(site_for_cookies_ok, top_frame_origin_ok);
callback = base::DoNothing();
@@ -933,6 +933,12 @@ void RestrictedCookieManager::SetCookieFromString(
std::move(callback).Run();
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=911299
+ bool site_for_cookies_ok =
+ BoundSiteForCookies().IsEquivalent(site_for_cookies);
+ bool top_frame_origin_ok = top_frame_origin == BoundTopFrameOrigin();
+ if (!site_for_cookies_ok || !top_frame_origin_ok) return;
+
net::CookieInclusionStatus status;
@@ -217,7 +235,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/t
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
--- a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
@@ -321,6 +321,10 @@ ScriptPromise CookieStore::set(ScriptState* script_state,
@@ -322,6 +322,10 @@ ScriptPromise CookieStore::set(ScriptState* script_state,
CookieInit* set_options = CookieInit::Create();
set_options->setName(name);
set_options->setValue(value);
@@ -228,7 +246,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t
return set(script_state, set_options, exception_state);
}
@@ -343,6 +347,10 @@ ScriptPromise CookieStore::Delete(ScriptState* script_state,
@@ -344,6 +348,10 @@ ScriptPromise CookieStore::Delete(ScriptState* script_state,
set_options->setName(name);
set_options->setValue("deleted");
set_options->setExpires(0);
@@ -239,7 +257,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t
return DoWrite(script_state, set_options, exception_state);
}
@@ -357,6 +365,10 @@ ScriptPromise CookieStore::Delete(ScriptState* script_state,
@@ -358,6 +366,10 @@ ScriptPromise CookieStore::Delete(ScriptState* script_state,
set_options->setPath(options->path());
set_options->setSameSite("strict");
set_options->setPartitioned(options->partitioned());
@@ -19,7 +19,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java
@@ -968,44 +968,6 @@ public class OMADownloadHandler extends BroadcastReceiver {
@@ -969,44 +969,6 @@ public class OMADownloadHandler extends BroadcastReceiver {
protected Boolean doInBackground() {
HttpURLConnection urlConnection = null;
boolean success = false;
@@ -67,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADow
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityChecker.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityChecker.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityChecker.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityChecker.java
@@ -136,42 +136,7 @@ public final class ConnectivityChecker {
@@ -137,42 +137,7 @@ public final class ConnectivityChecker {
postResult(callback, ConnectivityCheckResult.ERROR);
return;
}
@@ -178,8 +178,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/connectivit
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
@@ -461,8 +461,7 @@ public class OmahaBase {
+ "}");
@@ -463,8 +463,7 @@ public class OmahaBase {
}""");
try {
URL url = new URL(getRequestGenerator().getServerUrl());
- HttpURLConnection connection =
@@ -19,7 +19,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
--- a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
@@ -822,6 +822,9 @@ bool ResourceLoader::WillFollowRedirect(
@@ -544,6 +544,9 @@ bool ResourceLoader::WillFollowRedirect(
new_url)) {
fetcher_->GetUseCounter().CountUse(
mojom::WebFeature::kAuthorizationCrossOrigin);
@@ -32,7 +32,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
@@ -197,6 +197,10 @@ void SyncLoadContext::FollowRedirect(std::vector<std::string> removed_headers) {
@@ -199,6 +199,10 @@ void SyncLoadContext::FollowRedirect(std::vector<std::string> removed_headers,
return;
}
@@ -42,6 +42,6 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_lo
+
response_->redirect_info = net::RedirectInfo();
*context_for_redirect_ = nullptr;
std::move(follow_redirect_callback_).Run(std::move(removed_headers));
std::move(follow_redirect_callback_)
--
2.25.1
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
@@ -411,7 +411,7 @@ void ProfileNetworkContextService::UpdateAdditionalCertificates() {
@@ -364,7 +364,7 @@ void ProfileNetworkContextService::UpdateAdditionalCertificates() {
void ProfileNetworkContextService::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(embedder_support::kAlternateErrorPagesEnabled,
@@ -27,7 +27,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1970,6 +1970,16 @@ static_library("browser") {
@@ -1974,6 +1974,16 @@ static_library("browser") {
]
}
@@ -378,15 +378,15 @@ new file mode 100644
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
@@ -123,6 +123,7 @@
@@ -112,6 +112,7 @@
#include "chrome/browser/password_manager/password_reuse_manager_factory.h"
#include "chrome/browser/password_manager/password_store_factory.h"
#include "chrome/browser/password_manager/profile_password_store_factory.h"
#include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h"
+#include "chrome/browser/permissions/last_tab_standing_tracker_factory.h"
#include "chrome/browser/permissions/notifications_engagement_service_factory.h"
#include "chrome/browser/permissions/one_time_permissions_tracker_factory.h"
#include "chrome/browser/permissions/origin_keyed_permission_action_service_factory.h"
@@ -921,6 +922,7 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -908,6 +909,7 @@ void ChromeBrowserMainExtraPartsProfiles::
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
OnDeviceTailModelServiceFactory::GetInstance();
#endif
@@ -397,7 +397,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -63,6 +63,7 @@
@@ -54,6 +54,7 @@
#include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h"
#include "chrome/browser/password_manager/chrome_password_manager_client.h"
#include "chrome/browser/performance_manager/public/user_tuning/user_performance_tuning_manager.h"
@@ -405,13 +405,13 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
#include "chrome/browser/permissions/one_time_permissions_tracker_helper.h"
#include "chrome/browser/predictors/loading_predictor_factory.h"
#include "chrome/browser/predictors/loading_predictor_tab_helper.h"
@@ -396,6 +397,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -388,6 +389,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
HistoryClustersTabHelper::CreateForWebContents(web_contents);
HttpsOnlyModeTabHelper::CreateForWebContents(web_contents);
webapps::InstallableManager::CreateForWebContents(web_contents);
+ LastTabStandingTrackerTabHelper::CreateForWebContents(web_contents);
login_detection::LoginDetectionTabHelper::MaybeCreateForWebContents(
web_contents);
if (MediaEngagementService::IsEnabled())
if (MediaEngagementService::IsEnabled()) {
--
2.25.1
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
--- a/net/spdy/spdy_session.cc
+++ b/net/spdy/spdy_session.cc
@@ -2964,6 +2964,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id,
@@ -2974,6 +2974,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id,
if (it == active_streams_.end()) {
// NOTE: it may just be that the stream was cancelled.
LOG(WARNING) << "Received HEADERS for invalid stream " << stream_id;
@@ -3,31 +3,14 @@ Date: Sun, 29 Oct 2023 15:18:24 +0000
Subject: Temp guard FileSystemAccessPersistentPermissions
---
.../chrome_file_system_access_permission_context.cc | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
.../chrome_file_system_access_permission_context.cc | 4 ++--
.../browser/file_system_access/file_system_access_features.cc | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
@@ -75,13 +75,13 @@
namespace features {
BASE_FEATURE(kFileSystemAccessPersistentPermissions,
- "kFileSystemAccessPersistentPermissions",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "kFileSystemAccessPersistentPermissions", // guard
+ base::FEATURE_DISABLED_BY_DEFAULT); // this
#if BUILDFLAG(IS_WIN)
BASE_FEATURE(kFileSystemAccessLocalUNCPathBlock,
- "kFileSystemAccessLocalUNCPathBlock",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "kFileSystemAccessLocalUNCPathBlock", // guard
+ base::FEATURE_ENABLED_BY_DEFAULT); // this
#endif
} // namespace features
@@ -377,7 +377,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& check_path,
@@ -375,7 +375,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& check_path,
}
if (check_path == blocked_path || check_path.IsParent(blocked_path)) {
@@ -36,7 +19,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
<< " because it is a parent of " << blocked_path << " ("
<< block.base_path_key << ")";
return true;
@@ -406,7 +406,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& check_path,
@@ -404,7 +404,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& check_path,
}
// The nearest ancestor blocks access to its children, so block access.
@@ -45,5 +28,17 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
<< nearest_ancestor << " (" << nearest_ancestor_path_key << ")";
return true;
}
diff --git a/chrome/browser/file_system_access/file_system_access_features.cc b/chrome/browser/file_system_access/file_system_access_features.cc
--- a/chrome/browser/file_system_access/file_system_access_features.cc
+++ b/chrome/browser/file_system_access/file_system_access_features.cc
@@ -22,4 +22,8 @@ BASE_FEATURE(kFileSystemAccessPersistentPermissions,
"kFileSystemAccessPersistentPermissions",
base::FEATURE_DISABLED_BY_DEFAULT);
+#if BUILDFLAG(IS_WIN)
+SET_CROMITE_FEATURE_ENABLED(kFileSystemAccessLocalUNCPathBlock);
+#endif
+SET_CROMITE_FEATURE_DISABLED(kFileSystemAccessPersistentPermissions);
} // namespace features
--
2.25.1
@@ -9,7 +9,7 @@ Subject: WIN Add some prefs to secure preferences
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
@@ -121,6 +121,14 @@ bool g_disable_domain_check_for_testing = false;
@@ -116,6 +116,14 @@ bool g_disable_domain_check_for_testing = false;
// See CleanupDeprecatedTrackedPreferences() in pref_hash_filter.cc to remove a
// deprecated tracked preference.
const prefs::TrackedPreferenceMetadata kTrackedPrefs[] = {
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -217,11 +217,7 @@ BASE_FEATURE(kTabHoverCardImageSettings,
@@ -206,11 +206,7 @@ BASE_FEATURE(kTabHoverCardImageSettings,
// https://crbug.com/928954
BASE_FEATURE(kTabHoverCardImages,
"TabHoverCardImages",
@@ -9,7 +9,7 @@ Subject: WIN Disable search for image
diff --git a/components/renderer_context_menu/context_menu_content_type.cc b/components/renderer_context_menu/context_menu_content_type.cc
--- a/components/renderer_context_menu/context_menu_content_type.cc
+++ b/components/renderer_context_menu/context_menu_content_type.cc
@@ -99,7 +99,7 @@ bool ContextMenuContentType::SupportsGroupInternal(int group) {
@@ -98,7 +98,7 @@ bool ContextMenuContentType::SupportsGroupInternal(int group) {
case ITEM_GROUP_SEARCHWEBFORIMAGE:
// Image menu items imply search web for image item.
@@ -25,7 +25,7 @@ diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -1708,10 +1708,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
@@ -1728,10 +1728,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
command_updater_.UpdateCommandEnabled(IDC_CHROME_WHATS_NEW, show_main_ui);
#endif
command_updater_.UpdateCommandEnabled(IDC_CONTENT_CONTEXT_SHARING_SUBMENU,
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc
--- a/chrome/browser/ui/browser_commands.cc
+++ b/chrome/browser/ui/browser_commands.cc
@@ -1556,6 +1556,7 @@ void SendTabToSelfFromPageAction(Browser* browser) {
@@ -1589,6 +1589,7 @@ void SendTabToSelfFromPageAction(Browser* browser) {
}
bool CanGenerateQrCode(const Browser* browser) {
+22 -17
View File
@@ -3,15 +3,27 @@ Date: Sun, 7 May 2023 14:03:55 +0000
Subject: WIN Disable updater
---
.../browser_process_platform_part_win.cc | 3 ++
chrome/browser/updater/BUILD.gn | 9 ------
.../browser/updater/browser_updater_client.cc | 32 +------------------
3 files changed, 4 insertions(+), 40 deletions(-)
chrome/browser/active_use_util.h | 2 +-
.../browser_process_platform_part_win.cc | 1 +
chrome/browser/updater/BUILD.gn | 9 -----
.../browser/updater/browser_updater_client.cc | 33 +------------------
4 files changed, 3 insertions(+), 42 deletions(-)
diff --git a/chrome/browser/active_use_util.h b/chrome/browser/active_use_util.h
--- a/chrome/browser/active_use_util.h
+++ b/chrome/browser/active_use_util.h
@@ -9,6 +9,6 @@
#include "chrome/install_static/buildflags.h"
constexpr bool kShouldRecordActiveUse =
- !BUILDFLAG(IS_WIN) || BUILDFLAG(USE_GOOGLE_UPDATE_INTEGRATION);
+ false;
#endif // CHROME_BROWSER_ACTIVE_USE_UTIL_H_
diff --git a/chrome/browser/browser_process_platform_part_win.cc b/chrome/browser/browser_process_platform_part_win.cc
--- a/chrome/browser/browser_process_platform_part_win.cc
+++ b/chrome/browser/browser_process_platform_part_win.cc
@@ -5,12 +5,15 @@
@@ -5,6 +5,7 @@
#include "chrome/browser/browser_process_platform_part_win.h"
#include "chrome/browser/active_use_util.h"
@@ -19,14 +31,6 @@ diff --git a/chrome/browser/browser_process_platform_part_win.cc b/chrome/browse
BrowserProcessPlatformPart::BrowserProcessPlatformPart() = default;
BrowserProcessPlatformPart::~BrowserProcessPlatformPart() = default;
void BrowserProcessPlatformPart::PlatformSpecificCommandLineProcessing(
const base::CommandLine& command_line) {
+#if BUILDFLAG(USE_GOOGLE_UPDATE_INTEGRATION)
if (!did_run_updater_ && ShouldRecordActiveUse(command_line))
did_run_updater_.emplace();
+#endif
}
diff --git a/chrome/browser/updater/BUILD.gn b/chrome/browser/updater/BUILD.gn
--- a/chrome/browser/updater/BUILD.gn
+++ b/chrome/browser/updater/BUILD.gn
@@ -49,7 +53,7 @@ diff --git a/chrome/browser/updater/BUILD.gn b/chrome/browser/updater/BUILD.gn
diff --git a/chrome/browser/updater/browser_updater_client.cc b/chrome/browser/updater/browser_updater_client.cc
--- a/chrome/browser/updater/browser_updater_client.cc
+++ b/chrome/browser/updater/browser_updater_client.cc
@@ -29,19 +29,6 @@ BrowserUpdaterClient::~BrowserUpdaterClient() = default;
@@ -30,19 +30,6 @@ BrowserUpdaterClient::~BrowserUpdaterClient() = default;
void BrowserUpdaterClient::Register(base::OnceClosure complete) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -69,7 +73,7 @@ diff --git a/chrome/browser/updater/browser_updater_client.cc b/chrome/browser/u
}
void BrowserUpdaterClient::RegistrationCompleted(base::OnceClosure complete,
@@ -72,18 +59,6 @@ void BrowserUpdaterClient::GetUpdaterVersionCompleted(
@@ -73,18 +60,6 @@ void BrowserUpdaterClient::GetUpdaterVersionCompleted(
void BrowserUpdaterClient::CheckForUpdate(
updater::UpdateService::StateChangeCallback version_updater_callback) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -88,7 +92,7 @@ diff --git a/chrome/browser/updater/browser_updater_client.cc b/chrome/browser/u
}
void BrowserUpdaterClient::UpdateCompleted(
@@ -129,12 +104,7 @@ void BrowserUpdaterClient::IsBrowserRegisteredCompleted(
@@ -130,13 +105,7 @@ void BrowserUpdaterClient::IsBrowserRegisteredCompleted(
base::OnceCallback<void(bool)> callback,
const std::vector<updater::UpdateService::AppState>& apps) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -96,7 +100,8 @@ diff --git a/chrome/browser/updater/browser_updater_client.cc b/chrome/browser/u
- std::move(callback).Run(
- std::find_if(apps.begin(), apps.end(),
- [&](const updater::UpdateService::AppState& app) {
- return app.app_id == app_id;
- return base::EqualsCaseInsensitiveASCII(app.app_id,
- app_id);
- }) != apps.end());
+ std::move(callback).Run(true);
}
+1 -1
View File
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -2054,7 +2054,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -2080,7 +2080,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
@@ -51,7 +51,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -447,6 +447,7 @@ if (is_win) {
@@ -449,6 +449,7 @@ if (is_win) {
"//components/policy:generated",
"//content/public/app",
"//crypto",
@@ -59,7 +59,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
"//headless:headless_non_renderer",
"//headless:headless_shell_browser_lib",
"//net:net_resources",
@@ -1705,6 +1706,8 @@ if (is_android) {
@@ -1714,6 +1715,8 @@ if (is_android) {
"//chrome/common/profiler",
"//chrome/gpu",
"//chrome/renderer",
@@ -71,7 +71,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc
--- a/chrome/app/chrome_main_delegate.cc
+++ b/chrome/app/chrome_main_delegate.cc
@@ -105,6 +105,9 @@
@@ -100,6 +100,9 @@
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/resource/scoped_startup_resource_bundle.h"
#include "ui/base/ui_base_switches.h"
@@ -81,7 +81,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat
#if BUILDFLAG(IS_WIN)
#include <malloc.h>
@@ -1133,6 +1136,13 @@ absl::optional<int> ChromeMainDelegate::BasicStartupComplete() {
@@ -1165,6 +1168,13 @@ absl::optional<int> ChromeMainDelegate::BasicStartupComplete() {
return chrome::RESULT_CODE_INVALID_SANDBOX_STATE;
#endif
@@ -98,7 +98,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -7051,6 +7051,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
@@ -7122,6 +7122,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
You are using an unsupported feature flag: <ph name="BAD_FLAG">$1<ex>SignedHTTPExchange</ex></ph>. Stability and security will suffer.
</message>
@@ -131,7 +131,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -3489,6 +3489,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3563,6 +3563,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kLacrosUseChromeosProtectedAv1,
#endif
switches::kDesktopModeViewportMetaEnabled,
+19 -19
View File
@@ -171,7 +171,7 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/browser/ash/policy/core/browser_policy_connector_ash.h"
@@ -222,6 +224,16 @@ void ChromeFeatureListCreator::CreatePrefService() {
@@ -219,6 +221,16 @@ void ChromeFeatureListCreator::CreatePrefService() {
// ManagementService's cache.
if (local_state_pref_store->ReadPrefs() ==
JsonPrefStore::PREF_READ_ERROR_NONE) {
@@ -191,7 +191,7 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow
diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/browser/policy/chrome_browser_policy_connector.cc
--- a/chrome/browser/policy/chrome_browser_policy_connector.cc
+++ b/chrome/browser/policy/chrome_browser_policy_connector.cc
@@ -159,8 +159,6 @@ bool ChromeBrowserPolicyConnector::HasMachineLevelPolicies() {
@@ -149,8 +149,6 @@ bool ChromeBrowserPolicyConnector::HasMachineLevelPolicies() {
if (ProviderHasPolicies(machine_level_user_cloud_policy_manager()))
return true;
#endif // !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -203,7 +203,7 @@ diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/b
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -2046,9 +2046,9 @@ bool AreFuturePoliciesEnabledByDefault() {
@@ -2088,9 +2088,9 @@ bool AreFuturePoliciesEnabledByDefault() {
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) {
return true;
}
@@ -219,7 +219,7 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc
--- a/chrome/browser/signin/account_consistency_mode_manager.cc
+++ b/chrome/browser/signin/account_consistency_mode_manager.cc
@@ -160,7 +160,7 @@ void AccountConsistencyModeManager::SetIgnoreMissingOAuthClientForTesting() {
@@ -164,7 +164,7 @@ void AccountConsistencyModeManager::SetIgnoreMissingOAuthClientForTesting() {
// static
bool AccountConsistencyModeManager::ShouldBuildServiceForProfile(
Profile* profile) {
@@ -228,7 +228,7 @@ diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/
}
AccountConsistencyMethod
@@ -198,7 +198,8 @@ AccountConsistencyModeManager::ComputeAccountConsistencyMethod(
@@ -202,7 +202,8 @@ AccountConsistencyModeManager::ComputeAccountConsistencyMethod(
#endif
#if BUILDFLAG(ENABLE_MIRROR)
@@ -238,7 +238,7 @@ diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/
#endif
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
@@ -208,7 +209,7 @@ AccountConsistencyModeManager::ComputeAccountConsistencyMethod(
@@ -212,7 +213,7 @@ AccountConsistencyModeManager::ComputeAccountConsistencyMethod(
return AccountConsistencyMethod::kDisabled;
}
@@ -260,7 +260,7 @@ diff --git a/chrome/browser/signin/account_consistency_mode_manager_factory.cc b
diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/signin/chrome_signin_client.cc
--- a/chrome/browser/signin/chrome_signin_client.cc
+++ b/chrome/browser/signin/chrome_signin_client.cc
@@ -130,7 +130,9 @@ void ChromeSigninClient::DoFinalInit() {
@@ -214,7 +214,9 @@ void ChromeSigninClient::DoFinalInit() {
bool ChromeSigninClient::ProfileAllowsSigninCookies(Profile* profile) {
scoped_refptr<content_settings::CookieSettings> cookie_settings =
CookieSettingsFactory::GetForProfile(profile);
@@ -270,8 +270,8 @@ diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/sign
+ return cookiesAllowed && profile->GetPrefs()->GetBoolean(prefs::kSigninAllowed);
}
PrefService* ChromeSigninClient::GetPrefs() { return profile_->GetPrefs(); }
@@ -242,6 +244,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() {
PrefService* ChromeSigninClient::GetPrefs() {
@@ -328,6 +330,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() {
}
void ChromeSigninClient::DelayNetworkCall(base::OnceClosure callback) {
@@ -300,7 +300,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse
#include "components/policy/core/common/policy_scheduler.h"
#include "components/policy/core/common/policy_types.h"
#include "components/policy/core/common/remote_commands/remote_commands_service.h"
@@ -177,6 +179,10 @@ void PolicyUIHandler::RegisterMessages() {
@@ -175,6 +177,10 @@ void PolicyUIHandler::RegisterMessages() {
"exportPoliciesJSON",
base::BindRepeating(&PolicyUIHandler::HandleExportPoliciesJson,
base::Unretained(this)));
@@ -311,7 +311,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse
web_ui()->RegisterMessageCallback(
"listenPoliciesUpdates",
base::BindRepeating(&PolicyUIHandler::HandleListenPoliciesUpdates,
@@ -424,8 +430,102 @@ void PolicyUIHandler::SendPolicies() {
@@ -386,8 +392,102 @@ void PolicyUIHandler::SendPolicies() {
"policies-updated",
base::Value(
policy_value_and_status_aggregator_->GetAggregatedPolicyNames()),
@@ -419,7 +419,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse
diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.h b/chrome/browser/ui/webui/policy/policy_ui_handler.h
--- a/chrome/browser/ui/webui/policy/policy_ui_handler.h
+++ b/chrome/browser/ui/webui/policy/policy_ui_handler.h
@@ -58,6 +58,8 @@ class PolicyUIHandler : public content::WebUIMessageHandler,
@@ -50,6 +50,8 @@ class PolicyUIHandler
private:
void HandleExportPoliciesJson(const base::Value::List& args);
@@ -431,9 +431,9 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.h b/chrome/browser
diff --git a/components/commerce/core/commerce_feature_list.cc b/components/commerce/core/commerce_feature_list.cc
--- a/components/commerce/core/commerce_feature_list.cc
+++ b/components/commerce/core/commerce_feature_list.cc
@@ -293,6 +293,13 @@ BASE_FEATURE(kParcelTrackingRegionLaunched,
"ParcelTrackingRegionLaunched",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -301,6 +301,13 @@ const char kParcelTrackingTestDataParamDelivered[] = "Delivered";
const char kParcelTrackingTestDataParamInProgress[] = "InProgress";
const char kParcelTrackingTestDataParamOutForDelivery[] = "OutForDelivery";
+SET_CROMITE_FEATURE_DISABLED(kCommercePriceTrackingRegionLaunched);
+SET_CROMITE_FEATURE_DISABLED(kShoppingListRegionLaunched);
@@ -634,7 +634,7 @@ diff --git a/components/policy/core/common/policy_loader_command_line.cc b/compo
diff --git a/components/policy/core/common/policy_pref_names.cc b/components/policy/core/common/policy_pref_names.cc
--- a/components/policy/core/common/policy_pref_names.cc
+++ b/components/policy/core/common/policy_pref_names.cc
@@ -93,6 +93,9 @@ const char kReadAloudEnabled[] = "policy.read_aloud_enabled";
@@ -97,6 +97,9 @@ const char kReadAloudEnabled[] = "policy.read_aloud_enabled";
const char kUserAgentClientHintsGREASEUpdateEnabled[] =
"policy.user_agent_client_hints_grease_update_enabled";
@@ -647,7 +647,7 @@ diff --git a/components/policy/core/common/policy_pref_names.cc b/components/pol
diff --git a/components/policy/core/common/policy_pref_names.h b/components/policy/core/common/policy_pref_names.h
--- a/components/policy/core/common/policy_pref_names.h
+++ b/components/policy/core/common/policy_pref_names.h
@@ -50,6 +50,7 @@ extern const char kUrlAllowlist[];
@@ -51,6 +51,7 @@ extern const char kUrlAllowlist[];
extern const char kUserPolicyRefreshRate[];
extern const char kIntensiveWakeUpThrottlingEnabled[];
extern const char kUserAgentClientHintsGREASEUpdateEnabled[];
@@ -781,7 +781,7 @@ diff --git a/components/policy_strings.grdp b/components/policy_strings.grdp
diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc b/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc
--- a/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc
+++ b/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc
@@ -469,6 +469,8 @@ void GaiaCookieManagerService::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -468,6 +468,8 @@ void GaiaCookieManagerService::RegisterPrefs(PrefRegistrySimple* registry) {
}
void GaiaCookieManagerService::InitCookieListener() {
@@ -790,7 +790,7 @@ diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_ser
DCHECK(!cookie_listener_receiver_.is_bound());
network::mojom::CookieManager* cookie_manager =
@@ -891,6 +893,8 @@ void GaiaCookieManagerService::OnSetAccountsFinished(
@@ -890,6 +892,8 @@ void GaiaCookieManagerService::OnSetAccountsFinished(
}
void GaiaCookieManagerService::HandleNextRequest() {
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/v8/BUILD.gn b/v8/BUILD.gn
--- a/v8/BUILD.gn
+++ b/v8/BUILD.gn
@@ -2369,7 +2369,7 @@ template("run_mksnapshot") {
@@ -2382,7 +2382,7 @@ template("run_mksnapshot") {
# Replace this with --warn-about-builtin-profile-data to see the full
# list of builtins with incompatible profiles.
@@ -86,15 +86,15 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -3028,9 +3028,9 @@
@@ -2842,9 +2842,9 @@
"expiry_milestone": 125
},
{
- "name": "enable-image-reader",
- "owners": [ "vikassoni", "liberato" ],
- "owners": [ "vikassoni@chromium.org", "liberato@chromium.org" ],
- "expiry_milestone": 125
+ "name": "enable-image-reader", // Bromite: do not expire
+ "owners": [ "vikassoni", "liberato" ], // flag
+ "owners": [ "vikassoni@chromium.org", "liberato@chromium.org" ], // flag
+ "expiry_milestone": -1
},
{
@@ -205,7 +205,7 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -628,6 +628,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -668,6 +668,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
#endif // BUILDFLAG(IS_WIN)
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -227,6 +227,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
@@ -229,6 +229,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
import org.chromium.content_public.browser.SelectionPopupController;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentSwitches;
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.printing.PrintManagerDelegateImpl;
import org.chromium.printing.PrintingController;
import org.chromium.printing.PrintingControllerImpl;
@@ -984,6 +985,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -988,6 +989,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
super.onStartWithNative();
ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags();
@@ -40,7 +40,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
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
@@ -147,6 +147,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -146,6 +146,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedShowSignInCommand,
&feed::kFeedSignedOutViewDemotion,
&feed::kFeedUserInteractionReliabilityReport,
@@ -59,23 +59,23 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE =
"AdaptiveButtonInTopToolbarTranslate";
@@ -501,6 +502,8 @@ public abstract class ChromeFeatureList {
/* Alphabetical: */
@@ -517,6 +518,8 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sAndroidAppIntegration =
new CachedFlag(ANDROID_APP_INTEGRATION, false);
public static final CachedFlag sAndroidHub = new CachedFlag(ANDROID_HUB, false);
+ public static final CachedFlag sAllowUserCertificates =
+ new CachedFlag(ALLOW_USER_CERTIFICATES, false);
public static final CachedFlag sAppMenuMobileSiteOption =
new CachedFlag(APP_MENU_MOBILE_SITE_OPTION, false);
public static final CachedFlag sBackGestureActivityTabProvider =
@@ -642,6 +645,7 @@ public abstract class ChromeFeatureList {
public static final List<CachedFlag> sFlagsCachedFullBrowser = List.of(
// clang-format off
sAndroidAppIntegration,
+ sAllowUserCertificates,
sAppMenuMobileSiteOption,
sBackGestureActivityTabProvider,
sBackGestureRefactorActivityAndroid,
@@ -662,6 +665,7 @@ public abstract class ChromeFeatureList {
public static final List<CachedFlag> sFlagsCachedFullBrowser =
List.of(
+ sAllowUserCertificates,
sAndroidAppIntegration,
sAndroidHub,
sAppMenuMobileSiteOption,
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc
new file mode 100644
--- /dev/null
@@ -111,7 +111,7 @@ new file mode 100644
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
--- a/net/android/java/src/org/chromium/net/X509Util.java
+++ b/net/android/java/src/org/chromium/net/X509Util.java
@@ -545,6 +545,8 @@ public class X509Util {
@@ -544,6 +544,8 @@ public class X509Util {
return userRootBytes.toArray(new byte[0][]);
}
@@ -120,7 +120,7 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j
public static AndroidCertVerifyResult verifyServerCertificates(byte[][] certChain,
String authType,
String host)
@@ -631,6 +633,9 @@ public class X509Util {
@@ -630,6 +632,9 @@ public class X509Util {
isIssuedByKnownRoot = isKnownRoot(root);
}
@@ -44,8 +44,8 @@ new file mode 100644
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -232,6 +232,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
RedirectUtil::ResponseCode::REDIRECT_307_TEMPORARY_REDIRECT, "HSTS");
@@ -287,6 +287,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
}
}
+ if (base::FeatureList::IsEnabled(net::features::kIsCleartextPermitted) == false) {
@@ -63,10 +63,10 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -9,6 +9,10 @@ found in the LICENSE file.
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
@@ -10,6 +10,10 @@ found in the LICENSE file.
<PreferenceCategory
android:key="privacy_section"
android:title="@string/privacy_section_title" />
+ <org.chromium.chrome.browser.about_settings.HyperlinkPreference
+ android:key="proxy"
+ android:title="@string/proxy_title"
@@ -77,7 +77,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -77,6 +77,7 @@ public class PrivacySettings
@@ -78,6 +78,7 @@ public class PrivacySettings
private static final String PREF_SAFE_BROWSING = "safe_browsing";
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
@@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -304,6 +304,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -301,6 +301,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif
@@ -100,7 +100,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -252,6 +252,9 @@
@@ -240,6 +240,9 @@
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings_internal\pref_hash_seed.bin" type="BINDATA" />
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
</if>
@@ -206,7 +206,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h"
#endif
@@ -1389,6 +1391,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1387,6 +1389,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
component_updater::RegisterPrefs(registry);
domain_reliability::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@@ -661,7 +661,7 @@ new file mode 100644
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
@@ -301,6 +301,8 @@ static_library("ui") {
@@ -297,6 +297,8 @@ static_library("ui") {
"webui/metrics_internals/metrics_internals_ui.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@@ -673,7 +673,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -63,6 +63,7 @@
@@ -58,6 +58,7 @@
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
#include "chrome/browser/ui/webui/policy/policy_ui.h"
@@ -681,7 +681,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
#include "chrome/browser/ui/webui/signin_internals_ui.h"
@@ -496,6 +497,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -494,6 +495,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MetricsInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@@ -1127,7 +1127,7 @@ new file mode 100644
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
@@ -56,6 +56,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
@@ -51,6 +51,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
const char kChromeUIChromeSigninHost[] = "chrome-signin";
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
@@ -1136,7 +1136,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
const char kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components";
@@ -450,6 +452,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
@@ -457,6 +459,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost,
kChromeUIMobileSetupHost,
@@ -1144,7 +1144,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
kChromeUINotificationTesterHost,
@@ -759,6 +762,7 @@ const char* const kChromeHostURLs[] = {
@@ -771,6 +774,7 @@ const char* const kChromeHostURLs[] = {
#if !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS)
kChromeUIAppLauncherPageHost,
@@ -1155,7 +1155,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -142,6 +142,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
@@ -139,6 +139,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
extern const char kChromeUINetExportURL[];
@@ -97,14 +97,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -659,6 +659,7 @@ chrome_java_resources = [
@@ -666,6 +666,7 @@ chrome_java_resources = [
"java/res/xml/main_preferences.xml",
"java/res/xml/manage_sync_preferences.xml",
"java/res/xml/phone_as_a_security_key_accessory_filter.xml",
+ "java/res/xml/incognito_preferences.xml",
"java/res/xml/privacy_preferences.xml",
"java/res/xml/privacy_preferences_v2.xml",
"java/res/xml/search_widget_info.xml",
"java/res/xml/tracing_preferences.xml",
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
@@ -116,10 +116,10 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
"java/src/org/chromium/chrome/browser/ActivityUtils.java",
@@ -967,6 +968,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
@@ -975,6 +976,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/ChromeTrackingProtectionDelegate.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionNoticeController.java",
+ "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java",
"java/src/org/chromium/chrome/browser/provider/BaseColumns.java",
"java/src/org/chromium/chrome/browser/provider/BookmarkColumns.java",
@@ -169,18 +169,18 @@ new file mode 100644
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -56,6 +56,11 @@ found in the LICENSE file.
@@ -66,6 +66,11 @@ found in the LICENSE file.
android:key="secure_dns"
android:title="@string/settings_secure_dns_title"
android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings"/>
android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings" />
+ <Preference
+ android:key="incognito_settings"
+ android:title="@string/incognito_settings_title"
+ android:summary="@string/incognito_settings_summary"
+ android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
<Preference
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track"
<PreferenceCategory
android:key="services_category"
android:title="@string/services_category_title">
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java b/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
new file mode 100644
--- /dev/null
@@ -253,7 +253,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.metrics.LaunchCauseMetrics;
@@ -590,9 +594,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -602,9 +606,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModelOrchestrator.onNativeLibraryReady(getTabContentManager());
// For saving non-incognito tab closures for Recent Tabs.
@@ -271,7 +271,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
// Defer initialization of this helper so it triggers after TabModelFilter
// observers.
UndoRefocusHelper.initialize(
@@ -1933,8 +1942,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1973,8 +1982,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
@@ -286,7 +286,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
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
@@ -92,6 +92,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
@@ -94,6 +94,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
@@ -294,7 +294,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
import org.chromium.chrome.browser.device.DeviceClassManager;
@@ -1870,6 +1871,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1885,6 +1886,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@@ -371,15 +371,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -28,6 +28,7 @@ import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
@@ -29,6 +29,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.shared_preferences.SharedPreferencesManager;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ListItemType;
@@ -231,6 +232,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -233,6 +234,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
public List<Pair<Integer, ModelList>> buildContextMenu() {
mShowEphemeralTabNewLabel = null;
@@ -389,7 +389,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
List<Pair<Integer, ModelList>> groupedItems = new ArrayList<>();
if (mParams.isAnchor()) {
@@ -240,6 +244,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -242,6 +246,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (mMode == ContextMenuMode.NORMAL) {
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP));
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB));
@@ -397,7 +397,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) {
linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB));
}
@@ -264,7 +269,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -266,7 +271,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
}
if (FirstRunStatus.getFirstRunFlowComplete()) {
@@ -409,7 +409,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
@@ -67,31 +67,6 @@ public class CustomTabActivityLifecycleUmaTracker
@@ -68,31 +68,6 @@ public class CustomTabActivityLifecycleUmaTracker
private boolean mIsInitialResume = true;
private void recordIncognitoLaunchReason() {
@@ -465,7 +465,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
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
@@ -66,6 +66,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
@@ -67,6 +67,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.components.version_info.VersionInfo;
import org.chromium.device.mojom.ScreenOrientationLockType;
@@ -475,7 +475,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -1263,7 +1266,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -1288,7 +1291,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@Override
public boolean isIncognito() {
@@ -487,7 +487,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
@@ -35,6 +35,7 @@ import org.chromium.base.annotations.NativeMethods;
@@ -36,6 +36,7 @@ import org.chromium.base.Log;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
@@ -506,7 +506,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
/**
* A class containing some utility static methods.
*/
@@ -353,7 +358,16 @@ public class DownloadUtils {
@@ -345,7 +350,16 @@ public class DownloadUtils {
// Offline pages isn't supported in Incognito. This should be checked before calling
// OfflinePageBridge.getForProfile because OfflinePageBridge instance will not be found
// for incognito profile.
@@ -581,7 +581,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
mSelectableListLayout = null;
mRootView = getIncognitoHistoryPlaceholderView();
return;
@@ -601,7 +608,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -626,7 +633,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
private void swapContentView() {
boolean toHistoryClusters;
@@ -590,7 +590,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
return;
} else if (isHistoryClustersUIShowing()) {
toHistoryClusters = false;
@@ -664,11 +671,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -689,11 +696,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
&& mContentView == mHistoryClustersCoordinator.getActivityContentView();
}
@@ -616,7 +616,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
// If Incognito placeholder is shown no need to call any destroy method.
return;
}
@@ -688,7 +708,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -713,7 +733,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
* @return True if manager handles this event, false if it decides to ignore.
*/
public boolean onBackPressed() {
@@ -675,7 +675,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.download.home.DownloadPage;
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
@@ -232,7 +233,8 @@ public class NativePageFactory {
@@ -238,7 +239,8 @@ public class NativePageFactory {
String url, NativePage candidatePage, Tab tab, boolean isIncognito) {
NativePage page;
@@ -714,7 +714,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
mActiveTab = tab;
mTabModelSelector = tabModelSelector;
mShowHistoryManager = showHistoryManager;
@@ -251,6 +261,22 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
@@ -255,6 +265,22 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
*/
public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) {
if (mIsDestroyed) return;
@@ -905,7 +905,7 @@ new file mode 100644
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
@@ -75,6 +75,7 @@ import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
@@ -73,6 +73,7 @@ import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
import org.chromium.chrome.browser.sync.SyncServiceFactory;
import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
@@ -913,7 +913,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
@@ -329,6 +330,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -348,6 +349,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
((PrivacySandboxSettingsBaseFragment) fragment)
.setSnackbarManager(getSnackbarManager());
}
@@ -968,7 +968,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
@@ -25,6 +25,8 @@ import java.util.Arrays;
@@ -26,6 +26,8 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -977,7 +977,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
/**
* Creates historical entries in TabRestoreService.
*/
@@ -58,10 +60,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -59,10 +61,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// HistoricalTabSaver implementation.
@Override
@@ -990,7 +990,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
}
@Override
@@ -113,7 +115,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -114,7 +116,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// If there is only a single valid tab remaining save it individually.
if (validEntries.size() == 1 && validEntries.get(0).isSingleTab()) {
@@ -999,7 +999,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
return;
}
@@ -139,11 +141,12 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -140,11 +142,12 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
CollectionUtil.integerCollectionToIntArray(savedStateVersions));
}
@@ -1014,7 +1014,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
}
/**
@@ -151,7 +154,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -152,7 +155,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
* internal Chrome scheme, about:blank, or a native page and it cannot be incognito.
*/
private boolean shouldSave(Tab tab) {
@@ -1023,7 +1023,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
// {@link GURL#getScheme()} is not available in unit tests.
if (mIgnoreUrlSchemesForTesting) return true;
@@ -223,7 +226,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -224,7 +227,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@NativeMethods
interface Natives {
@@ -1035,7 +1035,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
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
@@ -123,6 +123,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
@@ -125,6 +125,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.base.ActivityWindowAndroid;
import org.chromium.ui.base.DeviceFormFactor;
@@ -1044,7 +1044,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
import org.chromium.ui.base.IntentRequestTracker;
import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -790,7 +792,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -802,7 +804,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
mAppMenuCoordinator.getAppMenuHandler(), mActivityTabProvider,
mToolbarManager.getMenuButtonView(), () -> {
mTabCreatorManagerSupplier.get()
@@ -1067,7 +1067,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
/**
* This class creates various kinds of new tabs and adds them to the right {@link TabModel}.
*/
@@ -517,7 +521,6 @@ public class ChromeTabCreator extends TabCreator {
@@ -512,7 +516,6 @@ public class ChromeTabCreator extends TabCreator {
// TODO(crbug.com/1081924): Clean up the launches from SearchActivity/Chrome.
public Tab launchUrlFromExternalApp(
LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) {
@@ -1098,7 +1098,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -50,6 +50,8 @@ import org.chromium.components.embedder_support.util.UrlUtilities;
@@ -51,6 +51,8 @@ import org.chromium.components.embedder_support.util.UrlUtilities;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.url.GURL;
@@ -1132,7 +1132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
@@ -556,7 +557,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -561,7 +562,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
return ret;
}
},
@@ -1256,8 +1256,8 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -350,6 +350,15 @@ ChromeAutocompleteProviderClient::GetOnDeviceTailModelService() const {
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
@@ -350,6 +350,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const {
return ProviderStateServiceFactory::GetForProfile(profile_);
}
+bool ChromeAutocompleteProviderClient::IsAlwaysIncognitoEnabled() const {
@@ -1275,9 +1275,9 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
@@ -84,6 +84,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient {
const override;
@@ -85,6 +85,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient {
OnDeviceTailModelService* GetOnDeviceTailModelService() const override;
ProviderStateService* GetProviderStateService() const override;
bool IsOffTheRecord() const override;
+ bool IsAlwaysIncognitoEnabled() const override;
bool IsIncognitoProfile() const override;
@@ -1445,7 +1445,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_bridge.cc b/chrom
using base::android::ConvertJavaStringToUTF8;
using base::android::ConvertUTF16ToJavaString;
@@ -782,9 +785,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone(
@@ -786,9 +789,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone(
}
if (offline_page_model_->IsArchiveInInternalDir(offline_page->file_path)) {
@@ -1685,7 +1685,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
#include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
@@ -1781,6 +1782,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1789,6 +1790,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
variations::VariationsService::RegisterProfilePrefs(registry);
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
@@ -1824,7 +1824,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
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
@@ -1431,6 +1431,37 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1322,6 +1322,37 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SYNCED_NO_LINK" desc="A text for the basic tab explaining browsing history for users with history sync. This version is shown when the link to MyActivity is displayed separately.">
Clears history from all synced devices
</message>
@@ -1865,7 +1865,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
@@ -177,6 +177,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
@@ -178,6 +178,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
protected String mFormattedFullUrl;
protected String mUrlForDisplay;
private boolean mOmniboxUpdatedConnectionSecurityIndicatorsEnabled;
@@ -1873,7 +1873,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
// notifyUrlChanged and notifySecurityStateChanged are usually called 3 times across a same
// document navigation. The first call is usually necessary, which updates the UrlBar to reflect
@@ -199,7 +200,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
@@ -200,7 +201,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
public LocationBarModel(Context context, NewTabPageDelegate newTabPageDelegate,
@NonNull UrlFormatter urlFormatter, @NonNull ProfileProvider profileProvider,
@NonNull OfflineStatus offlineStatus,
@@ -1930,7 +1930,7 @@ new file mode 100644
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -3878,6 +3878,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
@@ -3917,6 +3917,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
"net.out_of_process_system_dns_resolution_enabled";
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
@@ -1997,7 +1997,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
--- a/components/content_settings/core/browser/host_content_settings_map.cc
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -280,6 +280,7 @@ struct ContentSettingEntry {
@@ -288,6 +288,7 @@ struct ContentSettingEntry {
HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
bool is_off_the_record,
@@ -2005,7 +2005,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session,
bool should_record_metrics)
@@ -289,6 +290,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
@@ -297,6 +298,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
#endif
prefs_(prefs),
is_off_the_record_(is_off_the_record),
@@ -2013,7 +2013,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
store_last_modified_(store_last_modified),
allow_invalid_secondary_pattern_for_testing_(false),
clock_(base::DefaultClock::GetInstance()) {
@@ -301,7 +303,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
@@ -309,7 +311,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
policy_provider->AddObserver(this);
auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>(
@@ -2033,7 +2033,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session,
bool should_record_metrics);
@@ -527,6 +528,8 @@ class HostContentSettingsMap : public content_settings::Observer,
@@ -531,6 +532,8 @@ class HostContentSettingsMap : public content_settings::Observer,
// Whether this settings map is for an incognito or guest session.
bool is_off_the_record_;
@@ -2056,7 +2056,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/compon
diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/components/omnibox/browser/autocomplete_provider_client.h
--- a/components/omnibox/browser/autocomplete_provider_client.h
+++ b/components/omnibox/browser/autocomplete_provider_client.h
@@ -136,6 +136,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
@@ -138,6 +138,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
virtual bool IsOffTheRecord() const = 0;
virtual bool IsIncognitoProfile() const = 0;
virtual bool IsGuestSession() const = 0;
@@ -2067,7 +2067,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/compone
diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc
--- a/components/omnibox/browser/base_search_provider.cc
+++ b/components/omnibox/browser/base_search_provider.cc
@@ -346,7 +346,7 @@ bool BaseSearchProvider::CanSendZeroSuggestRequest(
@@ -349,7 +349,7 @@ bool BaseSearchProvider::CanSendZeroSuggestRequest(
}
// Don't make a suggest request if in incognito mode.
@@ -2079,7 +2079,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
--- a/components/omnibox/browser/search_provider.cc
+++ b/components/omnibox/browser/search_provider.cc
@@ -780,7 +780,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
@@ -781,7 +781,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
// keyword input to a keyword suggest server, if any.)
const TemplateURL* default_url = providers_.GetDefaultProviderURL();
const TemplateURL* keyword_url = providers_.GetKeywordProviderURL();
@@ -15,14 +15,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../menu/bookmark_toolbar_menu_improved.xml | 14 +
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
.../app/bookmarks/BookmarkActivity.java | 32 ++
.../browser/bookmarks/BookmarkBridge.java | 278 +++++++++++++++++
.../browser/bookmarks/BookmarkBridge.java | 280 +++++++++++++++++
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../bookmarks/BookmarkManagerCoordinator.java | 9 +
.../bookmarks/BookmarkManagerMediator.java | 23 ++
.../browser/bookmarks/BookmarkPage.java | 8 +-
.../browser/bookmarks/BookmarkToolbar.java | 23 ++
.../bookmarks/BookmarkToolbarMediator.java | 4 +
.../bookmarks/BookmarkToolbarProperties.java | 7 +-
.../bookmarks/BookmarkToolbarProperties.java | 8 +-
.../bookmarks/BookmarkToolbarViewBinder.java | 6 +
.../native_page/NativePageFactory.java | 11 +-
chrome/browser/BUILD.gn | 11 +-
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
ui/shell_dialogs/select_file_dialog_linux.cc | 4 +
ui/shell_dialogs/select_file_dialog_linux.h | 2 +
ui/shell_dialogs/select_file_dialog_win.cc | 5 +
43 files changed, 917 insertions(+), 29 deletions(-)
43 files changed, 920 insertions(+), 29 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-bookmark-import-export-actions.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-bookmark-import-export-actions.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/add-bookmark-import-export-actions.inc
@@ -149,7 +149,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
@@ -21,6 +21,11 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
@@ -21,6 +21,11 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.embedder_support.util.UrlConstants;
@@ -242,7 +242,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import android.text.TextUtils;
import android.util.Pair;
@@ -37,6 +50,32 @@ import org.chromium.url.GURL;
@@ -38,6 +51,33 @@ import org.chromium.url.GURL;
import java.util.ArrayList;
import java.util.List;
@@ -251,7 +251,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+import org.chromium.chrome.browser.document.ChromeLauncherActivity;
+import org.chromium.chrome.browser.IntentHandler;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.base.shared_preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.ui.base.PageTransition;
+import org.chromium.ui.base.WindowAndroid;
@@ -273,10 +274,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+import java.io.File;
+
/**
* Provides the communication channel for Android to fetch and manipulate the
* bookmark model stored in native.
@@ -435,6 +474,209 @@ class BookmarkBridge {
mNativeBookmarkBridge, id.getId(), id.getType());
* Provides the communication channel for Android to fetch and manipulate the bookmark model stored
* in native.
@@ -451,6 +491,209 @@ class BookmarkBridge {
.getTotalBookmarkCount(mNativeBookmarkBridge, id.getId(), id.getType());
}
+ /**
@@ -317,7 +318,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
+
+ // get last exported uri path, if any
+ SharedPreferencesManager sharedPrefs = SharedPreferencesManager.getInstance();
+ SharedPreferencesManager sharedPrefs = ChromeSharedPreferences.getInstance();
+ String bookmarksPath = sharedPrefs.readString(ChromePreferenceKeys.BOOKMARKS_LAST_EXPORT_URI, standardBoorkmarkName);
+ Uri lastSelectedUri = Uri.parse(bookmarksPath);
+
@@ -484,8 +485,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+
/**
* Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks.
@@ -931,6 +1173,39 @@ class BookmarkBridge {
*
@@ -979,6 +1222,39 @@ class BookmarkBridge {
depthList.add(depth);
}
@@ -500,7 +501,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ }
+ });
+ } else {
+ SharedPreferencesManager sharedPrefs = SharedPreferencesManager.getInstance();
+ SharedPreferencesManager sharedPrefs = ChromeSharedPreferences.getInstance();
+ sharedPrefs.writeString(ChromePreferenceKeys.BOOKMARKS_LAST_EXPORT_URI, bookmarksPath);
+
+ Context context = ContextUtils.getApplicationContext();
@@ -525,22 +526,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<>();
for (int i = 0; i < left.length; i++) {
@@ -961,6 +1236,9 @@ class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, long id, int type);
@@ -1024,6 +1300,10 @@ class BookmarkBridge {
void getChildIds(
long nativeBookmarkBridge, long id, int type, List<BookmarkId> bookmarksList);
+ void importBookmarks(long nativeBookmarkBridge, BookmarkBridge caller, WindowAndroid window);
+ void exportBookmarks(long nativeBookmarkBridge, BookmarkBridge caller, WindowAndroid window,
+ String export_path);
+
BookmarkId getChildAt(long nativeBookmarkBridge, long id, int type, int index);
int getTotalBookmarkCount(long nativeBookmarkBridge, long id, int type);
void setBookmarkTitle(long nativeBookmarkBridge, long id, int type, String title);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
@@ -60,6 +60,16 @@ public interface BookmarkDelegate {
*/
void openBookmarksInNewTabs(List<BookmarkId> bookmark, boolean incognito);
@@ -66,6 +66,16 @@ public interface BookmarkDelegate {
/** Shows the search UI. */
void openSearchUi();
+ /**
+ * Imports bookmarks from user-selected file.
@@ -552,9 +554,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ */
+ void exportBookmarks();
+
/**
* Shows the search UI.
*/
/** Add an observer to bookmark UI changes. */
void addUiObserver(BookmarkUiObserver observer);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java
@@ -567,7 +569,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType;
import org.chromium.ui.modelutil.MVCListAdapter.ModelList;
@@ -233,6 +235,13 @@ public class BookmarkManagerCoordinator
@@ -326,6 +328,13 @@ public class BookmarkManagerCoordinator
// Public API implementation.
@@ -578,9 +580,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ mMediator.setWindow(window, modalDialogManager);
+ }
+
/**
* Destroys and cleans up itself. This must be called after done using this class.
*/
/** Destroys and cleans up itself. This must be called after done using this class. */
public void onDestroyed() {
RecordUserAction.record("MobileBookmarkManagerClose");
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
@@ -600,10 +602,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ private ActivityWindowAndroid mWindowAndroid;
+ private ModalDialogManager mModalDialogManager;
+
/**
* Keeps track of whether drag is enabled / active for bookmark lists.
*/
@@ -513,6 +518,14 @@ class BookmarkManagerMediator
/** Keeps track of whether drag is enabled / active for bookmark lists. */
private class BookmarkDragStateDelegate implements DragStateDelegate {
private BookmarkDelegate mBookmarkDelegate;
@@ -566,6 +571,14 @@ class BookmarkManagerMediator
mNativePage = nativePage;
}
@@ -615,10 +617,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ mModalDialogManager = modalDialogManager;
+ }
+
/**
* See BookmarkManager(Coordinator)#updateForUrl
*/
@@ -689,6 +702,16 @@ class BookmarkManagerMediator
/** See BookmarkManager(Coordinator)#updateForUrl */
void updateForUrl(String url) {
// Bookmark model is null if the manager has been destroyed.
@@ -742,6 +755,16 @@ class BookmarkManagerMediator
}
}
@@ -646,20 +648,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+import org.chromium.ui.modaldialog.ModalDialogManager;
+import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
/**
* A native page holding a {@link BookmarkManagerCoordinator} on _tablet_.
@@ -29,7 +32,7 @@ public class BookmarkPage extends BasicNativePage {
* @param host A NativePageHost to load urls.
*/
public BookmarkPage(ComponentName componentName, SnackbarManager snackbarManager,
- boolean isIncognito, NativePageHost host) {
+ boolean isIncognito, NativePageHost host, ChromeActivity activity) {
/** A native page holding a {@link BookmarkManagerCoordinator} on _tablet_. */
public class BookmarkPage extends BasicNativePage {
@@ -31,7 +34,7 @@ public class BookmarkPage extends BasicNativePage {
ComponentName componentName,
SnackbarManager snackbarManager,
boolean isIncognito,
- NativePageHost host) {
+ NativePageHost host, ChromeActivity activity) {
super(host);
mBookmarkManagerCoordinator =
@@ -37,6 +40,9 @@ public class BookmarkPage extends BasicNativePage {
snackbarManager, Profile.getLastUsedRegularProfile(),
new BookmarkUiPrefs(SharedPreferencesManager.getInstance()));
@@ -44,6 +47,9 @@ public class BookmarkPage extends BasicNativePage {
Profile.getLastUsedRegularProfile(),
new BookmarkUiPrefs(ChromeSharedPreferences.getInstance()));
mBookmarkManagerCoordinator.setBasicNativePage(this);
+ mBookmarkManagerCoordinator.setWindow(activity.getWindowAndroid(),
+ new ModalDialogManager(
@@ -670,7 +672,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
@@ -119,6 +119,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -120,6 +120,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
setOnMenuItemClickListener(dragEnabled ? null : this);
}
@@ -688,7 +690,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
void setSearchButtonVisible(boolean visible) {
// The improved bookmarks experience embeds search in the list.
if (BookmarkFeatures.isAndroidImprovedBookmarksEnabled()) return;
@@ -172,6 +183,8 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -173,6 +184,8 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
void setCurrentFolder(BookmarkId folder) {
mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
@@ -697,7 +699,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
void setNavigateBackRunnable(Runnable navigateBackRunnable) {
@@ -191,6 +204,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -192,6 +205,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
hideOverflowMenu();
@@ -711,7 +713,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
return mMenuIdClickedFunction.apply(menuItem.getItemId());
}
@@ -211,6 +231,9 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -212,6 +232,9 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
protected void showNormalView() {
super.showNormalView();
@@ -724,22 +726,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
@@ -109,6 +109,10 @@ class BookmarkToolbarMediator implements BookmarkUiObserver, DragListener,
bookmarkDelegateSupplier.onAvailable((bookmarkDelegate) -> {
mBookmarkDelegate = bookmarkDelegate;
mModel.set(BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE, this::onNavigateBack);
+ mModel.set(
+ BookmarkToolbarProperties.IMPORT_BOOKMARK_RUNNABLE, mBookmarkDelegate::importBookmarks);
+ mModel.set(
+ BookmarkToolbarProperties.EXPORT_BOOKMARK_RUNNABLE, mBookmarkDelegate::exportBookmarks);
mBookmarkDelegate.addUiObserver(this);
mBookmarkDelegate.notifyStateChange(this);
});
@@ -129,6 +129,10 @@ class BookmarkToolbarMediator
mBookmarkDelegate = bookmarkDelegate;
mModel.set(
BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE, this::onNavigateBack);
+ mModel.set(
+ BookmarkToolbarProperties.IMPORT_BOOKMARK_RUNNABLE, mBookmarkDelegate::importBookmarks);
+ mModel.set(
+ BookmarkToolbarProperties.EXPORT_BOOKMARK_RUNNABLE, mBookmarkDelegate::exportBookmarks);
mBookmarkDelegate.addUiObserver(this);
mBookmarkDelegate.notifyStateChange(this);
});
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
@@ -66,11 +66,16 @@ class BookmarkToolbarProperties {
new WritableObjectPropertyKey<>();
@@ -69,6 +69,10 @@ class BookmarkToolbarProperties {
static final WritableObjectPropertyKey<Runnable> NAVIGATE_BACK_RUNNABLE =
new WritableObjectPropertyKey<>();
+ static final WritableObjectPropertyKey<Runnable> IMPORT_BOOKMARK_RUNNABLE =
@@ -747,19 +749,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ static final WritableObjectPropertyKey<Runnable> EXPORT_BOOKMARK_RUNNABLE =
+ new WritableObjectPropertyKey<>();
static final PropertyKey[] ALL_KEYS = {BOOKMARK_MODEL, BOOKMARK_OPENER, SELECTION_DELEGATE,
TITLE, BOOKMARK_UI_MODE, SOFT_KEYBOARD_VISIBLE, IS_DIALOG_UI, DRAG_ENABLED,
SEARCH_BUTTON_VISIBLE, EDIT_BUTTON_VISIBLE, NEW_FOLDER_BUTTON_VISIBLE,
NEW_FOLDER_BUTTON_ENABLED, NAVIGATION_BUTTON_STATE, CURRENT_FOLDER, SORT_MENU_IDS,
SORT_MENU_IDS_ENABLED, CHECKED_SORT_MENU_ID, CHECKED_VIEW_MENU_ID,
- MENU_ID_CLICKED_FUNCTION, NAVIGATE_BACK_RUNNABLE, FAKE_SELECTION_STATE_CHANGE};
+ MENU_ID_CLICKED_FUNCTION, NAVIGATE_BACK_RUNNABLE, FAKE_SELECTION_STATE_CHANGE,
+ IMPORT_BOOKMARK_RUNNABLE, EXPORT_BOOKMARK_RUNNABLE};
static final PropertyKey[] ALL_KEYS = {
BOOKMARK_MODEL,
@@ -91,6 +95,8 @@ class BookmarkToolbarProperties {
CHECKED_VIEW_MENU_ID,
MENU_ID_CLICKED_FUNCTION,
NAVIGATE_BACK_RUNNABLE,
- FAKE_SELECTION_STATE_CHANGE
+ FAKE_SELECTION_STATE_CHANGE,
+ IMPORT_BOOKMARK_RUNNABLE,
+ EXPORT_BOOKMARK_RUNNABLE
};
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
@@ -61,6 +61,12 @@ class BookmarkToolbarViewBinder {
@@ -59,6 +59,12 @@ class BookmarkToolbarViewBinder {
model.get(BookmarkToolbarProperties.CHECKED_VIEW_MENU_ID));
} else if (key == BookmarkToolbarProperties.CURRENT_FOLDER) {
bookmarkToolbar.setCurrentFolder(model.get(BookmarkToolbarProperties.CURRENT_FOLDER));
@@ -831,7 +836,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -225,6 +225,8 @@ static_library("browser") {
@@ -208,6 +208,8 @@ static_library("browser") {
"bluetooth/chrome_bluetooth_delegate_impl_client.h",
"bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h",
@@ -840,7 +845,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"bookmarks/chrome_bookmark_client.cc",
"bookmarks/chrome_bookmark_client.h",
"bookmarks/managed_bookmark_service_factory.cc",
@@ -1968,6 +1970,13 @@ static_library("browser") {
@@ -1974,6 +1976,13 @@ static_library("browser") {
]
}
@@ -854,7 +859,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -3697,8 +3706,6 @@ static_library("browser") {
@@ -3691,8 +3700,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@@ -996,7 +1001,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
}
void BookmarkBridge::Destroy(JNIEnv*) {
@@ -558,6 +665,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -556,6 +663,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@@ -1373,11 +1378,11 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
+ &kBookmarksExportUseSaf,
&kCriticalPersistedTabData,
&kCreateNewTabInitializeRenderer,
&kCCTBackgroundTab,
&kCCTBottomBarSwipeUpGesture,
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
@@ -475,6 +475,7 @@ public abstract class ChromeFeatureList {
@@ -489,6 +489,7 @@ public abstract class ChromeFeatureList {
public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
"UseLibunwindstackNativeUnwinderAndroid";
public static final String USER_BYPASS_UI = "UserBypassUI";
@@ -1388,7 +1393,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc
--- a/chrome/browser/importer/profile_writer.cc
+++ b/chrome/browser/importer/profile_writer.cc
@@ -106,12 +106,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
@@ -105,12 +105,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
HistoryServiceFactory::GetForProfile(profile_,
ServiceAccessType::EXPLICIT_ACCESS)
->AddPagesWithDetails(page, visit_source);
@@ -1403,7 +1408,7 @@ diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer
}
void ProfileWriter::AddHomepage(const GURL& home_page) {
@@ -132,6 +134,16 @@ void ProfileWriter::AddBookmarks(
@@ -131,6 +133,16 @@ void ProfileWriter::AddBookmarks(
return;
BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_);
@@ -1455,7 +1460,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -992,6 +994,7 @@ public final class ChromePreferenceKeys {
@@ -986,6 +988,7 @@ public final class ChromePreferenceKeys {
AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
@@ -1466,7 +1471,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
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
@@ -245,6 +245,24 @@ CHAR_LIMIT guidelines:
@@ -248,6 +248,24 @@ CHAR_LIMIT guidelines:
<message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR_LIMIT=32]">
Sites
</message>
@@ -25,10 +25,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -74,6 +74,16 @@ found in the LICENSE file.
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
@@ -43,6 +43,16 @@ found in the LICENSE file.
android:key="do_not_track"
android:title="@string/do_not_track_title"/>
android:title="@string/do_not_track_title"
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings" />
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="allow_custom_tab_intents"
+ android:title="@string/allow_custom_tab_intents_title"
@@ -40,12 +40,12 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:summary="@string/open_external_links_incognito_summary"
+ android:defaultValue="false" />
<Preference
android:key="privacy_sandbox"
android:title="@string/prefs_privacy_sandbox"
android:key="preload_pages"
android:title="@string/preload_pages_title"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
@@ -55,6 +55,9 @@ import java.lang.annotation.Retention;
@@ -56,6 +56,9 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Set;
@@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
/**
* Dispatches incoming intents to the appropriate activity based on the current configuration and
* Intent fired.
@@ -246,6 +249,9 @@ public class LaunchIntentDispatcher {
@@ -247,6 +250,9 @@ public class LaunchIntentDispatcher {
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
@@ -65,7 +65,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent)
|| !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
return false;
@@ -265,6 +271,10 @@ public class LaunchIntentDispatcher {
@@ -266,6 +272,10 @@ public class LaunchIntentDispatcher {
newIntent.setData(uri);
newIntent.setClassName(context, CustomTabActivity.class.getName());
@@ -76,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
// Since configureIntentForResizableCustomTab() might change the componenet/class
// associated with the passed intent, it needs to be called after #setClassName(context,
// CustomTabActivity.class.getName());
@@ -411,6 +421,17 @@ public class LaunchIntentDispatcher {
@@ -412,6 +422,17 @@ public class LaunchIntentDispatcher {
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
@@ -120,7 +120,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -97,6 +97,9 @@ public class PrivacySettings
@@ -98,6 +98,9 @@ public class PrivacySettings
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
@@ -130,7 +130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
getActivity().setTitle(R.string.prefs_privacy_security);
@@ -247,6 +250,9 @@ public class PrivacySettings
@@ -246,6 +249,9 @@ public class PrivacySettings
new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
}
@@ -140,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -263,6 +269,14 @@ public class PrivacySettings
@@ -262,6 +268,14 @@ public class PrivacySettings
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
UserPrefs.get(getProfile())
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@@ -155,7 +155,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -287,6 +301,16 @@ public class PrivacySettings
@@ -286,6 +300,16 @@ public class PrivacySettings
UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@@ -191,7 +191,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso
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
@@ -5238,6 +5238,20 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -5165,6 +5165,20 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_NEAR_OOM_INTERVENTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can resume what it was doing.">
Resume
</message>
+8 -8
View File
@@ -40,15 +40,15 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java b/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser;
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser;
import org.jni_zero.CalledByNative;
import org.chromium.base.ObserverList;
import org.chromium.base.annotations.CalledByNative;
+import org.chromium.chrome.browser.incognito.IncognitoNotificationManager;
/**
* Watches for when Chrome is told to restart itself.
@@ -42,6 +43,7 @@ public class ApplicationLifetime {
@@ -43,6 +44,7 @@ public class ApplicationLifetime {
@CalledByNative
public static void terminate(boolean restart) {
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
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
@@ -236,6 +236,8 @@ import java.util.Locale;
@@ -242,6 +242,8 @@ import java.util.Locale;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
/**
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
* are accessible via a chrome specific tab switching UI.
@@ -2271,6 +2273,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2337,6 +2339,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed");
@@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
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
@@ -60,6 +60,7 @@ import org.chromium.chrome.R;
@@ -62,6 +62,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ActivityUtils;
import org.chromium.chrome.browser.AppHooks;
@@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
import org.chromium.chrome.browser.ChromeApplicationImpl;
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
@@ -2391,6 +2392,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2404,6 +2405,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
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
@@ -3859,6 +3859,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3765,6 +3765,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
Dark theme
</message>
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
--- a/components/omnibox/browser/autocomplete_controller.cc
+++ b/components/omnibox/browser/autocomplete_controller.cc
@@ -18,6 +18,7 @@
@@ -20,6 +20,7 @@
#include "base/barrier_callback.h"
#include "base/check_op.h"
#include "base/containers/contains.h"
@@ -26,7 +26,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#include "base/feature_list.h"
#include "base/format_macros.h"
#include "base/functional/bind.h"
@@ -305,6 +306,15 @@ AutocompleteController::AutocompleteController(
@@ -334,6 +335,15 @@ AutocompleteController::AutocompleteController(
provider_client_->GetOmniboxTriggeredFeatureService()),
steady_state_omnibox_position_(
metrics::OmniboxEventProto::UNKNOWN_POSITION) {
@@ -66,7 +66,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
#include "base/functional/callback.h"
#include "base/i18n/break_iterator.h"
#include "base/i18n/case_conversion.h"
@@ -649,6 +650,9 @@ void SearchProvider::Run(bool query_is_private) {
@@ -650,6 +651,9 @@ void SearchProvider::Run(bool query_is_private) {
}
void SearchProvider::DoHistoryQuery(bool minimal_changes) {
@@ -92,7 +92,7 @@ new file mode 100644
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
--- a/net/socket/client_socket_pool_manager.cc
+++ b/net/socket/client_socket_pool_manager.cc
@@ -19,6 +19,10 @@
@@ -21,6 +21,10 @@
#include "net/socket/client_socket_handle.h"
#include "net/socket/client_socket_pool.h"
#include "net/socket/connect_job.h"
@@ -103,7 +103,7 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
#include "net/ssl/ssl_config.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "url/gurl.h"
@@ -172,6 +176,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
@@ -174,6 +178,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
int ClientSocketPoolManager::max_sockets_per_group(
HttpNetworkSession::SocketPoolType pool_type) {
DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES);
@@ -45,9 +45,9 @@ new file mode 100644
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1094,6 +1094,7 @@ component("net") {
@@ -1096,6 +1096,7 @@ component("net") {
"//build:chromeos_buildflags",
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
"//components/miracle_parameter/common",
"//net/http:transport_security_state_generated_files",
+ "//components/network_session_configurator/common"
]
@@ -56,7 +56,7 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
--- a/net/dns/host_resolver_manager.cc
+++ b/net/dns/host_resolver_manager.cc
@@ -110,6 +110,7 @@
@@ -111,6 +111,7 @@
#include "net/log/net_log_event_type.h"
#include "net/log/net_log_source.h"
#include "net/log/net_log_source_type.h"
@@ -64,7 +64,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
#include "net/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h"
#include "net/url_request/url_request_context.h"
@@ -685,6 +686,9 @@ class HostResolverManager::RequestImpl
@@ -684,6 +685,9 @@ class HostResolverManager::RequestImpl
// request source is LOCAL_ONLY. This is due to LOCAL_ONLY requiring a
// synchronous response, so it cannot wait on an async probe result and
// cannot make assumptions about reachability.
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -103,6 +103,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
@@ -104,6 +104,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) {
WebRuntimeFeatures::EnableMediaSession(false);
}
@@ -59,10 +59,10 @@ new file mode 100644
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
--- a/third_party/blink/public/platform/web_runtime_features.h
+++ b/third_party/blink/public/platform/web_runtime_features.h
@@ -70,6 +70,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase {
static void EnableFingerprintingCanvasMeasureTextNoise(bool);
@@ -71,6 +71,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase {
static void EnableFingerprintingCanvasImageDataNoise(bool);
static void EnableFluentScrollbars(bool);
static void EnableFluentOverlayScrollbars(bool);
+ static void EnableVibration(bool);
WebRuntimeFeatures() = delete;
@@ -104,7 +104,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2638,6 +2638,10 @@
@@ -2718,6 +2718,10 @@
status: {"Android": "stable"},
base_feature: "none",
},
@@ -14,9 +14,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1845,6 +1845,11 @@ config("default_warnings") {
# TODO(crbug.com/1412713) Evaluate and possibly enable.
"-Wno-deprecated-this-capture",
@@ -1889,6 +1889,11 @@ config("default_warnings") {
# TODO(crbug.com/1495100): Evaluate and possibly enable.
"-Wno-delayed-template-parsing-in-cxx20",
]
+ if (skip_clangd_unsupported_options) {
+ cflags -= [
@@ -36,8 +36,8 @@ diff --git a/build_overrides/build.gni b/build_overrides/build.gni
+ # Allows clangd builds by suppressing unsupported parameters
+ skip_clangd_unsupported_options = false
+
# Allows third-party repositories to use C++17 for MSVC builds
# TODO(https://crbug.com/pdfium/1932) Remove once pdfium builds on MSVC C++20
msvc_use_cxx17 = false
# Allow projects that wish to stay on C++17 to override Chromium's default.
# TODO(crbug.com/1402249): evaluate removing this end of 2023
use_cxx17 = false
--
2.25.1
@@ -56,7 +56,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../one_time_permissions_tracker.cc | 33 +++++++-
.../one_time_permissions_tracker.h | 5 +-
.../one_time_permissions_tracker_factory.cc | 2 +-
.../embedded_permission_prompt_ask_view.cc | 2 +-
.../permissions/embedded_permission_prompt.cc | 2 +-
.../permission_prompt_bubble_base_view.cc | 2 +-
.../browser/content_autofill_driver.cc | 64 ++++++++-------
.../content/browser/content_autofill_driver.h | 2 +-
@@ -67,7 +67,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/website_preference_bridge.cc | 7 +-
.../strings/android/browser_ui_strings.grd | 5 ++
components/content_settings/android/BUILD.gn | 1 +
.../core/browser/content_settings_utils.cc | 36 +++++++++
.../core/browser/content_settings_utils.cc | 36 ++++++++
.../core/browser/content_settings_utils.h | 6 ++
.../common/content_settings_constraints.h | 11 +++
.../page_info/PageInfoController.java | 4 +-
@@ -76,7 +76,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/page_info/page_info.cc | 2 +
components/page_info/page_info.h | 1 +
.../permissions/PermissionDialogDelegate.java | 13 +++
.../permissions/PermissionDialogModel.java | 81 ++++++++++++++++++-
.../PermissionDialogModelFactory.java | 82 ++++++++++++++++++-
.../permission_dialog_delegate.cc | 19 +++++
.../permission_dialog_delegate.h | 1 +
.../permission_prompt_android.cc | 8 ++
@@ -89,9 +89,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/permissions/permission_prompt.h | 3 +-
components/permissions/permission_request.cc | 30 ++++++-
components/permissions/permission_request.h | 16 +++-
.../permissions/permission_request_manager.cc | 45 +++++++----
.../permissions/permission_request_manager.cc | 45 ++++++----
.../permissions/permission_request_manager.h | 11 ++-
39 files changed, 547 insertions(+), 92 deletions(-)
39 files changed, 548 insertions(+), 92 deletions(-)
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
@@ -230,18 +230,18 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
- return std::make_unique<OneTimePermissionsTracker>();
+ return std::make_unique<OneTimePermissionsTracker>(context);
}
diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc b/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
--- a/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
+++ b/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
@@ -34,7 +34,7 @@ void EmbeddedPermissionPromptAskView::RunButtonCallback(int button_id) {
diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
--- a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
+++ b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
@@ -177,7 +177,7 @@ void EmbeddedPermissionPrompt::Allow() {
}
void EmbeddedPermissionPrompt::AllowThisTime() {
- delegate_->AcceptThisTime();
+ delegate_->AcceptThisTime(content_settings::LifetimeMode::OnlyThisTime);
CloseCurrentViewAndMaybeShowNext(/*first_prompt=*/false);
}
if (delegate()) {
if (button == ButtonType::kAllowThisTime) {
- delegate()->AcceptThisTime();
+ delegate()->AcceptThisTime(content_settings::LifetimeMode::OnlyThisTime);
} else if (button == ButtonType::kAllow) {
delegate()->Accept();
}
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
@@ -257,7 +257,7 @@ diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_v
diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc
--- a/components/autofill/content/browser/content_autofill_driver.cc
+++ b/components/autofill/content/browser/content_autofill_driver.cc
@@ -412,8 +412,8 @@ void ContentAutofillDriver::FormsSeen(
@@ -489,8 +489,8 @@ void ContentAutofillDriver::FormsSeen(
const std::vector<FormGlobalId>& removed_forms) {
target->GetAutofillManager().OnFormsSeen(
WithNewVersion(updated_forms), removed_forms);
@@ -268,7 +268,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(updated_forms), removed_forms);
}
});
@@ -443,8 +443,8 @@ void ContentAutofillDriver::FormSubmitted(
@@ -520,8 +520,8 @@ void ContentAutofillDriver::FormSubmitted(
}
target->GetAutofillManager().OnFormSubmitted(
WithNewVersion(form), known_success, submission_source);
@@ -279,7 +279,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), known_success, submission_source);
}
});
@@ -468,8 +468,8 @@ void ContentAutofillDriver::TextFieldDidChange(const FormData& raw_form,
@@ -545,8 +545,8 @@ void ContentAutofillDriver::TextFieldDidChange(const FormData& raw_form,
base::TimeTicks timestamp) {
target->GetAutofillManager().OnTextFieldDidChange(
WithNewVersion(form), field, bounding_box, timestamp);
@@ -290,7 +290,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), field, bounding_box, timestamp);
}
});
@@ -491,8 +491,8 @@ void ContentAutofillDriver::TextFieldDidScroll(const FormData& raw_form,
@@ -568,8 +568,8 @@ void ContentAutofillDriver::TextFieldDidScroll(const FormData& raw_form,
const FormFieldData& field, const gfx::RectF& bounding_box) {
target->GetAutofillManager().OnTextFieldDidScroll(WithNewVersion(form),
field, bounding_box);
@@ -301,7 +301,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), field, bounding_box);
}
});
@@ -515,8 +515,8 @@ void ContentAutofillDriver::SelectControlDidChange(
@@ -592,8 +592,8 @@ void ContentAutofillDriver::SelectControlDidChange(
const FormFieldData& field, const gfx::RectF& bounding_box) {
target->GetAutofillManager().OnSelectControlDidChange(
WithNewVersion(form), field, bounding_box);
@@ -312,7 +312,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), field, bounding_box);
}
});
@@ -541,8 +541,8 @@ void ContentAutofillDriver::AskForValuesToFill(
@@ -618,8 +618,8 @@ void ContentAutofillDriver::AskForValuesToFill(
AutofillSuggestionTriggerSource trigger_source) {
target->GetAutofillManager().OnAskForValuesToFill(
WithNewVersion(form), field, bounding_box, trigger_source);
@@ -323,7 +323,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), field, bounding_box, trigger_source);
}
});
@@ -556,8 +556,8 @@ void ContentAutofillDriver::HidePopup() {
@@ -633,8 +633,8 @@ void ContentAutofillDriver::HidePopup() {
DCHECK(!target->IsPrerendering())
<< "We should never affect UI while prerendering";
target->GetAutofillManager().OnHidePopup();
@@ -334,7 +334,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
});
}
@@ -569,8 +569,8 @@ void ContentAutofillDriver::FocusNoLongerOnForm(bool had_interacted_form) {
@@ -646,8 +646,8 @@ void ContentAutofillDriver::FocusNoLongerOnForm(bool had_interacted_form) {
this, had_interacted_form,
[](autofill::AutofillDriver* target, bool had_interacted_form) {
target->GetAutofillManager().OnFocusNoLongerOnForm(had_interacted_form);
@@ -345,7 +345,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
});
}
@@ -590,15 +590,15 @@ void ContentAutofillDriver::FocusOnFormField(const FormData& raw_form,
@@ -667,15 +667,15 @@ void ContentAutofillDriver::FocusOnFormField(const FormData& raw_form,
const FormFieldData& field, const gfx::RectF& bounding_box) {
target->GetAutofillManager().OnFocusOnFormField(WithNewVersion(form),
field, bounding_box);
@@ -365,7 +365,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
}
});
}
@@ -614,8 +614,8 @@ void ContentAutofillDriver::DidFillAutofillFormData(const FormData& raw_form,
@@ -691,8 +691,8 @@ void ContentAutofillDriver::DidFillAutofillFormData(const FormData& raw_form,
base::TimeTicks timestamp) {
target->GetAutofillManager().OnDidFillAutofillFormData(
WithNewVersion(form), timestamp);
@@ -376,7 +376,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), timestamp);
}
});
@@ -627,8 +627,8 @@ void ContentAutofillDriver::DidEndTextFieldEditing() {
@@ -704,8 +704,8 @@ void ContentAutofillDriver::DidEndTextFieldEditing() {
}
router().DidEndTextFieldEditing(this, [](autofill::AutofillDriver* target) {
target->GetAutofillManager().OnDidEndTextFieldEditing();
@@ -387,7 +387,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
});
}
@@ -643,8 +643,8 @@ void ContentAutofillDriver::SelectOrSelectListFieldOptionsDidChange(
@@ -720,8 +720,8 @@ void ContentAutofillDriver::SelectOrSelectListFieldOptionsDidChange(
cast(target)
->GetAutofillManager()
.OnSelectOrSelectListFieldOptionsDidChange(WithNewVersion(form));
@@ -398,7 +398,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form));
}
});
@@ -666,8 +666,8 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue(
@@ -743,8 +743,8 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue(
const FormFieldData& field, const std::u16string& old_value) {
target->GetAutofillManager().OnJavaScriptChangedAutofilledValue(
WithNewVersion(form), field, old_value);
@@ -409,7 +409,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), field, old_value);
}
});
@@ -682,8 +682,8 @@ void ContentAutofillDriver::OnContextMenuShownInField(
@@ -759,8 +759,8 @@ void ContentAutofillDriver::OnContextMenuShownInField(
const FieldGlobalId& field_global_id) {
target->GetAutofillManager().OnContextMenuShownInField(form_global_id,
field_global_id);
@@ -420,7 +420,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
});
}
@@ -708,6 +708,10 @@ ContentAutofillDriver::GetAutofillAgent() {
@@ -785,6 +785,10 @@ ContentAutofillDriver::GetAutofillAgent() {
return autofill_agent_;
}
@@ -434,7 +434,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
diff --git a/components/autofill/content/browser/content_autofill_driver.h b/components/autofill/content/browser/content_autofill_driver.h
--- a/components/autofill/content/browser/content_autofill_driver.h
+++ b/components/autofill/content/browser/content_autofill_driver.h
@@ -132,7 +132,7 @@ class ContentAutofillDriver : public AutofillDriver,
@@ -133,7 +133,7 @@ class ContentAutofillDriver : public AutofillDriver,
autofill_manager_ = std::move(autofill_manager);
secondary_autofill_manager_ = std::move(secondary_autofill_manager);
}
@@ -506,7 +506,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
import org.chromium.components.embedder_support.util.Origin;
import org.chromium.content_public.browser.BrowserContextHandle;
@@ -558,6 +559,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -551,6 +552,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
}
}
@@ -518,7 +518,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void setUpClearDataPreference() {
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage();
@@ -1024,6 +1030,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1034,6 +1040,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
if (contentType == mHighlightedPermission) {
switchPreference.setBackgroundColor(mHighlightColor);
}
@@ -532,15 +532,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
@@ -9,6 +9,7 @@ import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.NativeMethods;
@@ -10,6 +10,7 @@ import org.jni_zero.NativeMethods;
import org.chromium.base.Callback;
import org.chromium.components.content_settings.ContentSettingValues;
import org.chromium.components.content_settings.ContentSettingsType;
+import org.chromium.components.content_settings.SessionModel;
import org.chromium.components.location.LocationUtils;
import org.chromium.content_public.browser.BrowserContextHandle;
import org.chromium.url.GURL;
@@ -55,7 +56,8 @@ public class WebsitePreferenceBridge {
@@ -56,7 +57,8 @@ public class WebsitePreferenceBridge {
@CalledByNative
private static void insertPermissionInfoIntoList(@ContentSettingsType int type,
@@ -550,7 +550,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (type == ContentSettingsType.MEDIASTREAM_CAMERA
|| type == ContentSettingsType.MEDIASTREAM_MIC) {
for (PermissionInfo info : list) {
@@ -64,7 +66,7 @@ public class WebsitePreferenceBridge {
@@ -65,7 +67,7 @@ public class WebsitePreferenceBridge {
}
}
}
@@ -593,7 +593,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -642,6 +642,11 @@
@@ -688,6 +688,11 @@
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
URL truncated
</message>
@@ -602,13 +602,13 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
+ (only this session)
+ </message>
+
<message name="IDS_PAGE_INFO_AD_PERSONALIZATION_TITLE" desc="The title of the 'Ad personalization' section in Page Info.">
Ad personalization
<message name="IDS_PAGE_INFO_AD_PRIVACY_HEADER" desc="A label that represents the new ad-related settings. 1) Navigate to any site. 2) Click the icon (often a lock) to the left of the URL in the address bar. Information about the page you're viewing appears. The 'Ad privacy' label will appear above the 'Site settings' button.">
Ad privacy
</message>
diff --git a/components/content_settings/android/BUILD.gn b/components/content_settings/android/BUILD.gn
--- a/components/content_settings/android/BUILD.gn
+++ b/components/content_settings/android/BUILD.gn
@@ -60,6 +60,7 @@ java_cpp_enum("content_settings_enums_javagen") {
@@ -61,6 +61,7 @@ java_cpp_enum("content_settings_enums_javagen") {
"../core/common/cookie_controls_breakage_confidence_level.h",
"../core/common/cookie_controls_enforcement.h",
"../core/common/cookie_controls_status.h",
@@ -619,7 +619,7 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
--- a/components/content_settings/core/browser/content_settings_utils.cc
+++ b/components/content_settings/core/browser/content_settings_utils.cc
@@ -174,6 +174,42 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) {
@@ -173,6 +173,42 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) {
return constraints.session_model() == SessionModel::Durable;
}
@@ -709,7 +709,7 @@ diff --git a/components/content_settings/core/common/content_settings_constraint
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
@@ -336,9 +336,9 @@ public class PageInfoController implements PageInfoMainController, ModalDialogPr
@@ -337,9 +337,9 @@ public class PageInfoController implements PageInfoMainController, ModalDialogPr
*/
@CalledByNative
private void addPermissionSection(String name, String nameMidSentence, int type,
@@ -808,7 +808,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -1184,6 +1184,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
@@ -1188,6 +1188,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
permission_info.source = info.source;
permission_info.is_one_time = (info.metadata.session_model() ==
content_settings::SessionModel::OneTime);
@@ -820,7 +820,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
--- a/components/page_info/page_info.h
+++ b/components/page_info/page_info.h
@@ -199,6 +199,7 @@ class PageInfo : private content_settings::CookieControlsObserver,
@@ -200,6 +200,7 @@ class PageInfo : private content_settings::CookieControlsObserver,
content_settings::SETTING_SOURCE_NONE;
// Whether the permission is a one-time grant.
bool is_one_time = false;
@@ -831,9 +831,9 @@ diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
--- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
@@ -8,6 +8,7 @@ import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.annotations.NativeMethods;
@@ -11,6 +11,7 @@ import org.jni_zero.JNINamespace;
import org.jni_zero.NativeMethods;
import org.chromium.ui.base.WindowAndroid;
+import org.chromium.components.content_settings.LifetimeMode;
@@ -849,7 +849,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
public WindowAndroid getWindow() {
return mWindow;
}
@@ -79,6 +83,15 @@ public class PermissionDialogDelegate {
@@ -75,6 +79,15 @@ public class PermissionDialogDelegate {
PermissionDialogDelegateJni.get().accept(mNativeDelegatePtr, PermissionDialogDelegate.this);
}
@@ -865,10 +865,10 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
public void onCancel() {
assert mNativeDelegatePtr != 0;
PermissionDialogDelegateJni.get().cancel(mNativeDelegatePtr, PermissionDialogDelegate.this);
diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModel.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModel.java
--- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModel.java
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModel.java
@@ -16,6 +16,17 @@ import org.chromium.ui.UiUtils;
diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
--- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
@@ -12,6 +12,18 @@ import org.chromium.ui.UiUtils;
import org.chromium.ui.modaldialog.ModalDialogProperties;
import org.chromium.ui.modelutil.PropertyModel;
@@ -878,24 +878,25 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
+import android.widget.LinearLayout;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+import android.widget.TextView;
+import org.chromium.base.ApiCompatibilityUtils;
+import org.chromium.ui.base.ViewUtils;
+import org.chromium.components.content_settings.ContentSettingsType;
+import org.chromium.components.content_settings.LifetimeMode;
+
/**
* This class creates the model for permission dialog.
* This class creates the model for the permission dialog.
*/
@@ -41,7 +52,7 @@ class PermissionDialogModel {
secondaryTextView.setVisibility(View.VISIBLE);
}
@@ -27,7 +39,7 @@ class PermissionDialogModelFactory {
String messageText = delegate.getMessageText();
assert !TextUtils.isEmpty(messageText);
- return new PropertyModel.Builder(ModalDialogProperties.ALL_KEYS)
+ PropertyModel pm = new PropertyModel.Builder(ModalDialogProperties.ALL_KEYS)
.with(ModalDialogProperties.CONTROLLER, controller)
.with(ModalDialogProperties.FOCUS_DIALOG, true)
.with(ModalDialogProperties.CUSTOM_VIEW, customView)
@@ -53,6 +64,74 @@ class PermissionDialogModel {
@@ -39,5 +51,73 @@ class PermissionDialogModelFactory {
.with(ModalDialogProperties.BUTTON_TAP_PROTECTION_PERIOD_MS,
UiUtils.PROMPT_INPUT_PROTECTION_SHORT_DELAY_MS)
.build();
@@ -923,29 +924,29 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
+ // Create radio buttons with lifetime options.
+ RadioGroup radioGroup = new RadioGroup(context);
+
+ RadioButton radioButon = new RadioButton(context);
+ radioButon.setText(context.getString(
+ RadioButton radioButton = new RadioButton(context);
+ radioButton.setText(context.getString(
+ org.chromium.components.permissions.R.string.session_permissions_only_this_this));
+ radioButon.setId(LifetimeMode.ONLY_THIS_TIME);
+ radioGroup.addView(radioButon);
+ radioButton.setId(LifetimeMode.ONLY_THIS_TIME);
+ radioGroup.addView(radioButton);
+
+ radioButon = new RadioButton(context);
+ radioButon.setText(context.getString(
+ radioButton = new RadioButton(context);
+ radioButton.setText(context.getString(
+ org.chromium.components.permissions.R.string.session_permissions_until_page_close));
+ radioButon.setId(LifetimeMode.UNTIL_ORIGIN_CLOSED);
+ radioGroup.addView(radioButon);
+ radioButton.setId(LifetimeMode.UNTIL_ORIGIN_CLOSED);
+ radioGroup.addView(radioButton);
+
+ radioButon = new RadioButton(context);
+ radioButon.setText(context.getString(
+ radioButton = new RadioButton(context);
+ radioButton.setText(context.getString(
+ org.chromium.components.permissions.R.string.session_permissions_until_browser_close));
+ radioButon.setId(LifetimeMode.UNTIL_BROWSER_CLOSED);
+ radioGroup.addView(radioButon);
+ radioButton.setId(LifetimeMode.UNTIL_BROWSER_CLOSED);
+ radioGroup.addView(radioButton);
+
+ radioButon = new RadioButton(context);
+ radioButon.setText(context.getString(
+ radioButton = new RadioButton(context);
+ radioButton.setText(context.getString(
+ org.chromium.components.permissions.R.string.session_permissions_forever));
+ radioButon.setId(LifetimeMode.ALWAYS);
+ radioGroup.addView(radioButon);
+ radioButton.setId(LifetimeMode.ALWAYS);
+ radioGroup.addView(radioButton);
+
+ radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+ @Override
@@ -968,12 +969,11 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
+ }
+ return false;
}
private static View loadDialogView(Context context) {
}
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
@@ -68,6 +68,11 @@ void PermissionDialogJavaDelegate::DismissDialog() {
@@ -113,6 +113,11 @@ void PermissionDialogJavaDelegate::DismissDialog() {
Java_PermissionDialogDelegate_dismissFromNative(env, j_delegate_);
}
@@ -985,7 +985,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
// static
void PermissionDialogDelegate::Create(
content::WebContents* web_contents,
@@ -96,12 +101,26 @@ PermissionDialogDelegate* PermissionDialogDelegate::CreateForTesting(
@@ -141,12 +146,26 @@ PermissionDialogDelegate* PermissionDialogDelegate::CreateForTesting(
void PermissionDialogDelegate::Accept(JNIEnv* env,
const JavaParamRef<jobject>& obj) {
DCHECK(permission_prompt_);
@@ -1015,9 +1015,9 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.h b/components/permissions/android/permission_prompt/permission_dialog_delegate.h
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.h
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.h
@@ -35,6 +35,7 @@ class PermissionDialogJavaDelegate {
PermissionDialogDelegate* owner);
virtual void CreateDialog();
@@ -41,6 +41,7 @@ class PermissionDialogJavaDelegate {
const favicon_base::FaviconRawBitmapResult& favicon_result);
virtual void DismissDialog();
+ virtual int GetSelectedLifetimeOption();
@@ -1026,7 +1026,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.cc b/components/permissions/android/permission_prompt/permission_prompt_android.cc
--- a/components/permissions/android/permission_prompt/permission_prompt_android.cc
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
@@ -47,6 +47,14 @@ void PermissionPromptAndroid::Accept() {
@@ -52,6 +52,14 @@ void PermissionPromptAndroid::Accept() {
delegate_->Accept();
}
@@ -1044,7 +1044,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_prompt_
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.h b/components/permissions/android/permission_prompt/permission_prompt_android.h
--- a/components/permissions/android/permission_prompt/permission_prompt_android.h
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.h
@@ -46,7 +46,9 @@ class PermissionPromptAndroid : public PermissionPrompt {
@@ -47,7 +47,9 @@ class PermissionPromptAndroid : public PermissionPrompt {
void Closing();
void Accept();
@@ -1401,7 +1401,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() {
DCHECK(delete_callback_.is_null());
}
@@ -276,19 +284,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
@@ -279,19 +287,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
permissions::features::kPermissionStorageAccessAPI);
}
@@ -1480,7 +1480,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
// Called when the user has cancelled the permission request. This
// corresponds to a denial, but is segregated in case the context needs to
@@ -174,6 +183,9 @@ class PermissionRequest {
@@ -180,6 +189,9 @@ class PermissionRequest {
// Called once a decision is made about the permission.
PermissionDecidedCallback permission_decided_callback_;
@@ -1511,7 +1511,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
request->RequestFinished();
return;
@@ -568,7 +568,8 @@ void PermissionRequestManager::Accept() {
@@ -574,7 +574,8 @@ void PermissionRequestManager::Accept() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED);
PermissionGrantedIncludingDuplicates(*requests_iter,
@@ -1521,8 +1521,8 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
#if !BUILDFLAG(IS_ANDROID)
absl::optional<ContentSettingsType> content_settings_type =
@@ -586,7 +587,7 @@ void PermissionRequestManager::Accept() {
FinalizeCurrentRequests(PermissionAction::GRANTED);
@@ -592,7 +593,7 @@ void PermissionRequestManager::Accept() {
CurrentRequestsDecided(PermissionAction::GRANTED);
}
-void PermissionRequestManager::AcceptThisTime() {
@@ -1530,7 +1530,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -597,7 +598,8 @@ void PermissionRequestManager::AcceptThisTime() {
@@ -603,7 +604,8 @@ void PermissionRequestManager::AcceptThisTime() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED_ONCE);
PermissionGrantedIncludingDuplicates(*requests_iter,
@@ -1540,7 +1540,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
@@ -605,6 +607,15 @@ void PermissionRequestManager::AcceptThisTime() {
@@ -611,6 +613,15 @@ void PermissionRequestManager::AcceptThisTime() {
}
void PermissionRequestManager::Deny() {
@@ -1556,7 +1556,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -627,7 +638,7 @@ void PermissionRequestManager::Deny() {
@@ -633,7 +644,7 @@ void PermissionRequestManager::Deny() {
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
(*requests_iter)->request_type(),
PermissionAction::DENIED);
@@ -1565,7 +1565,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
NotifyRequestDecided(PermissionAction::DENIED);
@@ -1165,32 +1176,32 @@ PermissionRequestManager::VisitDuplicateRequests(
@@ -1184,32 +1195,32 @@ PermissionRequestManager::VisitDuplicateRequests(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request,
@@ -1608,7 +1608,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request);
}
@@ -1439,7 +1450,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
@@ -1458,7 +1469,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
void PermissionRequestManager::DoAutoResponseForTesting() {
switch (auto_response_for_test_) {
case ACCEPT_ONCE:
@@ -1631,8 +1631,8 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
+ void DenyThisTime(content_settings::LifetimeMode lifetime_option) override;
void Dismiss() override;
void Ignore() override;
void OpenHelpCenterLink(const ui::Event& event) override;
@@ -362,9 +364,12 @@ class PermissionRequestManager
void FinalizeCurrentRequests() override;
@@ -365,9 +367,12 @@ class PermissionRequestManager
// Calls PermissionGranted on a request and all its duplicates.
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
@@ -6,14 +6,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/menu/main_menu.xml | 7 ++
.../chrome/browser/ChromeTabbedActivity.java | 24 +++++++
.../browser/bookmarks/BookmarkBridge.java | 64 +++++++++++++++++++
.../bookmarks/android/bookmark_bridge.cc | 43 +++++++++++++
.../browser/bookmarks/BookmarkBridge.java | 66 +++++++++++++++++++
.../bookmarks/android/bookmark_bridge.cc | 43 ++++++++++++
.../bookmarks/android/bookmark_bridge.h | 8 +++
.../browser/bookmarks/bookmark_html_writer.cc | 8 ++-
.../bookmarks/chrome_bookmark_client.cc | 2 +
.../dialogs/DownloadLocationCustomView.java | 4 +-
.../strings/android_chrome_strings.grd | 3 +
components/bookmark_bar_strings.grdp | 6 ++
.../bookmarks/browser/bookmark_client.cc | 2 +
.../bookmarks/browser/bookmark_codec.cc | 22 +++++--
components/bookmarks/browser/bookmark_codec.h | 7 +-
.../browser/bookmark_load_details.cc | 4 ++
@@ -26,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/bookmarks/browser/bookmark_uuids.h | 1 +
components/bookmarks/browser/model_loader.cc | 3 +-
.../bookmark_specifics_conversions.cc | 1 +
22 files changed, 228 insertions(+), 10 deletions(-)
22 files changed, 230 insertions(+), 10 deletions(-)
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
@@ -55,7 +55,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
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
@@ -84,6 +84,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
@@ -85,6 +85,7 @@ import org.chromium.chrome.browser.base.ColdStartTracker;
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -63,7 +63,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
@@ -2294,6 +2295,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2360,6 +2361,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
getTabModelSelectorSupplier().get(),
() -> getTabModelSelector().closeAllTabs());
RecordUserAction.record("MobileMenuCloseAllTabs");
@@ -72,7 +72,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
// Close only incognito tabs
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
@@ -2359,6 +2362,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2424,6 +2427,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@@ -103,15 +103,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
@@ -29,6 +29,7 @@ import com.google.protobuf.InvalidProtocolBufferException;
@@ -32,6 +32,7 @@ import org.jni_zero.NativeMethods;
import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
+import org.chromium.base.Log;
import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative;
@@ -39,6 +40,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
import org.chromium.base.metrics.RecordHistogram;
@@ -40,6 +41,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.read_later.ReadingListUtils;
import org.chromium.chrome.browser.tab.Tab;
@@ -122,7 +122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkItem;
import org.chromium.components.bookmarks.BookmarkType;
@@ -83,6 +88,8 @@ import java.io.File;
@@ -85,6 +90,8 @@ import java.io.File;
class BookmarkBridge {
private final ObserverList<BookmarkModelObserver> mObservers = new ObserverList<>();
@@ -131,7 +131,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private long mNativeBookmarkBridge;
private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges;
@@ -375,6 +382,16 @@ class BookmarkBridge {
@@ -390,6 +397,16 @@ class BookmarkBridge {
return mMobileFolderId;
}
@@ -148,7 +148,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1008,6 +1025,50 @@ class BookmarkBridge {
@@ -1034,6 +1051,50 @@ class BookmarkBridge {
return BookmarkBridgeJni.get().addToReadingList(mNativeBookmarkBridge, title, url);
}
@@ -199,22 +199,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @param url The URL of the reading list item.
* @return The reading list item with the URL, or null if no such reading list item.
@@ -1221,12 +1282,15 @@ class BookmarkBridge {
void getImageUrlForBookmark(long nativeBookmarkBridge, GURL url, Callback<GURL> callback);
@@ -1273,6 +1334,9 @@ class BookmarkBridge {
BookmarkId getBookmarkIdForWebContents(
long nativeBookmarkBridge, WebContents webContents, boolean onlyEditable);
+ BookmarkId getBookmarkIdForTabsCollection(
+ long nativeBookmarkBridge, GURL url);
+
BookmarkItem getBookmarkById(long nativeBookmarkBridge, long id, int type);
void getTopLevelFolderIds(long nativeBookmarkBridge, List<BookmarkId> bookmarksList);
BookmarkId getReadingListFolder(long nativeBookmarkBridge);
void getAllFoldersWithDepths(
long nativeBookmarkBridge, List<BookmarkId> folderList, List<Integer> depthList);
@@ -1284,6 +1348,8 @@ class BookmarkBridge {
BookmarkId getRootFolderId(long nativeBookmarkBridge);
+ BookmarkId getTabsCollectionFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
+
BookmarkId getMobileFolderId(long nativeBookmarkBridge);
BookmarkId getOtherFolderId(long nativeBookmarkBridge);
BookmarkId getDesktopFolderId(long nativeBookmarkBridge);
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -252,7 +255,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
base::android::ScopedJavaLocalRef<jobject>
BookmarkBridge::GetBookmarkIdForWebContents(
JNIEnv* env,
@@ -436,6 +463,10 @@ void BookmarkBridge::GetTopLevelFolderIds(
@@ -438,6 +465,10 @@ void BookmarkBridge::GetTopLevelFolderIds(
}
top_level_folders.push_back(root_child.get());
}
@@ -261,9 +264,9 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+ top_level_folders.push_back(node.get());
+ }
if (managed_bookmark_service_->managed_node() &&
!managed_bookmark_service_->managed_node()->children().empty()) {
@@ -479,6 +510,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
if (partner_bookmarks_shim_->HasPartnerBookmarks() &&
IsReachable(partner_bookmarks_shim_->GetPartnerBookmarksRoot())) {
@@ -477,6 +508,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
// Vector to temporarily contain all child bookmarks at same level for sorting
std::vector<const BookmarkNode*> bookmarks = {
bookmark_model_->mobile_node(),
@@ -271,7 +274,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
bookmark_model_->bookmark_bar_node(),
bookmark_model_->other_node(),
};
@@ -1051,6 +1083,17 @@ void BookmarkBridge::GetBookmarksOfType(
@@ -1049,6 +1081,17 @@ void BookmarkBridge::GetBookmarksOfType(
}
}
@@ -347,18 +350,6 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
if (!bookmark_urls_.empty())
FetchNextFavicon();
else
diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.cc b/chrome/browser/bookmarks/chrome_bookmark_client.cc
--- a/chrome/browser/bookmarks/chrome_bookmark_client.cc
+++ b/chrome/browser/bookmarks/chrome_bookmark_client.cc
@@ -160,6 +160,8 @@ bool ChromeBookmarkClient::IsPermanentNodeVisibleWhenEmpty(
return !is_mobile;
case bookmarks::BookmarkNode::MOBILE:
return is_mobile;
+ case bookmarks::BookmarkNode::TABS_COLLECTION:
+ return is_mobile;
}
return false;
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
@@ -383,7 +374,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
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
@@ -3989,6 +3989,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3895,6 +3895,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
Select tabs
</message>
@@ -416,6 +407,18 @@ diff --git a/components/bookmark_bar_strings.grdp b/components/bookmark_bar_stri
<message name="IDS_BOOKMARK_BAR_OTHER_FOLDER_NAME" desc="In Title Case: Name shown in the tree for the other bookmarks folder">
Other Bookmarks
</message>
diff --git a/components/bookmarks/browser/bookmark_client.cc b/components/bookmarks/browser/bookmark_client.cc
--- a/components/bookmarks/browser/bookmark_client.cc
+++ b/components/bookmarks/browser/bookmark_client.cc
@@ -55,6 +55,8 @@ bool BookmarkClient::IsPermanentNodeVisibleWhenEmpty(
case BookmarkNode::MOBILE:
// Either MOBILE or OTHER_NODE is visible when empty, but never both.
return !IsPermanentNodeVisibleWhenEmpty(BookmarkNode::OTHER_NODE);
+ case bookmarks::BookmarkNode::TABS_COLLECTION:
+ return !is_desktop;
}
NOTREACHED_NORETURN();
}
diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmarks/browser/bookmark_codec.cc
--- a/components/bookmarks/browser/bookmark_codec.cc
+++ b/components/bookmarks/browser/bookmark_codec.cc
@@ -427,33 +430,33 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
const char BookmarkCodec::kVersionKey[] = "version";
const char BookmarkCodec::kChecksumKey[] = "checksum";
const char BookmarkCodec::kIdKey[] = "id";
@@ -75,7 +76,8 @@ BookmarkCodec::~BookmarkCodec() = default;
@@ -74,7 +75,8 @@ BookmarkCodec::~BookmarkCodec() = default;
base::Value::Dict BookmarkCodec::Encode(BookmarkModel* model,
std::string sync_metadata_str) {
return Encode(model->bookmark_bar_node(), model->other_node(),
- model->mobile_node(), model->root_node()->GetMetaInfoMap(),
+ model->mobile_node(), model->tabs_collection_node(),
+ model->root_node()->GetMetaInfoMap(),
model->root_node()->GetUnsyncedMetaInfoMap(),
std::move(sync_metadata_str));
}
@@ -84,6 +86,7 @@ base::Value::Dict BookmarkCodec::Encode(
@@ -82,6 +84,7 @@ base::Value::Dict BookmarkCodec::Encode(
const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node,
const BookmarkNode* mobile_folder_node,
+ const BookmarkNode* tabs_folder_node,
const BookmarkNode::MetaInfoMap* model_meta_info_map,
const BookmarkNode::MetaInfoMap* model_unsynced_meta_info_map,
std::string sync_metadata_str) {
@@ -105,6 +108,7 @@ base::Value::Dict BookmarkCodec::Encode(
ids_reassigned_ = false;
@@ -102,6 +105,7 @@ base::Value::Dict BookmarkCodec::Encode(
roots.Set(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node));
roots.Set(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
roots.Set(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
+ roots.Set(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node));
if (model_meta_info_map)
roots.Set(kMetaInfo, EncodeMetaInfo(*model_meta_info_map));
if (model_unsynced_meta_info_map) {
@@ -125,6 +129,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
@@ -119,6 +123,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -461,7 +464,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
int64_t* max_id,
std::string* sync_metadata_str) {
ids_.clear();
@@ -132,7 +137,8 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
@@ -126,7 +131,8 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
base::Uuid::ParseLowercase(kBookmarkBarNodeUuid),
base::Uuid::ParseLowercase(kOtherBookmarksNodeUuid),
base::Uuid::ParseLowercase(kMobileBookmarksNodeUuid),
@@ -471,7 +474,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
ids_reassigned_ = false;
uuids_reassigned_ = false;
ids_valid_ = true;
@@ -140,12 +146,13 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
@@ -134,12 +140,13 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
stored_checksum_.clear();
InitializeChecksum();
bool success = DecodeHelper(bb_node, other_folder_node, mobile_folder_node,
@@ -486,7 +489,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
*max_id = maximum_id_ + 1;
return success;
}
@@ -201,6 +208,7 @@ base::Value::Dict BookmarkCodec::EncodeMetaInfo(
@@ -191,6 +198,7 @@ base::Value::Dict BookmarkCodec::EncodeMetaInfo(
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -494,7 +497,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
const base::Value::Dict& value,
std::string* sync_metadata_str) {
absl::optional<int> version = value.FindInt(kVersionKey);
@@ -225,6 +233,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
@@ -215,6 +223,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
roots->FindDict(kOtherBookmarkFolderNameKey);
const base::Value::Dict* mobile_folder_value =
roots->FindDict(kMobileBookmarkFolderNameKey);
@@ -503,7 +506,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
if (!bb_value || !other_folder_value || !mobile_folder_value)
return false;
@@ -232,6 +242,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
@@ -222,6 +232,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
DecodeNode(*bb_value, nullptr, bb_node);
DecodeNode(*other_folder_value, nullptr, other_folder_node);
DecodeNode(*mobile_folder_value, nullptr, mobile_folder_node);
@@ -512,7 +515,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
if (!DecodeMetaInfo(*roots, &model_meta_info_map_))
return false;
@@ -497,11 +509,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
@@ -463,11 +475,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node,
@@ -536,9 +539,9 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
const BookmarkNode* mobile_folder_node,
+ const BookmarkNode* tabs_folder_node,
const BookmarkNode::MetaInfoMap* model_meta_info_map,
const BookmarkNode::MetaInfoMap* model_unsynced_meta_info_map,
std::string sync_metadata_str);
@@ -59,6 +60,7 @@ class BookmarkCodec {
@@ -58,6 +59,7 @@ class BookmarkCodec {
BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -546,7 +549,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
int64_t* max_node_id,
std::string* sync_metadata_str);
@@ -110,6 +112,7 @@ class BookmarkCodec {
@@ -103,6 +105,7 @@ class BookmarkCodec {
// Allows the BookmarkClient to read and a write a string blob from the JSON
// file. That string captures the bookmarks sync metadata.
static const char kSyncMetadata[];
@@ -554,7 +557,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
static const char kDateLastUsed[];
// Possible values for kTypeKey.
@@ -128,6 +131,7 @@ class BookmarkCodec {
@@ -121,6 +124,7 @@ class BookmarkCodec {
bool DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -562,7 +565,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
const base::Value::Dict& value,
std::string* sync_metadata_str);
@@ -139,7 +143,8 @@ class BookmarkCodec {
@@ -132,7 +136,8 @@ class BookmarkCodec {
// Reassigns bookmark IDs for all nodes.
void ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node,
@@ -597,7 +600,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
std::unique_ptr<TitledUrlIndex> owned_titled_url_index() {
return std::move(titled_url_index_);
@@ -119,6 +120,8 @@ class BookmarkLoadDetails {
@@ -112,6 +113,8 @@ class BookmarkLoadDetails {
nullptr;
raw_ptr<BookmarkPermanentNode, DanglingUntriaged> mobile_folder_node_ =
nullptr;
@@ -609,7 +612,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
--- a/components/bookmarks/browser/bookmark_model.cc
+++ b/components/bookmarks/browser/bookmark_model.cc
@@ -845,7 +845,7 @@ bool BookmarkModel::HasBookmarks() const {
@@ -801,7 +801,7 @@ bool BookmarkModel::HasBookmarks() const {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() &&
@@ -618,7 +621,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
}
bool BookmarkModel::IsBookmarked(const GURL& url) const {
@@ -1155,6 +1155,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
@@ -1111,6 +1111,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
bookmark_bar_node_ = details->bb_node();
other_node_ = details->other_folder_node();
mobile_node_ = details->mobile_folder_node();
@@ -642,7 +645,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
bool is_root_node(const BookmarkNode* node) const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return node == root_;
@@ -495,6 +501,7 @@ class BookmarkModel final : public BookmarkUndoProvider,
@@ -475,6 +481,7 @@ class BookmarkModel final : public BookmarkUndoProvider,
nullptr;
raw_ptr<BookmarkPermanentNode, AcrossTasksDanglingUntriaged> mobile_node_ =
nullptr;
@@ -653,7 +656,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmarks/browser/bookmark_node.cc
--- a/components/bookmarks/browser/bookmark_node.cc
+++ b/components/bookmarks/browser/bookmark_node.cc
@@ -239,6 +239,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id,
@@ -189,6 +189,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id,
visible_when_empty));
}
@@ -682,7 +685,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
MOBILE
};
@@ -259,6 +260,9 @@ class BookmarkPermanentNode : public BookmarkNode {
@@ -245,6 +246,9 @@ class BookmarkPermanentNode : public BookmarkNode {
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
int64_t id,
bool visible_when_empty);
@@ -732,7 +735,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc
--- a/components/sync_bookmarks/bookmark_specifics_conversions.cc
+++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc
@@ -447,6 +447,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
@@ -445,6 +445,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
case bookmarks::BookmarkNode::BOOKMARK_BAR:
case bookmarks::BookmarkNode::OTHER_NODE:
case bookmarks::BookmarkNode::MOBILE:
@@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
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
@@ -2319,6 +2319,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2384,6 +2384,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
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
@@ -2525,6 +2525,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2537,6 +2537,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return doOpenWebApk(currentTab);
}
@@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
@@ -1142,6 +1143,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -1148,6 +1149,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
}
@@ -115,7 +115,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
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
@@ -314,6 +314,10 @@ CHAR_LIMIT guidelines:
@@ -317,6 +317,10 @@ CHAR_LIMIT guidelines:
USB
</message>
@@ -5,6 +5,7 @@ Subject: Add option to force tablet UI
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
.../browser/tasks/ReturnToChromeUtil.java | 4 +++-
.../chrome/browser/ui/RootUiCoordinator.java | 5 ++++-
.../preferences/ChromePreferenceKeys.java | 1 +
.../LegacyChromePreferenceKeys.java | 1 +
@@ -17,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../AccessibilitySettingsDelegate.java | 2 ++
ui/android/BUILD.gn | 2 ++
.../chromium/ui/base/DeviceFormFactor.java | 5 +++++
13 files changed, 62 insertions(+), 8 deletions(-)
14 files changed, 65 insertions(+), 9 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@@ -29,13 +30,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+ private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate {
+ @Override
+ public boolean isEnabled() {
+ return SharedPreferencesManager.getInstance().readBoolean(
+ return ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false);
+ }
+
+ @Override
+ public void setEnabled(boolean value) {
+ SharedPreferencesManager.getInstance().writeBoolean(
+ ChromeSharedPreferences.getInstance().writeBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, value);
+ }
+ }
@@ -48,24 +49,38 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
@Override
public void addExtraPreferences(PreferenceFragmentCompat fragment) {
if (ImageDescriptionsController.getInstance().shouldShowImageDescriptionsMenuItem()) {
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
@@ -948,7 +948,9 @@ public final class ReturnToChromeUtil {
public static boolean isScrollableMvtEnabled(Context context) {
boolean isSurfacePolishEnabled = ChromeFeatureList.sSurfacePolish.isEnabled();
- if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(context)) {
+ if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(context) ||
+ ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false)) {
// On phones, parameter SURFACE_POLISH_SCROLLABLE_MVT is checked when feature flag
// surface polish is enabled; otherwise, feature flag
// SHOW_SCROLLABLE_MVT_ON_NTP_PHONE_ANDROID
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
@@ -100,6 +100,7 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
@@ -1444,7 +1445,9 @@ public class RootUiCoordinator
@@ -1454,7 +1455,9 @@ public class RootUiCoordinator
if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
int stubId = R.id.find_toolbar_stub;
- if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
+ if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity) &&
+ !SharedPreferencesManager.getInstance().readBoolean(
+ !ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false)) {
stubId = R.id.find_toolbar_tablet_stub;
}
@@ -73,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -355,6 +355,7 @@ public final class ChromePreferenceKeys {
@@ -349,6 +349,7 @@ public final class ChromePreferenceKeys {
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
@@ -84,7 +99,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -64,6 +64,7 @@ public class LegacyChromePreferenceKeys {
@@ -63,6 +63,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.FLAGS_CACHED_START_SURFACE_ENABLED,
ChromePreferenceKeys.FLAGS_CACHED_TAB_GROUPS_ANDROID_ENABLED,
ChromePreferenceKeys.FONT_USER_FONT_SCALE_FACTOR,
@@ -95,7 +110,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
@@ -691,7 +691,7 @@ public class LocationBarCoordinator
@@ -779,7 +779,7 @@ public class LocationBarCoordinator
}
private boolean isTabletWindow() {
@@ -107,8 +122,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
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
@@ -1765,6 +1765,13 @@ Your Google account may have other forms of browsing history like searches and a
Protection from trackers (third-party cookies, IP tracking, invasive scripts, and more)
@@ -1658,6 +1658,13 @@ Your Google account may have other forms of browsing history like searches and a
Manage third-party cookies and tracking protections
</message>
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
@@ -139,7 +154,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -71,7 +71,7 @@ if (is_ios) {
@@ -68,7 +68,7 @@ if (is_ios) {
# Omit Lacros because it allows //components to depend on //chrome, which in
# turn depends on //extensions.
@@ -148,7 +163,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
disallowed_extension_deps_ = [
# Components should largely not depend on //extensions. Since // extensions
# is not a component target and is linked with //chrome, depending on most
@@ -817,7 +817,7 @@ test("components_unittests") {
@@ -811,7 +811,7 @@ test("components_unittests") {
# On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@@ -157,7 +172,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ]
assert_no_deps += disallowed_extension_deps_
}
@@ -1103,7 +1103,7 @@ if (use_blink) {
@@ -1099,7 +1099,7 @@ if (use_blink) {
# dependency. On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@@ -230,32 +245,32 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
--- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn
@@ -411,6 +411,8 @@ android_library("ui_no_recycler_view_java") {
@@ -417,6 +417,8 @@ android_library("ui_no_recycler_view_java") {
":ui_android_features_java",
":ui_java_resources",
":ui_utils_java",
+ # dependency for ui_no_recycler_view_java
+ "//chrome/browser/preferences:java",
"//base:base_java",
"//base:jni_java",
"//build/android:build_java",
"//components/url_formatter/android:url_formatter_java",
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
@@ -12,6 +12,8 @@ import androidx.annotation.VisibleForTesting;
@@ -13,6 +13,8 @@ import org.jni_zero.CalledByNative;
import org.chromium.base.ContextUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.ui.R;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.display.DisplayUtil;
@@ -62,6 +64,9 @@ public class DeviceFormFactor {
@@ -63,6 +65,9 @@ public class DeviceFormFactor {
* E.g. http://developer.samsung.com/samsung-dex/testing
*/
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
+ if (SharedPreferencesManager.getInstance().readBoolean(
+ if (ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false))
+ return true;
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -61,6 +61,11 @@ found in the LICENSE file.
@@ -71,6 +71,11 @@ found in the LICENSE file.
android:title="@string/incognito_settings_title"
android:summary="@string/incognito_settings_summary"
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
@@ -22,9 +22,9 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:title="@string/close_tabs_on_exit_title"
+ android:summary="@string/close_tabs_on_exit_summary"
+ android:defaultValue="false" />
<Preference
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track"
<PreferenceCategory
android:key="services_category"
android:title="@string/services_category_title">
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
@@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.MemoryPressureListener;
@@ -1307,8 +1308,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1333,8 +1334,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@@ -45,7 +45,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
- CommandLine.getInstance().hasSwitch(ChromeSwitches.NO_RESTORE_STATE);
+ CommandLine.getInstance().hasSwitch(ChromeSwitches.NO_RESTORE_STATE) ||
+ ContextUtils.getAppSharedPreferences().getBoolean(PREF_CLOSE_TABS_ON_EXIT, false);
boolean shouldShowHomeSurfaceAtStartupOnTablet = false;
boolean shouldShowNtpAsHomeSurfaceAtStartup = false;
final AtomicBoolean isActiveUrlNTP = new AtomicBoolean(false);
if (noRestoreState) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -68,16 +68,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.R;
import org.chromium.chrome.browser.enterprise.util.ManagedBrowserUtils;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -88,6 +91,8 @@ public class PrivacySettings
@@ -89,6 +92,8 @@ public class PrivacySettings
private final SharedPreferencesManager mSharedPreferencesManager =
SharedPreferencesManager.getInstance();
ChromeSharedPreferences.getInstance();
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
@@ -244,7 +249,11 @@ public class PrivacySettings
@@ -243,7 +248,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
UserPrefs.get(getProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
@@ -291,6 +300,11 @@ public class PrivacySettings
@@ -290,6 +299,11 @@ public class PrivacySettings
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
}
@@ -105,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
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
@@ -4876,6 +4876,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4806,6 +4806,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
IMAGE
</message>
@@ -58,7 +58,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
@@ -17,6 +17,7 @@ import org.chromium.base.metrics.RecordUserAction;
@@ -18,6 +18,7 @@ import org.chromium.base.supplier.LazyOneshotSupplier;
import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.OneshotSupplier;
@@ -66,7 +66,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
import org.chromium.chrome.browser.layouts.LayoutType;
@@ -345,8 +346,13 @@ public class TabGroupUiMediator implements BackPressHandler {
@@ -351,8 +352,13 @@ public class TabGroupUiMediator implements BackPressHandler {
assert relatedTabs.size() > 0;
parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
@@ -99,7 +99,7 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -238,6 +238,22 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
@@ -247,6 +247,22 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
notifyHomepageUpdated();
}
@@ -161,7 +161,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
@@ -103,7 +103,6 @@ public class LaunchMetrics {
@@ -104,7 +104,6 @@ public class LaunchMetrics {
public static void recordHomePageLaunchMetrics(
boolean showHomeButton, boolean homepageIsNtp, GURL homepageGurl) {
if (homepageGurl.isEmpty()) {
@@ -180,7 +180,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
import org.chromium.chrome.browser.ntp.NewTabPageUtils;
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
@@ -502,6 +503,13 @@ public class ChromeTabCreator extends TabCreator {
@@ -497,6 +498,13 @@ public class ChromeTabCreator extends TabCreator {
* @return the created tab.
*/
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
@@ -197,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -367,6 +367,7 @@ public final class ChromePreferenceKeys {
@@ -361,6 +361,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP";
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
@@ -208,7 +208,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -68,6 +68,7 @@ public class LegacyChromePreferenceKeys {
@@ -67,6 +67,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
ChromePreferenceKeys.HOMEPAGE_ENABLED,
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
@@ -219,7 +219,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
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
@@ -1540,6 +1540,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1431,6 +1431,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
Last hour
</message>
@@ -244,7 +244,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -1283,6 +1283,10 @@ inline constexpr char kUsedPolicyCertificates[] =
@@ -1296,6 +1296,10 @@ inline constexpr char kUsedPolicyCertificates[] =
// visible on the toolbar.
inline constexpr char kShowHomeButton[] = "browser.show_home_button";
+49 -3
View File
@@ -8,12 +8,14 @@ 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
---
chrome/browser/about_flags.cc | 1 +
.../internal/tracker_impl.cc | 3 ++
.../public/feature_configurations.cc | 7 ++++
.../content/site_engagement_score.cc | 5 +++
components/site_engagement/core/BUILD.gn | 6 ++++
components/site_engagement/core/features.cc | 30 ++++++++++++++++
components/site_engagement/core/features.h | 34 +++++++++++++++++++
.../Add-site-engagement-flag.inc | 10 ++++++
6 files changed, 86 insertions(+)
8 files changed, 96 insertions(+)
create mode 100644 components/site_engagement/core/features.cc
create mode 100644 components/site_engagement/core/features.h
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-site-engagement-flag.inc
@@ -21,14 +23,58 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -148,6 +148,7 @@
#include "components/segmentation_platform/public/features.h"
@@ -152,6 +152,7 @@
#include "components/send_tab_to_self/features.h"
#include "components/services/heap_profiling/public/cpp/switches.h"
#include "components/services/storage/public/cpp/buckets/bucket_info.h"
+#include "components/site_engagement/core/features.h"
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
#include "components/signin/core/browser/dice_account_reconcilor_delegate.h"
#include "components/signin/public/base/signin_buildflags.h"
diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components/feature_engagement/internal/tracker_impl.cc
--- a/components/feature_engagement/internal/tracker_impl.cc
+++ b/components/feature_engagement/internal/tracker_impl.cc
@@ -22,6 +22,7 @@
#include "base/task/single_thread_task_runner.h"
#include "base/time/clock.h"
#include "build/build_config.h"
+#include "components/site_engagement/core/features.h"
#include "components/feature_engagement/internal/availability_model_impl.h"
#include "components/feature_engagement/internal/blocked_iph_features.h"
#include "components/feature_engagement/internal/chrome_variations_configuration.h"
@@ -187,6 +188,8 @@ TrackerImpl::TrackerImpl(
TrackerImpl::~TrackerImpl() = default;
void TrackerImpl::NotifyEvent(const std::string& event) {
+ if (!base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement))
+ return;
event_model_->IncrementEvent(event, time_provider_->GetCurrentDay());
stats::RecordNotifyEvent(event, configuration_.get(),
event_model_->IsReady());
diff --git a/components/feature_engagement/public/feature_configurations.cc b/components/feature_engagement/public/feature_configurations.cc
--- a/components/feature_engagement/public/feature_configurations.cc
+++ b/components/feature_engagement/public/feature_configurations.cc
@@ -6,6 +6,7 @@
#include "base/strings/string_util.h"
#include "build/build_config.h"
+#include "components/site_engagement/core/features.h"
#include "components/feature_engagement/public/configuration.h"
#include "components/feature_engagement/public/event_constants.h"
#include "components/feature_engagement/public/feature_constants.h"
@@ -48,6 +49,12 @@ FeatureConfig CreateAlwaysTriggerConfig(const base::Feature* feature) {
absl::optional<FeatureConfig> GetClientSideFeatureConfig(
const base::Feature* feature) {
+ if (!base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement)) {
+ absl::optional<FeatureConfig> config = FeatureConfig();
+ config->valid = false;
+ return config;
+ }
+
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_CHROMEOS)
if (kIPHPasswordsAccountStorageFeature.name == feature->name) {
diff --git a/components/site_engagement/content/site_engagement_score.cc b/components/site_engagement/content/site_engagement_score.cc
--- a/components/site_engagement/content/site_engagement_score.cc
+++ b/components/site_engagement/content/site_engagement_score.cc
@@ -12,15 +12,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -86,6 +86,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment;
@@ -84,6 +84,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment;
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
import org.chromium.components.browser_ui.settings.PaddedDividerItemDecoration;
import org.chromium.components.browser_ui.settings.PaddedItemDecorationWithDivider;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
+import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment;
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
@@ -417,8 +418,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -436,8 +437,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
finish();
return true;
} else if (item.getItemId() == R.id.menu_id_general_help) {
@@ -49,7 +49,7 @@ diff --git a/base/android/content_uri_utils.h b/base/android/content_uri_utils.h
diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base/android/java/src/org/chromium/base/ContentUriUtils.java
--- a/base/android/java/src/org/chromium/base/ContentUriUtils.java
+++ b/base/android/java/src/org/chromium/base/ContentUriUtils.java
@@ -23,6 +23,9 @@ import org.chromium.base.annotations.CalledByNative;
@@ -23,6 +23,9 @@ import org.jni_zero.CalledByNative;
import java.io.File;
import java.io.IOException;
+5 -5
View File
@@ -205,7 +205,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -116,6 +116,8 @@ enum ReasonForCallingCanExecuteScripts {
@@ -115,6 +115,8 @@ enum ReasonForCallingCanExecuteScripts {
enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag };
@@ -217,7 +217,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -248,6 +248,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
@@ -271,6 +271,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
}
}
@@ -231,7 +231,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
base::AutoLock locker(WebGLContextLimitLock());
DCHECK(webgl_context_limits_initialized_);
@@ -521,25 +528,6 @@ static String ExtractWebGLContextCreationError(
@@ -544,25 +551,6 @@ static String ExtractWebGLContextCreationError(
const Platform::GraphicsInfo& info) {
StringBuilder builder;
builder.Append("Could not create a WebGL context");
@@ -257,7 +257,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
builder);
builder.Append('.');
@@ -599,6 +587,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
@@ -622,6 +610,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
const CanvasContextCreationAttributesCore& attributes,
Platform::ContextType context_type,
Platform::GraphicsInfo* graphics_info) {
@@ -273,7 +273,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
@@ -1937,6 +1937,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
@@ -1944,6 +1944,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
DOMArrayBufferView* pixels,
int64_t offset);
@@ -183,7 +183,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
#include "content/browser/service_worker/service_worker_host.h"
#include "content/browser/worker_host/dedicated_worker_host.h"
#include "content/browser/worker_host/shared_worker_host.h"
@@ -174,12 +175,14 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy {
@@ -175,12 +176,14 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy {
const std::string& group,
const std::string& type,
base::Value::Dict body) {
@@ -201,7 +201,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -13489,12 +13489,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -13639,12 +13639,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::Value::Dict body;
if (!reason.empty())
body.Set("reason", reason);
@@ -254,7 +254,7 @@ new file mode 100644
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -224,6 +224,7 @@ extern const base::FeatureParam<base::TimeDelta> kTimeoutTcpConnectAttemptMax(
@@ -228,6 +228,7 @@ extern const base::FeatureParam<base::TimeDelta> kTimeoutTcpConnectAttemptMax(
base::Seconds(30));
#if BUILDFLAG(ENABLE_REPORTING)
@@ -281,7 +281,7 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
diff --git a/services/network/network_context.h b/services/network/network_context.h
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -473,10 +473,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -475,10 +475,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const absl::optional<base::UnguessableToken>& reporting_source,
const net::NetworkAnonymizationKey& network_anonymization_key,
const absl::optional<std::string>& user_agent,
@@ -297,7 +297,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
--- a/services/network/public/mojom/BUILD.gn
+++ b/services/network/public/mojom/BUILD.gn
@@ -1427,7 +1427,6 @@ mojom("mojom") {
@@ -1438,7 +1438,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) {
@@ -308,7 +308,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1196,6 +1196,7 @@ interface NetworkContext {
@@ -1201,6 +1201,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@@ -316,7 +316,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type,
string group,
url.mojom.Url url,
@@ -1209,6 +1210,7 @@ interface NetworkContext {
@@ -1214,6 +1215,7 @@ interface NetworkContext {
// Note that this queued report will never be delivered if no reporting
// endpoint matching is registered for with the provided
// |network_isolation_key|.
@@ -335,7 +335,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c
#include "base/containers/contains.h"
#include "base/debug/dump_without_crashing.h"
#include "services/network/public/cpp/web_sandbox_flags.h"
@@ -1156,6 +1157,7 @@ void ContentSecurityPolicy::ReportViolation(
@@ -1164,6 +1165,7 @@ void ContentSecurityPolicy::ReportViolation(
return;
}
@@ -343,7 +343,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c
PostViolationReport(violation_data, context_frame, report_endpoints,
use_reporting_api);
@@ -1163,6 +1165,7 @@ void ContentSecurityPolicy::ReportViolation(
@@ -1171,6 +1173,7 @@ void ContentSecurityPolicy::ReportViolation(
// `context_frame` (i.e. we're not processing 'frame-ancestors').
if (delegate_ && !context_frame)
delegate_->DispatchViolationEvent(*violation_data, element);
@@ -362,7 +362,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
#include "services/network/public/cpp/features.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
#include "services/network/public/mojom/source_location.mojom-blink.h"
@@ -2502,9 +2503,11 @@ void LocalFrame::MainFrameInteractive() {
@@ -2533,9 +2534,11 @@ void LocalFrame::MainFrameInteractive() {
}
}
@@ -388,7 +388,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
#include "services/device/public/mojom/device_posture_provider.mojom-blink-forward.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
@@ -627,9 +627,9 @@ class CORE_EXPORT LocalFrame final
@@ -636,9 +636,9 @@ class CORE_EXPORT LocalFrame final
void FinishedScrollSequence();
SmoothScrollSequencer* GetSmoothScrollSequencer() const;
@@ -6,6 +6,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 1 -
chrome/android/chrome_java_sources.gni | 1 -
.../chrome/browser/feed/FeedSurfaceCoordinator.java | 5 +----
chrome/browser/BUILD.gn | 6 ------
.../browser/extensions/api/settings_private/prefs_util.cc | 2 ++
chrome/browser/profiles/profile_impl.cc | 4 ++++
@@ -13,15 +14,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/ui/webui/managed_ui_handler.cc | 2 ++
.../browser/ui/webui/management/management_ui_handler.cc | 2 ++
components/supervised_user/buildflags.gni | 6 +-----
components/supervised_user/core/common/features.cc | 1 +
components/supervised_user/core/common/pref_names.h | 4 ++++
.../core/common/supervised_user_constants.cc | 2 ++
.../supervised_user/core/common/supervised_user_utils.cc | 8 ++++++++
12 files changed, 29 insertions(+), 13 deletions(-)
14 files changed, 31 insertions(+), 17 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -3604,7 +3604,6 @@ generate_jni("chrome_jni_headers") {
@@ -3642,7 +3642,6 @@ generate_jni("chrome_jni_headers") {
"java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java",
"java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSites.java",
"java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java",
@@ -32,7 +34,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
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
@@ -1074,7 +1074,6 @@ chrome_java_sources = [
@@ -1082,7 +1082,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/suggestions/tile/TileGroupDelegateImpl.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/TopSitesTileView.java",
@@ -40,10 +42,32 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/org/chromium/chrome/browser/survey/ChromeSurveyController.java",
"java/src/org/chromium/chrome/browser/sync/SyncErrorNotifier.java",
"java/src/org/chromium/chrome/browser/sync/TrustedVaultClient.java",
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
@@ -69,7 +69,6 @@ import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
import org.chromium.components.feature_engagement.EventConstants;
import org.chromium.components.feature_engagement.Tracker;
import org.chromium.components.prefs.PrefService;
-import org.chromium.components.supervised_user.SupervisedUserPreferences;
import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.third_party.android.swiperefresh.SwipeRefreshLayout;
import org.chromium.ui.base.DeviceFormFactor;
@@ -788,9 +787,7 @@ public class FeedSurfaceCoordinator
* Returns true if the supervised user feed should be displayed.
*/
public boolean shouldDisplaySupervisedFeed() {
- PrefService prefService = UserPrefs.get(mProfile);
- return SupervisedUserPreferences.isSubjectToParentalControls(prefService)
- && ChromeFeatureList.isEnabled(ChromeFeatureList.KID_FRIENDLY_CONTENT_FEED);
+ return false;
}
/**
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3182,8 +3182,6 @@ static_library("browser") {
@@ -3194,8 +3194,6 @@ static_library("browser") {
"feed/android/refresh_task_scheduler_impl.cc",
"feed/android/refresh_task_scheduler_impl.h",
"feed/android/web_feed_bridge.cc",
@@ -52,7 +76,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"file_select_helper_contacts_android.cc",
"file_select_helper_contacts_android.h",
"first_run/android/first_run_prefs.cc",
@@ -3398,10 +3396,6 @@ static_library("browser") {
@@ -3413,10 +3411,6 @@ static_library("browser") {
"ssl/chrome_security_state_model_delegate.h",
"ssl/known_interception_disclosure_infobar.cc",
"ssl/known_interception_disclosure_infobar.h",
@@ -66,7 +90,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -1027,9 +1027,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
@@ -1014,9 +1014,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
settings_api::PrefType::PREF_TYPE_BOOLEAN;
#endif
@@ -81,7 +105,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -691,10 +691,12 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) {
@@ -696,10 +696,12 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) {
prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_);
pref_change_registrar_.Init(prefs);
@@ -94,7 +118,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
// Changes in the profile avatar.
pref_change_registrar_.Add(
@@ -1614,11 +1616,13 @@ GURL ProfileImpl::GetHomePage() {
@@ -1625,11 +1627,13 @@ GURL ProfileImpl::GetHomePage() {
}
void ProfileImpl::UpdateSupervisedUserIdInStorage() {
@@ -111,7 +135,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -1219,6 +1219,7 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
@@ -1218,6 +1218,7 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
profile->GetPrefs()->SetString(prefs::kProfileName, profile_name);
}
@@ -119,7 +143,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
bool force_supervised_user_id =
#if BUILDFLAG(IS_CHROMEOS_ASH)
@@ -1240,6 +1241,7 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
@@ -1239,6 +1240,7 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
supervised_user_id);
}
@@ -127,7 +151,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
#if !BUILDFLAG(IS_ANDROID)
if (profile->IsNewProfile()) {
profile->GetPrefs()->SetBoolean(prefs::kHasSeenWelcomePage, false);
@@ -2035,8 +2037,10 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
@@ -2034,8 +2036,10 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
init_params.icon_index =
profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex);
@@ -183,6 +207,15 @@ diff --git a/components/supervised_user/buildflags.gni b/components/supervised_u
- is_ios || is_linux || is_mac || is_win
+ enable_supervised_users = false
}
diff --git a/components/supervised_user/core/common/features.cc b/components/supervised_user/core/common/features.cc
--- a/components/supervised_user/core/common/features.cc
+++ b/components/supervised_user/core/common/features.cc
@@ -171,4 +171,5 @@ bool IsShadowKidsApiWithSafeSitesEnabled() {
return base::FeatureList::IsEnabled(kShadowKidsApiWithSafeSites);
}
+SET_CROMITE_FEATURE_DISABLED(kForceGoogleSafeSearchForSupervisedUsers);
} // namespace supervised_user
diff --git a/components/supervised_user/core/common/pref_names.h b/components/supervised_user/core/common/pref_names.h
--- a/components/supervised_user/core/common/pref_names.h
+++ b/components/supervised_user/core/common/pref_names.h
@@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
@@ -1176,6 +1176,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1178,6 +1178,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@@ -24,7 +24,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -3484,7 +3490,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3502,7 +3508,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
: HasAudio();
// Audio only stream is allowed to play when in background.
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -168,10 +168,6 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
@@ -169,10 +169,6 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
* tab page if the homepage button is force enabled via flag.
*/
public static GURL getDefaultHomepageGurl() {
@@ -26,12 +26,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa
- }
-
String homepagePartnerDefaultGurlSerialized =
SharedPreferencesManager.getInstance().readString(
ChromeSharedPreferences.getInstance().readString(
ChromePreferenceKeys.HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_GURL, "");
diff --git a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
--- a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
+++ b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
@@ -214,7 +214,7 @@ public class PartnerBrowserCustomizations {
@@ -215,7 +215,7 @@ public class PartnerBrowserCustomizations {
boolean systemOrPreStable =
(context.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) == 1
|| !VersionInfo.isStableBuild();
@@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
@@ -713,4 +713,20 @@ void ExecutionContext::WriteIntoTrace(
@@ -710,6 +710,22 @@ void ExecutionContext::WriteIntoTrace(
proto->set_world_type(GetWorldType(*this));
}
@@ -44,7 +44,9 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
+ return "public";
+}
+
} // namespace blink
bool ExecutionContext::CrossOriginIsolatedCapabilityOrDisabledWebSecurity()
const {
return Agent::IsWebSecurityDisabled() || CrossOriginIsolatedCapability();
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -59,7 +61,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
@@ -89,6 +89,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
@@ -85,6 +85,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
virtual SubresourceFilter* GetSubresourceFilter() const = 0;
virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0;
@@ -70,7 +72,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
@@ -588,6 +588,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -592,6 +592,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@@ -100,7 +102,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -175,6 +175,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
@@ -176,6 +176,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
@@ -149,7 +151,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th
diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.h b/third_party/blink/renderer/core/loader/worker_fetch_context.h
--- a/third_party/blink/renderer/core/loader/worker_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/worker_fetch_context.h
@@ -64,6 +64,7 @@ class WorkerFetchContext final : public BaseFetchContext {
@@ -62,6 +62,7 @@ class WorkerFetchContext final : public BaseFetchContext {
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
@@ -206,7 +208,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
scoped_refptr<BlobDataHandle> ExtractBlobHandle(
Request* request,
ExceptionState& exception_state) {
@@ -187,6 +211,13 @@ ScriptPromise BackgroundFetchManager::fetch(
@@ -188,6 +212,13 @@ ScriptPromise BackgroundFetchManager::fetch(
exception_state);
}
@@ -119,7 +119,7 @@ diff --git a/content/browser/child_process_security_policy_impl.cc b/content/bro
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1056,6 +1056,8 @@ component("net") {
@@ -1058,6 +1058,8 @@ component("net") {
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
@@ -47,16 +47,16 @@ diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/c
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
@@ -27,6 +27,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega
import java.util.ArrayList;
@@ -28,6 +28,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
+import java.util.HashSet;
+
/**
* Main toolbar of bookmark UI. It is responsible for displaying title and buttons
* associated with the current context.
@@ -183,6 +185,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
* Main toolbar of bookmark UI. It is responsible for displaying title and buttons associated with
* the current context.
@@ -184,6 +186,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
void setCurrentFolder(BookmarkId folder) {
mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
@@ -64,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.import_menu_id).setVisible(true);
getMenu().findItem(R.id.export_menu_id).setVisible(true);
}
@@ -211,6 +214,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -212,6 +215,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
mExportBookmarkRunnable.run();
return true;
}
@@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
return mMenuIdClickedFunction.apply(menuItem.getItemId());
}
@@ -233,6 +247,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -234,6 +248,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
getMenu().findItem(R.id.import_menu_id).setVisible(mCurrentFolder != null);
getMenu().findItem(R.id.export_menu_id).setVisible(mCurrentFolder != null);
@@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
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
@@ -245,6 +245,9 @@ CHAR_LIMIT guidelines:
@@ -248,6 +248,9 @@ CHAR_LIMIT guidelines:
<message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR_LIMIT=32]">
Sites
</message>
+21 -19
View File
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chrome/browser/omaha/OmahaBase.java | 57 +++-
.../chrome/browser/omaha/UpdateConfigs.java | 30 +-
.../browser/omaha/UpdateMenuItemHelper.java | 82 +++++-
.../browser/omaha/UpdateStatusProvider.java | 161 ++++++++---
.../browser/omaha/UpdateStatusProvider.java | 163 ++++++++---
.../browser/omaha/VersionNumberGetter.java | 3 +-
.../inline/BromiteInlineUpdateController.java | 272 ++++++++++++++++++
.../omaha/inline/InlineUpdateController.java | 51 ++++
@@ -32,7 +32,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../endpoint_fetcher/endpoint_fetcher.h | 23 +-
.../Bromite-auto-updater.inc | 3 +
.../Bromite-auto-updater.inc | 1 +
24 files changed, 932 insertions(+), 50 deletions(-)
24 files changed, 932 insertions(+), 52 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
@@ -55,7 +55,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -1894,6 +1894,9 @@ if (enable_java_templates && is_android) {
@@ -1899,6 +1899,9 @@ if (enable_java_templates && is_android) {
sources = [ "//build/android/java/templates/BuildConfig.template" ]
defines = []
@@ -68,7 +68,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
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
@@ -872,6 +872,9 @@ chrome_java_sources = [
@@ -878,6 +878,9 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java",
"java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java",
"java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java",
@@ -184,7 +184,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase
}
/**
@@ -567,6 +573,10 @@ public class OmahaBase {
@@ -569,6 +575,10 @@ public class OmahaBase {
/** Sends the request to the server and returns the response. */
static String sendRequestToServer(HttpURLConnection urlConnection, String request)
throws RequestFailureException {
@@ -195,7 +195,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase
try {
OutputStream out = new BufferedOutputStream(urlConnection.getOutputStream());
OutputStreamWriter writer = new OutputStreamWriter(out);
@@ -637,4 +647,47 @@ public class OmahaBase {
@@ -639,4 +649,47 @@ public class OmahaBase {
// updateStatus is only used for the on-demand check.
null);
}
@@ -460,7 +460,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
+import org.chromium.chrome.browser.omaha.inline.InlineUpdateControllerFactory;
import org.chromium.chrome.browser.omaha.metrics.UpdateSuccessMetrics;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
@@ -34,30 +43,37 @@ import java.io.File;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -676,7 +676,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
// Push custom configurations for certain update states.
switch (forcedUpdateState) {
case UpdateState.UPDATE_AVAILABLE:
@@ -279,27 +366,33 @@ public class UpdateStatusProvider {
@@ -279,29 +366,33 @@ public class UpdateStatusProvider {
return status;
}
@@ -689,16 +689,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
- status.latestVersion = VersionNumberGetter.getInstance().getLatestKnownVersion();
-
- boolean allowedToUpdate = checkForSufficientStorage()
- // Disable the version update check for automotive. See b/297925838.
- && !BuildInfo.getInstance().isAutomotive
- && PackageUtils.isPackageInstalled(
- GooglePlayServicesUtil.GOOGLE_PLAY_STORE_PACKAGE);
- status.updateState =
- allowedToUpdate ? UpdateState.UPDATE_AVAILABLE : UpdateState.NONE;
-
- SharedPreferencesManager.getInstance().removeKey(
- ChromeSharedPreferences.getInstance().removeKey(
- ChromePreferenceKeys.LATEST_UNSUPPORTED_VERSION);
- } else if (!VersionNumberGetter.isCurrentOsVersionSupported()) {
- status.updateState = UpdateState.UNSUPPORTED_OS_VERSION;
- status.latestUnsupportedVersion = SharedPreferencesManager.getInstance().readString(
- status.latestUnsupportedVersion = ChromeSharedPreferences.getInstance().readString(
- ChromePreferenceKeys.LATEST_UNSUPPORTED_VERSION, null);
- } else {
- status.updateState = UpdateState.NONE;
@@ -1207,7 +1209,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc b/chrom
diff --git a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
--- a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
+++ b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
@@ -70,6 +70,24 @@ public final class EndpointFetcher {
@@ -71,6 +71,24 @@ public final class EndpointFetcher {
postData, timeout, headers, annotation.getHashCode(), callback);
}
@@ -1232,7 +1234,7 @@ diff --git a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browse
@NativeMethods
public interface Natives {
void nativeFetchOAuth(Profile profile, String oathConsumerName, String url,
@@ -78,7 +96,13 @@ public final class EndpointFetcher {
@@ -79,7 +97,13 @@ public final class EndpointFetcher {
void nativeFetchChromeAPIKey(Profile profile, String url, String httpsMethod,
String contentType, String postData, long timeout, String[] headers,
int annotationHashCode, Callback<EndpointResponse> callback);
@@ -1258,7 +1260,7 @@ new file mode 100644
+
+package org.chromium.chrome.browser.endpoint_fetcher;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.jni_zero.CalledByNative;
+
+public class EndpointHeaderResponse {
+ private final String mResponseString;
@@ -1286,9 +1288,9 @@ new file mode 100644
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
@@ -271,6 +271,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kNotificationPermissionBottomSheet,
@@ -269,6 +269,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kPageAnnotationsService,
&kPaintPreviewNewColdStartHeuristic,
&kPreconnectOnTabCreation,
+ &kInlineUpdateFlow,
&kBookmarksImprovedSaveFlow,
@@ -1297,7 +1299,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
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
@@ -305,6 +305,7 @@ public abstract class ChromeFeatureList {
@@ -304,6 +304,7 @@ public abstract class ChromeFeatureList {
"IncognitoReauthenticationForAndroid";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
public static final String INFOBAR_SCROLL_OPTIMIZATION = "InfobarScrollOptimization";
@@ -1308,7 +1310,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
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
@@ -2216,6 +2216,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -2109,6 +2109,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_DEPRECATION_WARNING" desc="Warning about Chrome updates no longer being supported">
Chrome updates are no longer supported for this version of Android
</message>
@@ -1321,7 +1323,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Account management UI strings. -->
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
@@ -3840,7 +3846,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3746,7 +3752,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<!-- Main menu items -->
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
@@ -1333,7 +1335,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</message>
<message name="IDS_MENU_UPDATE_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that a newer version of Chrome is available. [CHAR_LIMIT=30]">
Newer version is available
@@ -3851,6 +3860,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3757,6 +3766,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_UPDATE_UNSUPPORTED_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that the Android version on the device is unsupported. [CHAR_LIMIT=30]">
Android version is unsupported
</message>
+125 -81
View File
@@ -17,31 +17,31 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/chrome_java_sources.gni | 2 +
.../java/res/layout/adblock_editor.xml | 67 +++++
chrome/android/java/res/values/styles.xml | 18 ++
chrome/android/java/res/values/values.xml | 2 +
chrome/android/java/res/values/values.xml | 4 +
.../java/res/xml/adblock_preferences.xml | 25 ++
.../android/java/res/xml/main_preferences.xml | 5 +
.../browser/settings/AdBlockEditor.java | 91 ++++++
.../browser/settings/AdBlockPreferences.java | 61 ++++
.../browser/settings/AdBlockPreferences.java | 58 ++++
.../chrome/browser/tabmodel/TabModelImpl.java | 2 +-
chrome/app/generated_resources.grd | 10 +
chrome/browser/after_startup_task_utils.cc | 4 +
chrome/browser/browser_process.h | 6 +
chrome/browser/browser_process_impl.cc | 20 ++
chrome/browser/browser_process_impl.cc | 21 ++
chrome/browser/browser_process_impl.h | 2 +
chrome/browser/chrome_browser_main.cc | 3 +
chrome/browser/flags/BUILD.gn | 3 +
.../flags/android/adblock_native_gateway.cc | 21 ++
.../browser/flags/AdBlockNativeGateway.java | 20 ++
.../net/system_network_context_manager.cc | 3 +
.../flags/android/adblock_native_gateway.cc | 31 ++
.../browser/flags/AdBlockNativeGateway.java | 30 ++
.../net/system_network_context_manager.cc | 8 +
.../sessions/session_restore_android.cc | 6 +-
.../strings/android_chrome_strings.grd | 14 +
chrome/common/pref_names.h | 3 +
.../strings/android/site_settings.grdp | 4 +-
chrome/common/pref_names.h | 5 +
.../strings/android/site_settings.grdp | 3 +
components/component_updater/BUILD.gn | 7 +
.../adblock_updater_service.cc | 268 ++++++++++++++++++
.../adblock_updater_service.h | 98 +++++++
.../download_filters_task.cc | 239 ++++++++++++++++
.../component_updater/download_filters_task.h | 129 +++++++++
.../adblock_updater_service.cc | 281 ++++++++++++++++++
.../adblock_updater_service.h | 103 +++++++
.../download_filters_task.cc | 239 +++++++++++++++
.../component_updater/download_filters_task.h | 129 ++++++++
...ent_subresource_filter_throttle_manager.cc | 15 +
...tent_subresource_filter_throttle_manager.h | 2 +
.../content/browser/ruleset_service.cc | 42 ++-
@@ -52,7 +52,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/subresource_filter_features.cc | 116 +-------
.../core/common/indexed_ruleset.cc | 5 +-
.../Bromite-subresource-adblocker.inc | 3 +
40 files changed, 1208 insertions(+), 129 deletions(-)
40 files changed, 1254 insertions(+), 127 deletions(-)
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
@@ -68,7 +68,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
@@ -304,6 +304,7 @@ if (current_toolchain == default_toolchain) {
@@ -297,6 +297,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/android/modules/image_editor/provider:java",
"//chrome/android/modules/stack_unwinder/provider:java",
"//chrome/android/webapk/libs/client:client_java",
@@ -79,7 +79,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -448,6 +448,7 @@ chrome_java_resources = [
@@ -450,6 +450,7 @@ chrome_java_resources = [
"java/res/layout/account_chooser_dialog_title.xml",
"java/res/layout/account_divider_preference.xml",
"java/res/layout/account_management_account_row.xml",
@@ -87,7 +87,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/layout/auto_sign_in_first_run_dialog.xml",
"java/res/layout/autofill_billing_address_dropdown.xml",
"java/res/layout/autofill_card_name_and_number.xml",
@@ -648,6 +649,7 @@ chrome_java_resources = [
@@ -655,6 +656,7 @@ chrome_java_resources = [
"java/res/xml/about_chrome_preferences.xml",
"java/res/xml/account_management_preferences.xml",
"java/res/xml/ad_services_config.xml",
@@ -98,7 +98,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
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
@@ -960,6 +960,8 @@ chrome_java_sources = [
@@ -967,6 +967,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java",
"java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java",
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java",
@@ -210,10 +210,12 @@ diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
--- a/chrome/android/java/res/values/values.xml
+++ b/chrome/android/java/res/values/values.xml
@@ -27,6 +27,8 @@ found in the LICENSE file.
@@ -27,6 +27,10 @@ found in the LICENSE file.
<!-- Compositor Tab Title Text -->
<bool name="compositor_tab_title_fake_bold_text">true</bool>
+ <string name="adblock_on">Autoupdate enabled</string>
+ <string name="adblock_off">Autoupdate disabled</string>
+ <string name="adblock_help_url">https://www.bromite.org/custom-filters</string>
+
<string name="proxy_title">Proxy configuration</string>
@@ -235,27 +237,27 @@ new file mode 100644
+
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="adblock_switch"
+ android:summaryOn="@string/text_on"
+ android:summaryOff="@string/text_off" />
+
+ <org.chromium.chrome.browser.about_settings.HyperlinkPreference
+ android:key="adblock_help"
+ android:title="@string/adblock_help"
+ app:url="@string/adblock_help_url" />
+ android:summaryOn="@string/adblock_on"
+ android:summaryOff="@string/adblock_off" />
+
+ <Preference
+ android:key="adblock_edit"
+ android:title="@string/options_adblock_edit_label"
+ android:fragment="org.chromium.chrome.browser.settings.AdBlockEditor" />
+
+ <org.chromium.chrome.browser.about_settings.HyperlinkPreference
+ android:key="adblock_help"
+ android:title="@string/adblock_help"
+ app:url="@string/adblock_help_url" />
+
+</PreferenceScreen>
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -71,6 +71,11 @@
android:key="eyeo_adblock"
android:order="13"
android:title="@string/adblock_settings_title" />
@@ -72,6 +72,11 @@ found in the LICENSE file.
android:key="safety_check"
android:order="12"
android:title="@string/prefs_safety_check"/>
+ <Preference
+ android:fragment="org.chromium.chrome.browser.settings.AdBlockPreferences"
+ android:key="adblock"
@@ -323,7 +325,7 @@ new file mode 100644
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ mSaveButton.setEnabled(s.length() != 0);
+ mSaveButton.setEnabled(true); // was (s.length() != 0);
+ mResetButton.setEnabled(true);
+ }
+
@@ -364,7 +366,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBloc
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java
@@ -0,0 +1,61 @@
@@ -0,0 +1,58 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -400,15 +402,12 @@ new file mode 100644
+ getActivity().setTitle(R.string.options_adblock_title);
+ SettingsUtils.addPreferencesFromResource(this, R.xml.adblock_preferences);
+
+ BrowserContextHandle browserContextHandle =
+ getSiteSettingsDelegate().getBrowserContextHandle();
+
+ ChromeSwitchPreference mAdBlockSwitch =
+ (ChromeSwitchPreference) findPreference(PREF_ADBLOCK_SWITCH);
+ boolean isAdBlockEnabled = !WebsitePreferenceBridge.isCategoryEnabled(browserContextHandle, ContentSettingsType.ADS);
+ boolean isAdBlockEnabled = AdBlockNativeGateway.getAdBlockEnabled();
+ mAdBlockSwitch.setChecked(isAdBlockEnabled);
+ mAdBlockSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
+ WebsitePreferenceBridge.setCategoryEnabled(browserContextHandle, ContentSettingsType.ADS, !(boolean) newValue);
+ AdBlockNativeGateway.setAdBlockEnabled((boolean) newValue);
+ return true;
+ });
+
@@ -441,7 +440,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -14317,6 +14317,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -14539,6 +14539,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@@ -501,7 +500,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
namespace extensions {
class EventRouterForwarder;
}
@@ -241,6 +246,7 @@ class BrowserProcess {
@@ -245,6 +250,7 @@ class BrowserProcess {
#endif
virtual component_updater::ComponentUpdateService* component_updater() = 0;
@@ -512,7 +511,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1130,6 +1130,26 @@ BrowserProcessImpl::component_updater() {
@@ -1134,6 +1134,27 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@@ -531,6 +530,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
+ g_browser_process->system_network_context_manager()->GetSharedURLLoaderFactory(),
+ std::move(scheduler),
+ g_browser_process->subresource_filter_ruleset_service(),
+ local_state()->GetBoolean(prefs::kAdBlockEnabled),
+ local_state()->GetString(prefs::kAdBlockFiltersURL));
+
+ return adblock_updater_.get();
@@ -542,7 +542,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
--- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h
@@ -204,6 +204,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -208,6 +208,7 @@ class BrowserProcessImpl : public BrowserProcess,
#endif
component_updater::ComponentUpdateService* component_updater() override;
@@ -550,7 +550,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
MediaFileSystemRegistry* media_file_system_registry() override;
WebRtcLogUploader* webrtc_log_uploader() override;
network_time::NetworkTimeTracker* network_time_tracker() override;
@@ -398,6 +399,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -404,6 +405,7 @@ class BrowserProcessImpl : public BrowserProcess,
// to concerns over integrity of data shared between profiles,
// but some users of component updater only install per-user.
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
@@ -561,7 +561,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
--- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc
@@ -431,6 +431,9 @@ StartupProfileInfo CreateInitialProfile(
@@ -428,6 +428,9 @@ StartupProfileInfo CreateInitialProfile(
// missing code in the above test.
CHECK(profile_info.profile) << "Cannot get default profile.";
@@ -602,7 +602,7 @@ diff --git a/chrome/browser/flags/android/adblock_native_gateway.cc b/chrome/bro
new file mode 100755
--- /dev/null
+++ b/chrome/browser/flags/android/adblock_native_gateway.cc
@@ -0,0 +1,21 @@
@@ -0,0 +1,31 @@
+#include "chrome/browser/flags/jni_headers/AdBlockNativeGateway_jni.h"
+
+#include "base/android/jni_string.h"
@@ -624,15 +624,25 @@ new file mode 100755
+ g_browser_process->local_state()->SetString(prefs::kAdBlockFiltersURL,
+ base::android::ConvertJavaStringToUTF8(env, url));
+}
+
+static jboolean JNI_AdBlockNativeGateway_GetAdBlockEnabled(
+ JNIEnv* env) {
+ return g_browser_process->local_state()->GetBoolean(prefs::kAdBlockEnabled);
+}
+
+static void JNI_AdBlockNativeGateway_SetAdBlockEnabled(
+ JNIEnv* env, jboolean enabled) {
+ g_browser_process->local_state()->SetBoolean(prefs::kAdBlockEnabled, enabled);
+}
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/AdBlockNativeGateway.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/AdBlockNativeGateway.java
new file mode 100755
--- /dev/null
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/AdBlockNativeGateway.java
@@ -0,0 +1,20 @@
@@ -0,0 +1,30 @@
+package org.chromium.chrome.browser.flags;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.NativeMethods;
+import org.jni_zero.CalledByNative;
+import org.jni_zero.NativeMethods;
+
+public class AdBlockNativeGateway {
+ public static void setAdBlockFiltersURL(String url) {
@@ -643,19 +653,34 @@ new file mode 100755
+ return AdBlockNativeGatewayJni.get().getAdBlockFiltersURL();
+ }
+
+ public static void setAdBlockEnabled(boolean enabled) {
+ AdBlockNativeGatewayJni.get().setAdBlockEnabled(enabled);
+ }
+
+ public static boolean getAdBlockEnabled() {
+ return AdBlockNativeGatewayJni.get().getAdBlockEnabled();
+ }
+
+ @NativeMethods
+ interface Natives {
+ void setAdBlockFiltersURL(String url);
+ String getAdBlockFiltersURL();
+ void setAdBlockEnabled(boolean enabled);
+ boolean getAdBlockEnabled();
+ }
+}
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
@@ -604,6 +604,9 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
@@ -609,6 +609,14 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
StubResolverConfigReader::RegisterPrefs(registry);
+#if BUILDFLAG(IS_ANDROID)
+ registry->RegisterBooleanPref(prefs::kAdBlockEnabled, true);
+#else
+ registry->RegisterBooleanPref(prefs::kAdBlockEnabled, false);
+#endif
+ registry->RegisterStringPref(prefs::kAdBlockFiltersURL,
+ "https://www.bromite.org/filters/filters.dat");
+
@@ -681,7 +706,7 @@ diff --git a/chrome/browser/sessions/session_restore_android.cc b/chrome/browser
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
@@ -217,6 +217,20 @@ CHAR_LIMIT guidelines:
@@ -220,6 +220,20 @@ CHAR_LIMIT guidelines:
Advanced
</message>
@@ -705,12 +730,14 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -2598,6 +2598,9 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2625,6 +2625,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
inline constexpr char kAudioCaptureAllowedUrls[] =
"hardware.audio_capture_allowed_urls";
+// Holds the URL to an indexed subresource filters file.
+inline constexpr char kAdBlockFiltersURL[] = "adblock.filters_url";
+
+inline constexpr char kAdBlockEnabled[] = "adblock.enabled";
+
// A pref holding the value of the policy used to explicitly allow or deny
// access to video capture devices. When enabled or not set, the user is
@@ -718,24 +745,23 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -362,8 +362,8 @@
@@ -371,6 +371,9 @@
<message name="IDS_INTRUSIVE_ADS_INFORMATION" desc="The extra information at the top of the Site Details page when the site tends to show intrusive ads">
This site shows intrusive or misleading ads
</message>
- <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ADS_BLOCKED" desc="A setting that, if turned on, will block intrusive or misleading ads on sites that have a history of showing such ads.">
- Block ads on sites that show intrusive or misleading ads
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ADS_BLOCKED" desc="A setting that, if turned on, will block ads.">
+ Block ads based on the current filters
</message>
+ </message>
<message name="IDS_WEBSITE_SETTINGS_CATEGORY_ADS_BLOCKED_LIST" desc="Summary text explaining that the Ads permission is set to block ads on some sites. To be shown in the list of permission categories.">
Blocked on some sites
</message>
diff --git a/components/component_updater/BUILD.gn b/components/component_updater/BUILD.gn
--- a/components/component_updater/BUILD.gn
+++ b/components/component_updater/BUILD.gn
@@ -10,6 +10,12 @@ static_library("component_updater") {
@@ -16,6 +16,12 @@ static_library("component_updater") {
"component_installer.h",
"component_updater_command_line_config_policy.cc",
"component_updater_command_line_config_policy.h",
"component_updater_paths.cc",
"component_updater_paths.h",
+
+ "adblock_updater_service.cc",
+ "adblock_updater_service.h",
@@ -745,7 +771,7 @@ diff --git a/components/component_updater/BUILD.gn b/components/component_update
"component_updater_service.cc",
"component_updater_service.h",
"component_updater_service_internal.h",
@@ -39,6 +45,7 @@ static_library("component_updater") {
@@ -47,6 +53,7 @@ static_library("component_updater") {
"//components/prefs",
"//components/update_client",
"//components/version_info",
@@ -757,7 +783,7 @@ diff --git a/components/component_updater/adblock_updater_service.cc b/component
new file mode 100644
--- /dev/null
+++ b/components/component_updater/adblock_updater_service.cc
@@ -0,0 +1,268 @@
@@ -0,0 +1,281 @@
+/*
+ This file is part of Bromite.
+
@@ -801,9 +827,16 @@ new file mode 100644
+ next_check_delay = 60*60*24*7, // 1 week
+ on_demand_check_delay = 60; // minimum 1 minute between each on-demand check
+
+AdBlockUpdaterService::AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler,
+ subresource_filter::RulesetService* ruleset_service, std::string filters_url)
+ : ruleset_service_(ruleset_service), shared_url_network_factory_(shared_url_network_factory), scheduler_(std::move(scheduler)) {
+AdBlockUpdaterService::AdBlockUpdaterService(
+ scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory,
+ std::unique_ptr<component_updater::UpdateScheduler> scheduler,
+ subresource_filter::RulesetService* ruleset_service,
+ bool enabled,
+ std::string filters_url)
+ : ruleset_service_(ruleset_service),
+ shared_url_network_factory_(shared_url_network_factory),
+ scheduler_(std::move(scheduler)),
+ enabled_(enabled) {
+ DCHECK(ruleset_service);
+
+ filters_url_ = filters_url;
@@ -862,6 +895,11 @@ new file mode 100644
+bool AdBlockUpdaterService::OnDemandUpdateAsNeeded(bool is_foreground, Callback on_finished) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ if (!enabled_) {
+ LOG(INFO) << "AdBlockUpdaterService: update is disabled.";
+ return false;
+ }
+
+ // Check if the request is too early
+ if (!last_update_.is_null()) {
+ base::TimeDelta delta =
@@ -941,22 +979,23 @@ new file mode 100644
+ }
+
+ last_update_ = base::TimeTicks::Now();
+ auto task = base::MakeRefCounted<DownloadFiltersTask>(
+ shared_url_network_factory_,
+ is_foreground, filters_url_,
+ min_last_modified,
+ base::BindOnce(&AdBlockUpdaterService::OnUpdateComplete, base::Unretained(this),
+ std::move(on_finished)));
+ if (!filters_url_.empty()) {
+ auto task = base::MakeRefCounted<DownloadFiltersTask>(
+ shared_url_network_factory_,
+ is_foreground, filters_url_,
+ min_last_modified,
+ base::BindOnce(&AdBlockUpdaterService::OnUpdateComplete, base::Unretained(this),
+ std::move(on_finished)));
+
+ // run task now; task is responsible for downloading the filters (if Last-Modified header is more recent)
+ // and then clearing the 'is_updating' status
+ base::SequencedTaskRunner::GetCurrentDefault()->PostTask(FROM_HERE,
+ base::BindOnce(&DownloadFiltersTask::Run, base::Unretained(task.get())));
+ tasks_.insert(task);
+
+ base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
+ FROM_HERE, base::BindOnce(&AdBlockUpdaterService::NotifyObservers, base::Unretained(this), Event::ADBLOCK_UPDATE_DOWNLOADING));
+ // run task now; task is responsible for downloading the filters (if Last-Modified header is more recent)
+ // and then clearing the 'is_updating' status
+ base::SequencedTaskRunner::GetCurrentDefault()->PostTask(FROM_HERE,
+ base::BindOnce(&DownloadFiltersTask::Run, base::Unretained(task.get())));
+ tasks_.insert(task);
+
+ base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
+ FROM_HERE, base::BindOnce(&AdBlockUpdaterService::NotifyObservers, base::Unretained(this), Event::ADBLOCK_UPDATE_DOWNLOADING));
+ }
+ return true;
+}
+
@@ -1030,7 +1069,7 @@ diff --git a/components/component_updater/adblock_updater_service.h b/components
new file mode 100644
--- /dev/null
+++ b/components/component_updater/adblock_updater_service.h
@@ -0,0 +1,98 @@
@@ -0,0 +1,103 @@
+/*
+ This file is part of Bromite.
+
@@ -1086,8 +1125,12 @@ new file mode 100644
+// All methods are safe to call ONLY from the browser's main thread.
+class AdBlockUpdaterService {
+ public:
+ AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler,
+ subresource_filter::RulesetService* ruleset_service, std::string filters_url);
+ AdBlockUpdaterService(
+ scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory,
+ std::unique_ptr<component_updater::UpdateScheduler> scheduler,
+ subresource_filter::RulesetService* ruleset_service,
+ bool enabled,
+ std::string filters_url);
+ ~AdBlockUpdaterService();
+
+ // Adds an observer for this class. An observer should not be added more
@@ -1121,6 +1164,7 @@ new file mode 100644
+ scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory_;
+ std::unique_ptr<component_updater::UpdateScheduler> scheduler_;
+
+ bool enabled_;
+ bool is_updating_ = false;
+ bool scheduled_ = false;
+ std::set<scoped_refptr<DownloadFiltersTask>> tasks_;
@@ -1528,7 +1572,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
web_contents_helper_(web_contents_helper) {}
ContentSubresourceFilterThrottleManager::
@@ -667,6 +671,17 @@ ContentSubresourceFilterThrottleManager::
@@ -668,6 +672,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state);
}
@@ -1696,7 +1740,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
diff --git a/components/subresource_filter/content/browser/ruleset_service.h b/components/subresource_filter/content/browser/ruleset_service.h
--- a/components/subresource_filter/content/browser/ruleset_service.h
+++ b/components/subresource_filter/content/browser/ruleset_service.h
@@ -184,7 +184,7 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
@@ -182,7 +182,7 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
//
// Virtual so that it can be mocked out in tests.
virtual void IndexAndStoreAndPublishRulesetIfNeeded(
@@ -1705,7 +1749,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.h b/c
// Get the ruleset version associated with the current local_state_.
IndexedRulesetVersion GetMostRecentlyIndexedVersion() const;
@@ -217,6 +217,11 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
@@ -215,6 +215,11 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
const base::FilePath& indexed_ruleset_base_dir,
const UnindexedRulesetInfo& unindexed_ruleset_info);
+3 -3
View File
@@ -51,7 +51,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc
--- a/content/browser/loader/navigation_url_loader_impl.cc
+++ b/content/browser/loader/navigation_url_loader_impl.cc
@@ -1067,6 +1067,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
@@ -1063,6 +1063,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
return;
}
@@ -78,7 +78,7 @@ new file mode 100644
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
--- a/net/http/http_network_transaction.cc
+++ b/net/http/http_network_transaction.cc
@@ -99,6 +99,7 @@ const size_t kMaxRestarts = 32;
@@ -100,6 +100,7 @@ const size_t kMaxRestarts = 32;
// Returns true when Early Hints are allowed on the given protocol.
bool EarlyHintsAreAllowedOn(HttpResponseInfo::ConnectionInfo connection_info) {
@@ -139,7 +139,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -3906,8 +3906,8 @@
@@ -4019,8 +4019,8 @@
public: true,
},
{
@@ -85,7 +85,7 @@ Require: bromite-build-utils.patch
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
@@ -47,6 +47,10 @@ import org.chromium.url.GURL;
@@ -58,6 +58,10 @@ import org.chromium.url.GURL;
import java.util.Set;
@@ -96,7 +96,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
/**
* A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic.
*/
@@ -191,7 +195,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -203,7 +207,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@Override
public boolean isHelpAndFeedbackEnabled() {
@@ -105,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
}
@Override
@@ -272,6 +276,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -310,6 +314,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
return PrivacySandboxBridge.getFirstPartySetOwner(memberOrigin);
}
@@ -138,7 +138,7 @@ diff --git a/chrome/browser/installable/installed_webapp_bridge.cc b/chrome/brow
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
@@ -1358,4 +1358,5 @@
@@ -1367,4 +1367,5 @@
</settings-subpage>
</template>
</template>
@@ -147,7 +147,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
@@ -71,7 +71,49 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
@@ -72,7 +72,49 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
}
static get template() {
@@ -209,7 +209,7 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc
/**
* Add all of the child routes that originate from the privacy route,
@@ -137,6 +138,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
@@ -139,6 +140,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
r.SITE_SETTINGS_STORAGE_ACCESS =
r.SITE_SETTINGS.createChild('storageAccess');
}
@@ -237,7 +237,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
--- a/chrome/browser/resources/settings/site_settings/site_details.html
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
@@ -274,4 +274,5 @@
@@ -281,4 +281,5 @@
label="$i18n{siteSettingsAutoPictureInPicture}">
</site-details-permission>
</template>
@@ -272,7 +272,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details.ts b/c
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
@@ -43,7 +43,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
@@ -44,7 +44,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
}
// The following list is ordered alphabetically by |id|. The order in which
// these appear in the UI is determined elsewhere in this file.
@@ -328,7 +328,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
@@ -6,6 +6,54 @@ import {assertNotReached} from 'chrome://resources/js/assert_ts.js';
@@ -6,6 +6,54 @@ import {assertNotReached} from 'chrome://resources/js/assert.js';
import {ContentSettingsTypes} from '../site_settings/constants.js';
@@ -400,9 +400,9 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
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
@@ -1975,6 +1975,7 @@ static_library("ui") {
@@ -2006,6 +2006,7 @@ static_library("ui") {
"//components/commerce/core/mojom:mojo_bindings",
"//components/commerce/core/webui",
"//components/compose/core/browser:features",
"//components/endpoint_fetcher:endpoint_fetcher",
+ "//components/content_settings/core/browser:browser",
"//components/enterprise/common:files_scan_data",
@@ -420,8 +420,8 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
#include "components/page_info/core/features.h"
#include "components/page_info/core/proto/about_this_site_metadata.pb.h"
#include "components/page_info/page_info.h"
@@ -508,6 +510,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
icon = &vector_icons::kSelectWindowIcon;
@@ -509,6 +511,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
icon = &vector_icons::kPictureInPictureIcon;
break;
default:
+ bool found = false;
@@ -458,7 +458,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
#include "components/password_manager/core/browser/leak_detection_dialog_utils.h"
#include "components/password_manager/core/browser/manage_passwords_referrer.h"
#include "components/password_manager/core/common/password_manager_features.h"
@@ -3631,6 +3634,42 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
@@ -3678,6 +3681,42 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
policy_indicator::AddLocalizedStrings(html_source);
AddSecurityKeysStrings(html_source);
@@ -504,7 +504,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
@@ -41,6 +41,8 @@
@@ -42,6 +42,8 @@
#include "chrome/common/url_constants.h"
#include "chrome/grit/generated_resources.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
@@ -513,7 +513,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_pattern.h"
#include "components/content_settings/core/common/content_settings_utils.h"
@@ -206,7 +208,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
@@ -208,7 +210,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
static_assert(std::size(kContentSettingsTypeGroupNames) ==
// ContentSettingsType starts at -1, so add 1 here.
@@ -522,7 +522,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
"kContentSettingsTypeGroupNames should have "
"CONTENT_SETTINGS_NUM_TYPES elements");
@@ -461,6 +463,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
@@ -465,6 +467,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
return true;
}
}
@@ -536,7 +536,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
return false;
}
@@ -474,11 +483,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(base::StringPiece name) {
@@ -478,11 +487,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(base::StringPiece name) {
return entry.type;
}
}
@@ -562,7 +562,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
for (const auto& entry : kContentSettingsTypeGroupNames) {
if (type == entry.type) {
// Content setting types that aren't represented in the settings UI
@@ -493,7 +515,6 @@ base::StringPiece ContentSettingsTypeToGroupName(ContentSettingsType type) {
@@ -497,7 +519,6 @@ base::StringPiece ContentSettingsTypeToGroupName(ContentSettingsType type) {
return entry.name ? entry.name : base::StringPiece();
}
}
@@ -570,7 +570,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
NOTREACHED() << static_cast<int32_t>(type)
<< " is not a recognized content settings type.";
return base::StringPiece();
@@ -573,6 +594,13 @@ const std::vector<ContentSettingsType>& GetVisiblePermissionCategories() {
@@ -578,6 +599,13 @@ const std::vector<ContentSettingsType>& GetVisiblePermissionCategories() {
base_types->push_back(ContentSettingsType::MIDI_SYSEX);
}
@@ -587,7 +587,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -149,6 +149,21 @@ android_library("java") {
@@ -148,6 +148,21 @@ android_library("java") {
":site_settings_jni_headers",
"//components/content_settings/android:java_pref_names_srcjar",
]
@@ -609,7 +609,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
}
android_library("javatests") {
@@ -194,6 +209,7 @@ robolectric_library("junit") {
@@ -193,6 +208,7 @@ robolectric_library("junit") {
}
android_resources("java_resources") {
@@ -620,7 +620,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java
@@ -346,11 +346,14 @@ public class AllSiteSettings extends BaseSiteSettingsFragment
@@ -342,11 +342,14 @@ public class AllSiteSettings extends BaseSiteSettingsFragment
if (queryHasChanged) getInfoForOrigins();
});
@@ -1142,7 +1142,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
@ContentSettingValues @Nullable Integer defaultEnabledValue,
@ContentSettingValues @Nullable Integer defaultDisabledValue, int enabledSummary,
int disabledSummary) {
@@ -309,6 +309,8 @@ public class ContentSettingsResources {
@@ -303,6 +303,8 @@ public class ContentSettingsResources {
ContentSettingValues.BLOCK, R.string.website_settings_category_vr_ask,
R.string.website_settings_category_vr_blocked);
}
@@ -1151,7 +1151,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert false; // NOTREACHED
return null;
}
@@ -474,6 +476,12 @@ public class ContentSettingsResources {
@@ -468,6 +470,12 @@ public class ContentSettingsResources {
}
}
@@ -1164,7 +1164,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
/**
* Returns the string resource id for a content type to show with a permission category.
* @param enabled Whether the content type is enabled.
@@ -609,6 +617,8 @@ public class ContentSettingsResources {
@@ -610,6 +618,8 @@ public class ContentSettingsResources {
* Blocked states, in that order.
*/
public static int[] getTriStateSettingDescriptionIDs(int contentType) {
@@ -1176,7 +1176,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -310,6 +310,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -313,6 +313,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@ContentSettingValues
Integer contentSetting = website.site().getContentSetting(
browserContextHandle, mCategory.getContentSettingsType());
@@ -1187,7 +1187,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (contentSetting != null) {
return ContentSettingValues.BLOCK == contentSetting;
}
@@ -469,6 +473,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -472,6 +476,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
: null;
@@ -1195,7 +1195,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
configureGlobalToggles();
if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) {
RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered");
@@ -493,17 +498,26 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -496,17 +501,26 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
if (queryHasChanged) getInfoForOrigins();
});
@@ -1223,7 +1223,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) {
getSiteSettingsDelegate().launchProtectedContentHelpAndFeedbackActivity(
getActivity());
@@ -577,6 +591,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -576,6 +590,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
BrowserContextHandle browserContextHandle =
getSiteSettingsDelegate().getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle);
@@ -1235,7 +1235,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (BINARY_TOGGLE_KEY.equals(preference.getKey())) {
assert !mCategory.isManaged();
boolean toggleValue = (boolean) newValue;
@@ -796,6 +815,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -797,6 +816,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
: R.string.website_settings_allowed_group_heading_request_desktop_site;
break;
}
@@ -1244,7 +1244,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert resource > 0;
return getString(resource);
}
@@ -914,6 +935,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -915,6 +936,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
default:
break;
}
@@ -1253,7 +1253,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (allowSpecifyingExceptions) {
getPreferenceScreen().addPreference(new AddExceptionPreference(getStyledContext(),
ADD_EXCEPTION_KEY, getAddExceptionDialogMessage(), mCategory, this));
@@ -1085,8 +1108,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1086,8 +1109,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
private boolean isBlocked() {
switch (mGlobalToggleLayout) {
case GlobalToggleLayout.TRI_STATE_TOGGLE:
@@ -1270,9 +1270,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
case GlobalToggleLayout.FOUR_STATE_COOKIE_TOGGLE:
FourStateCookieSettingsPreference fourStateCookieToggle =
@@ -1165,7 +1196,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else if (mCategory.getType() == SiteSettingsCategory.Type.THIRD_PARTY_COOKIES) {
infoText.setSummary(R.string.website_settings_third_party_cookies_page_description);
@@ -1166,7 +1197,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else if (mCategory.getType() == SiteSettingsCategory.Type.STORAGE_ACCESS) {
infoText.setSummary(getStorageAccessSummary());
} else {
- screen.removePreference(infoText);
+ int infoMessage = BromiteCustomContentSettingImpl.getCategoryDescription(mCategory);
@@ -1283,7 +1283,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
// Hide the anti-abuse text preferences, as needed.
@@ -1189,6 +1224,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1190,6 +1225,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
screen.removePreference(antiAbuseThingsToConsiderHeader);
screen.removePreference(antiAbuseThingsToConsiderSectionOne);
}
@@ -1291,7 +1291,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (permissionBlockedByOs) {
maybeShowOsWarning(screen);
@@ -1352,7 +1388,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1371,7 +1407,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
int[] descriptionIds =
ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType);
@@ -1300,7 +1300,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
private void configureBinaryToggle(ChromeSwitchPreference binaryToggle, int contentType) {
@@ -1478,6 +1514,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1497,6 +1533,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@ContentSettingValues
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
@@ -1318,7 +1318,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -46,6 +46,7 @@ import java.util.Collection;
@@ -47,6 +47,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -1326,7 +1326,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
/**
* Shows the permissions and other settings for a particular website.
@@ -171,7 +172,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -172,7 +173,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
case ContentSettingsType.CLIPBOARD_READ_WRITE:
return "clipboard_permission_list";
default:
@@ -1335,7 +1335,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
}
@@ -536,7 +537,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -529,7 +530,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
private void setupContentSettingsPreferences() {
mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder();
@@ -1345,7 +1345,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference preference = new ChromeSwitchPreference(getStyledContext());
preference.setKey(getPreferenceKey(type));
@@ -1016,14 +1018,22 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1026,14 +1028,22 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
private void setupContentSettingsPreference(Preference preference,
@ContentSettingValues @Nullable Integer value, boolean isEmbargoed) {
@@ -1371,7 +1371,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
switchPreference.setOnPreferenceChangeListener(this);
@ContentSettingsType
int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
@@ -1176,7 +1186,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1186,7 +1196,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
public @ContentSettingsType int getContentSettingsTypeFromPreferenceKey(String preferenceKey) {
if (mPreferenceMap == null) {
mPreferenceMap = new HashMap<>();
@@ -1380,7 +1380,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
String key = getPreferenceKey(type);
if (key != null) {
mPreferenceMap.put(key, type);
@@ -1218,7 +1228,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1228,7 +1238,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
}
mSite.setContentSetting(browserContextHandle, type, permission);
@@ -1389,7 +1389,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
preference.setIcon(getContentSettingsIcon(type, permission));
if (mWebsiteSettingsObserver != null) {
@@ -1248,7 +1258,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1258,7 +1268,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
// TODO(mvanouwerkerk): Refactor this class so that it does not depend on the screen state
// for its logic. This class should maintain its own data model, and only update the screen
// after a change is made.
@@ -1401,24 +1401,24 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
@@ -37,6 +37,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
: R.xml.site_settings_preferences);
@@ -34,6 +34,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
SettingsUtils.addPreferencesFromResource(this, R.xml.site_settings_preferences);
getActivity().setTitle(getContext().getString(R.string.prefs_site_settings));
+ BromiteCustomContentSettingImpl.configurePreferences(this);
configurePreferences();
updatePreferenceStates();
}
@@ -52,7 +53,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
@@ -54,7 +55,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
}
private void configurePreferences() {
// Remove unsupported settings categories.
- for (@SiteSettingsCategory.Type int type = 0; type < SiteSettingsCategory.Type.NUM_ENTRIES;
+ for (@SiteSettingsCategory.Type int type = 0; type < BromiteCustomContentSettingImpl.NUM_ENTRIES();
type++) {
if (!getSiteSettingsDelegate().isCategoryVisible(type)) {
getPreferenceScreen().removePreference(findPreference(type));
@@ -68,7 +69,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
@@ -70,7 +71,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
@CookieControlsMode
int cookieControlsMode =
UserPrefs.get(browserContextHandle).getInteger(COOKIE_CONTROLS_MODE);
@@ -1427,7 +1427,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference p = findPreference(prefCategory);
int contentType = SiteSettingsCategory.contentSettingsType(prefCategory);
// p can be null if the Preference was removed in configurePreferences.
@@ -133,10 +134,13 @@ public class SiteSettings extends BaseSiteSettingsFragment
@@ -135,10 +136,13 @@ public class SiteSettings extends BaseSiteSettingsFragment
} else if (Type.ZOOM == prefCategory) {
// Don't want to set a summary for Zoom because we don't want any message to display
// under the Zoom row on site settings.
@@ -1447,25 +1447,25 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
@@ -47,7 +47,7 @@ public class SiteSettingsCategory {
Type.PROTECTED_MEDIA, Type.SENSORS, Type.SOUND, Type.USB, Type.VIRTUAL_REALITY,
Type.USE_STORAGE, Type.AUTO_DARK_WEB_CONTENT, Type.REQUEST_DESKTOP_SITE,
Type.FEDERATED_IDENTITY_API, Type.THIRD_PARTY_COOKIES, Type.SITE_DATA, Type.ANTI_ABUSE,
- Type.ZOOM, Type.NUM_ENTRIES})
+ Type.ZOOM, Type.NUM_ENTRIES_CHROMIUM})
@@ -73,7 +73,7 @@ public class SiteSettingsCategory {
Type.ZOOM,
Type.STORAGE_ACCESS,
Type.TRACKING_PROTECTION,
- Type.NUM_ENTRIES
+ Type.NUM_ENTRIES_CHROMIUM
})
@Retention(RetentionPolicy.SOURCE)
public @interface Type {
// All updates here must also be reflected in {@link #preferenceKey(int)
@@ -85,7 +85,7 @@ public class SiteSettingsCategory {
/**
* Number of handled categories used for calculating array sizes.
*/
- int NUM_ENTRIES = 30;
+ int NUM_ENTRIES_CHROMIUM = 30;
@@ -113,7 +113,7 @@ public class SiteSettingsCategory {
int TRACKING_PROTECTION = 31;
/** Number of handled categories used for calculating array sizes. */
- int NUM_ENTRIES = 32;
+ int NUM_ENTRIES_CHROMIUM = 32;
}
private final BrowserContextHandle mBrowserContextHandle;
@@ -129,6 +129,9 @@ public class SiteSettingsCategory {
@@ -157,6 +157,9 @@ public class SiteSettingsCategory {
} else {
permission = "";
}
@@ -1475,7 +1475,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return new SiteSettingsCategory(browserContextHandle, type, permission);
}
@@ -137,7 +140,7 @@ public class SiteSettingsCategory {
@@ -165,7 +168,7 @@ public class SiteSettingsCategory {
@ContentSettingsType int contentSettingsType) {
assert contentSettingsType != -1;
assert Type.ALL_SITES == 0;
@@ -1484,7 +1484,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (contentSettingsType(i) == contentSettingsType) {
return createFromType(browserContextHandle, i);
}
@@ -148,7 +151,7 @@ public class SiteSettingsCategory {
@@ -176,7 +179,7 @@ public class SiteSettingsCategory {
public static SiteSettingsCategory createFromPreferenceKey(
BrowserContextHandle browserContextHandle, String preferenceKey) {
assert Type.ALL_SITES == 0;
@@ -1493,8 +1493,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (preferenceKey(i).equals(preferenceKey)) {
return createFromType(browserContextHandle, i);
}
@@ -219,8 +222,7 @@ public class SiteSettingsCategory {
case Type.ZOOM:
@@ -250,8 +253,7 @@ public class SiteSettingsCategory {
case Type.TRACKING_PROTECTION:
return ContentSettingsType.DEFAULT; // Conversion unavailable.
}
- assert false;
@@ -1503,7 +1503,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
/**
@@ -305,8 +307,12 @@ public class SiteSettingsCategory {
@@ -340,8 +342,12 @@ public class SiteSettingsCategory {
case Type.ZOOM:
return "zoom";
default:
@@ -1519,7 +1519,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
@@ -168,6 +168,8 @@ public interface SiteSettingsDelegate {
@@ -176,6 +176,8 @@ public interface SiteSettingsDelegate {
*/
String getFirstPartySetOwner(String memberOrigin);
@@ -1575,8 +1575,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
@@ -263,6 +263,12 @@ public final class Website implements WebsiteEntry {
RecordUserAction.record("SoundContentSetting.UnmuteBy.SiteSettings");
@@ -282,6 +282,12 @@ public final class Website implements WebsiteEntry {
exception = exceptions.get(0);
}
}
+
@@ -1612,7 +1612,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
@@ -265,7 +265,7 @@ public class WebsitePreferenceBridge {
@@ -266,7 +266,7 @@ public class WebsitePreferenceBridge {
case ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER:
return true;
default:
@@ -1621,7 +1621,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
}
@@ -280,7 +280,6 @@ public class WebsitePreferenceBridge {
@@ -281,7 +281,6 @@ public class WebsitePreferenceBridge {
public static boolean isCategoryEnabled(BrowserContextHandle browserContextHandle,
@ContentSettingsType int contentSettingsType) {
@@ -1739,7 +1739,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
namespace content_settings {
@@ -630,6 +631,7 @@ void ContentSettingsRegistry::Init() {
@@ -640,6 +641,7 @@ void ContentSettingsRegistry::Init() {
WebsiteSettingsRegistry::DESKTOP,
ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -1750,7 +1750,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
diff --git a/components/content_settings/core/browser/content_settings_uma_util.cc b/components/content_settings/core/browser/content_settings_uma_util.cc
--- a/components/content_settings/core/browser/content_settings_uma_util.cc
+++ b/components/content_settings/core/browser/content_settings_uma_util.cc
@@ -176,8 +176,9 @@ void RecordContentSettingsHistogram(const std::string& name,
@@ -179,8 +179,9 @@ void RecordContentSettingsHistogram(const std::string& name,
}
int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) {
@@ -1770,9 +1770,9 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
#include "components/content_settings/core/browser/host_content_settings_map.h"
+#include "components/content_settings/core/browser/website_settings_registry.h"
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_types.h"
#include "components/content_settings/core/common/content_settings_utils.h"
@@ -122,6 +123,17 @@ PatternPair ParsePatternString(const std::string& pattern_str) {
#include "components/content_settings/core/common/features.h"
@@ -121,6 +122,17 @@ PatternPair ParsePatternString(const std::string& pattern_str) {
void GetRendererContentSettingRules(const HostContentSettingsMap* map,
RendererContentSettingRules* rules) {
@@ -1793,7 +1793,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/browser/website_settings_info.h b/components/content_settings/core/browser/website_settings_info.h
--- a/components/content_settings/core/browser/website_settings_info.h
+++ b/components/content_settings/core/browser/website_settings_info.h
@@ -125,6 +125,30 @@ class WebsiteSettingsInfo {
@@ -132,6 +132,30 @@ class WebsiteSettingsInfo {
ScopingType scoping_type() const { return scoping_type_; }
IncognitoBehavior incognito_behavior() const { return incognito_behavior_; }
@@ -1824,7 +1824,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/
private:
const ContentSettingsType type_;
const std::string name_;
@@ -136,6 +160,17 @@ class WebsiteSettingsInfo {
@@ -143,6 +167,17 @@ class WebsiteSettingsInfo {
const LossyStatus lossy_status_;
const ScopingType scoping_type_;
const IncognitoBehavior incognito_behavior_;
@@ -1872,7 +1872,7 @@ diff --git a/components/content_settings/core/browser/website_settings_registry.
diff --git a/components/content_settings/core/common/BUILD.gn b/components/content_settings/core/common/BUILD.gn
--- a/components/content_settings/core/common/BUILD.gn
+++ b/components/content_settings/core/common/BUILD.gn
@@ -49,6 +49,13 @@ static_library("common") {
@@ -50,6 +50,13 @@ static_library("common") {
"//net",
"//url",
]
@@ -1977,9 +1977,9 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
// This mirrors the C++ type in content_settings.h.
struct ContentSettingPatternSource {
ContentSettingsPattern primary_pattern;
@@ -91,6 +96,7 @@ struct ContentSettingPatternSource {
@@ -92,6 +97,7 @@ struct ContentSettingPatternSource {
// This mirrors the C++ type in content_settings.h.
// TODO(https://crbug.com/1485360): This should be removed.
struct RendererContentSettingRules {
+ array<ContentSettingRuleSource> settings_rules;
array<ContentSettingPatternSource> image_rules;
@@ -2065,9 +2065,9 @@ diff --git a/components/content_settings/core/common/content_settings_param_trai
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h
--- a/components/content_settings/core/common/content_settings_types.h
+++ b/components/content_settings/core/common/content_settings_types.h
@@ -365,7 +365,9 @@ enum class ContentSettingsType : int32_t {
// request.
FILE_SYSTEM_ACCESS_EXTENDED_PERMISSION,
@@ -369,7 +369,9 @@ enum class ContentSettingsType : int32_t {
// heuristics.
TPCD_HEURISTICS_GRANTS,
- NUM_TYPES,
+ NUM_TYPES_CHROMIUM,
@@ -2217,7 +2217,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
#include "components/content_settings/core/browser/content_settings_registry.h"
#include "components/content_settings/core/browser/content_settings_uma_util.h"
@@ -1246,6 +1247,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
@@ -1250,6 +1251,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
// applies to permissions listed in |kPermissionType|.
bool PageInfo::ShouldShowPermission(
const PageInfo::PermissionInfo& info) const {
@@ -2232,7 +2232,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
// Note |ContentSettingsType::ADS| will show up regardless of its default
// value when it has been activated on the current origin.
if (info.type == ContentSettingsType::ADS) {
@@ -1346,7 +1355,19 @@ void PageInfo::PresentSitePermissions() {
@@ -1377,7 +1386,19 @@ void PageInfo::PresentSitePermissions() {
HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_);
@@ -2264,7 +2264,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
#include "components/page_info/core/features.h"
#include "components/page_info/page_info.h"
#include "components/page_info/page_info_ui_delegate.h"
@@ -607,6 +608,12 @@ PageInfoUI::~PageInfoUI() = default;
@@ -619,6 +620,12 @@ PageInfoUI::~PageInfoUI() = default;
// static
std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -2277,7 +2277,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id);
@@ -618,6 +625,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -630,6 +637,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
// static
std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
ContentSettingsType type) {
@@ -2290,7 +2290,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
@@ -1052,6 +1065,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
@@ -1064,6 +1077,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
if (info.type == type)
return true;
}
@@ -2363,7 +2363,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -44,6 +44,7 @@
@@ -43,6 +43,7 @@
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom-blink-forward.h"
#include "third_party/blink/public/mojom/permissions_policy/policy_disposition.mojom-blink-forward.h"
#include "third_party/blink/public/mojom/v8_cache_options.mojom-blink-forward.h"
@@ -2371,7 +2371,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
#include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/execution_context/security_context.h"
@@ -103,6 +104,10 @@ class SecurityOrigin;
@@ -102,6 +103,10 @@ class SecurityOrigin;
class ScriptState;
class ScriptWrappable;
class TrustedTypePolicyFactory;
@@ -10,9 +10,9 @@ Original License: BSD-3-Clause - https://spdx.org/licenses/BSD-3-Clause.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/layout/url_bar.xml | 1 +
.../browser/omnibox/LocationBarMediator.java | 12 ++++++++--
.../browser/omnibox/LocationBarMediator.java | 13 +++++++++--
.../chrome/browser/omnibox/UrlBar.java | 23 +++++++++++++++++++
3 files changed, 34 insertions(+), 2 deletions(-)
3 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/res/layout/url_bar.xml
--- a/chrome/android/java/res/layout/url_bar.xml
@@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
@@ -278,8 +278,16 @@ class LocationBarMediator
@@ -290,8 +290,17 @@ class LocationBarMediator
if (mNativeInitialized) RecordUserAction.record("FocusLocation");
// Don't clear Omnibox if the user just pasted text to NTP Omnibox.
if (mShouldClearOmniboxOnFocus) {
@@ -35,9 +35,10 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
- UrlBarData.EMPTY, UrlBar.ScrollType.NO_SCROLL, SelectionState.SELECT_END);
+ UrlBarData data = mLocationBarDataProvider.getUrlBarData();
+ @SelectionState int selectionState = SelectionState.SELECT_ALL;
+ if (mTemplateUrlServiceSupplier.hasValue()) {
+ String searchParams = mTemplateUrlServiceSupplier.get().getSearchQueryForUrl(
+ mLocationBarDataProvider.getUrlBarData().url);
+ GURL url = mLocationBarDataProvider.getUrlBarData().url;
+ if (url != null && mTemplateUrlServiceSupplier.hasValue()) {
+ String searchParams =
+ mTemplateUrlServiceSupplier.get().getSearchQueryForUrl(url);
+ if (searchParams != null && !searchParams.isEmpty()) {
+ data = UrlBarData.forUrlAndText(data.url, data.displayText, searchParams);
+ }
@@ -57,15 +58,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import android.os.SystemClock;
import android.text.Editable;
import android.text.InputType;
@@ -106,6 +107,7 @@ public abstract class UrlBar extends AutocompleteEditText {
@@ -104,6 +105,7 @@ public abstract class UrlBar extends AutocompleteEditText {
private boolean mAllowFocus = true;
private boolean mPendingScroll;
+ private boolean mPendingSelectAll;
private int mPreviousWidth;
@ScrollType
@@ -307,6 +309,27 @@ public abstract class UrlBar extends AutocompleteEditText {
@ScrollType private int mPreviousScrollType;
@@ -301,6 +303,27 @@ public abstract class UrlBar extends AutocompleteEditText {
mPendingScroll = false;
}
fixupTextDirection();
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1826,6 +1826,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1719,6 +1719,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_SAFETY_CHECK_BUTTON" desc="Text for the button to start Safety check.">
Check now
</message>
@@ -50,7 +50,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
import org.chromium.content_public.browser.ContentFeatureMap;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+
/**
* Fragment to keep track of all the accessibility related preferences.
@@ -58,7 +58,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
@@ -1021,6 +1021,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
@@ -1024,6 +1024,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
structure.setChildCount(0);
return;
}
@@ -5,50 +5,37 @@ Subject: Disable FLoC and privacy sandbox
Remove UI from the settings and set the flags to inactive
Permanently removes FLoC support, disabling the download of LSH clusters,
the marking the history navigation and the javascript API and permission policies.
Also added the disabling of blink features through the DisabledForBromite tag
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser/chrome_content_browser_client.cc | 3 +++
.../PrivacySandboxSettingsFragmentV3.java | 1 +
.../privacy_sandbox_settings_delegate.cc | 1 +
.../privacy_sandbox/privacy_sandbox_prompt.cc | 1 +
.../history/core/browser/history_backend.cc | 13 +---------
.../privacy_sandbox_attestations.cc | 1 +
.../privacy_sandbox_features.cc | 4 ++++
.../privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
.../privacy_sandbox_attestations.cc | 2 --
.../privacy_sandbox_features.cc | 5 ++++
.../privacy_sandbox/privacy_sandbox_prefs.cc | 4 ++--
.../privacy_sandbox_settings_impl.cc | 24 +++++++++++++------
9 files changed, 30 insertions(+), 20 deletions(-)
8 files changed, 30 insertions(+), 23 deletions(-)
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
@@ -3430,6 +3430,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* source_origin,
@@ -3432,6 +3432,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin) {
const url::Origin* reporting_origin,
bool* can_bypass) {
+ // make sure that this is always disabled in Bromite even if privacy sandbox is already disabled in the prefs
+ if ((true))
+ return false;
Profile* profile = Profile::FromBrowserContext(browser_context);
auto* privacy_sandbox_settings =
diff --git a/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragmentV3.java b/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragmentV3.java
--- a/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragmentV3.java
+++ b/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragmentV3.java
@@ -47,6 +47,7 @@ public class PrivacySandboxSettingsFragmentV3 extends PrivacySandboxSettingsBase
privacySandboxToggle.setOnPreferenceChangeListener(this);
privacySandboxToggle.setManagedPreferenceDelegate(createManagedPreferenceDelegate());
privacySandboxToggle.setChecked(PrivacySandboxBridge.isPrivacySandboxEnabled());
+ privacySandboxToggle.setEnabled(false);
ChromeBasePreference learnMorePreference = findPreference(LEARN_MORE_PREFERENCE);
SpannableString spannableString = new SpannableString(
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc
@@ -150,6 +150,7 @@ bool PrivacySandboxSettingsDelegate::HasAppropriateTopicsConsent() const {
@@ -159,6 +159,7 @@ bool PrivacySandboxSettingsDelegate::HasAppropriateTopicsConsent() const {
bool PrivacySandboxSettingsDelegate::PrivacySandboxRestrictedNoticeRequired()
const {
@@ -93,25 +80,27 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc b/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc
--- a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc
+++ b/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc
@@ -339,6 +339,7 @@ void PrivacySandboxAttestations::LoadAttestationsInternal(
void PrivacySandboxAttestations::SetParsedAttestations(
base::Version version,
PrivacySandboxAttestationsMap attestations_map) {
+ if ((true)) return;
file_version_ = std::move(version);
attestations_map_ = std::move(attestations_map);
@@ -387,8 +387,6 @@ void PrivacySandboxAttestations::OnAttestationsParsed(
if (attestations_map.has_value() &&
(!file_version_.IsValid() || file_version_.CompareTo(version) < 0)) {
// Parsing succeeded and the attestations file has newer version.
- file_version_ = std::move(version);
- attestations_map_ = std::move(attestations_map);
}
attestations_parse_progress_ = Progress::kFinished;
diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components/privacy_sandbox/privacy_sandbox_features.cc
--- a/components/privacy_sandbox/privacy_sandbox_features.cc
+++ b/components/privacy_sandbox/privacy_sandbox_features.cc
@@ -126,4 +126,8 @@ BASE_FEATURE(kTrackingProtectionOnboardingForceEligibility,
"TrackingProtectionOnboardingForceEligibility",
@@ -144,4 +144,9 @@ BASE_FEATURE(kAttributionDebugReportingCookieDeprecationTesting,
"AttributionDebugReportingCookieDeprecationTesting",
base::FEATURE_DISABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings4);
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings3);
+SET_CROMITE_FEATURE_ENABLED(kDisablePrivacySandboxPrompts);
+SET_CROMITE_FEATURE_ENABLED(kEnforcePrivacySandboxAttestations); // if enabled log to console
+SET_CROMITE_FEATURE_DISABLED(kEnforcePrivacySandboxAttestations);
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxFirstPartySetsUI);
} // namespace privacy_sandbox
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc
--- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
@@ -125,10 +114,19 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kPrivacySandboxApisEnabledV2, false);
registry->RegisterBooleanPref(prefs::kPrivacySandboxM1ConsentDecisionMade,
@@ -28,7 +28,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kPrivacySandboxM1FledgeEnabled, false);
registry->RegisterBooleanPref(prefs::kPrivacySandboxM1AdMeasurementEnabled,
false);
- registry->RegisterBooleanPref(prefs::kPrivacySandboxM1Restricted, false);
+ registry->RegisterBooleanPref(prefs::kPrivacySandboxM1Restricted, true);
registry->RegisterBooleanPref(prefs::kPrivacySandboxManuallyControlledV2,
false);
diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
--- a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
+++ b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
@@ -120,7 +120,7 @@ std::set<browsing_topics::Topic> GetTopicsSetFromString(
@@ -121,7 +121,7 @@ std::set<browsing_topics::Topic> GetTopicsSetFromString(
// static
bool PrivacySandboxSettingsImpl::IsAllowed(Status status) {
@@ -137,7 +135,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
}
// static
@@ -229,7 +229,8 @@ PrivacySandboxSettingsImpl::GetFinchPrioritizedTopics() {
@@ -230,7 +230,8 @@ PrivacySandboxSettingsImpl::GetFinchPrioritizedTopics() {
return finch_prioritized_topics_;
}
@@ -147,7 +145,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
// M1 specific
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings4)) {
Status status = GetM1TopicAllowedStatus();
@@ -286,7 +287,8 @@ bool PrivacySandboxSettingsImpl::IsTopicsAllowedForContext(
@@ -287,7 +288,8 @@ bool PrivacySandboxSettingsImpl::IsTopicsAllowedForContext(
IsPrivacySandboxEnabledForContext(top_frame_origin, url);
}
@@ -157,7 +155,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
const auto& blocked_topics =
pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics);
@@ -488,6 +490,7 @@ bool PrivacySandboxSettingsImpl::MaySendAttributionReport(
@@ -513,6 +515,7 @@ bool PrivacySandboxSettingsImpl::
void PrivacySandboxSettingsImpl::SetFledgeJoiningAllowed(
const std::string& top_frame_etld_plus1,
bool allowed) {
@@ -165,7 +163,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
ScopedDictPrefUpdate scoped_pref_update(
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
@@ -558,7 +561,8 @@ void PrivacySandboxSettingsImpl::ClearFledgeJoiningAllowedSettings(
@@ -583,7 +586,8 @@ void PrivacySandboxSettingsImpl::ClearFledgeJoiningAllowedSettings(
}
bool PrivacySandboxSettingsImpl::IsFledgeJoiningAllowed(
@@ -175,7 +173,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
ScopedDictPrefUpdate scoped_pref_update(
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
auto& pref_data = scoped_pref_update.Get();
@@ -727,7 +731,8 @@ bool PrivacySandboxSettingsImpl::IsPrivateAggregationDebugModeAllowed(
@@ -752,7 +756,8 @@ bool PrivacySandboxSettingsImpl::IsPrivateAggregationDebugModeAllowed(
net::CookieSettingOverrides());
}
@@ -185,7 +183,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
PrivacySandboxSettingsImpl::Status status = GetPrivacySandboxAllowedStatus();
if (!IsAllowed(status)) {
return false;
@@ -765,7 +770,8 @@ void PrivacySandboxSettingsImpl::SetTopicsBlockedForTesting() {
@@ -790,7 +795,8 @@ void PrivacySandboxSettingsImpl::SetTopicsBlockedForTesting() {
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, false);
}
@@ -195,7 +193,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, enabled);
}
@@ -826,7 +832,10 @@ bool PrivacySandboxSettingsImpl::IsPrivacySandboxEnabledForContext(
@@ -851,7 +857,10 @@ bool PrivacySandboxSettingsImpl::IsPrivacySandboxEnabledForContext(
net::CookieSettingOverrides());
}
@@ -207,7 +205,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
pref_service_->SetTime(prefs::kPrivacySandboxTopicsDataAccessibleSince,
base::Time::Now());
@@ -839,6 +848,7 @@ PrivacySandboxSettingsImpl::Status
@@ -864,6 +873,7 @@ PrivacySandboxSettingsImpl::Status
PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus(
const url::Origin& top_frame_origin,
const GURL& url) const {
+1 -1
View File
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -331,7 +331,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
@@ -347,7 +347,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
#endif // !BUILDFLAG(IS_CHROMEOS_LACROS)
bool show_privacy_guide =
@@ -14,8 +14,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -613,7 +613,7 @@ public abstract class ChromeFeatureList {
new CachedFlag(SHOULD_IGNORE_INTENT_SKIP_INTERNAL_CHECK, true);
@@ -632,7 +632,7 @@ public abstract class ChromeFeatureList {
new CachedFlag(SHOW_NTP_AT_STARTUP_ANDROID, false);
public static final CachedFlag sSpareTab = new CachedFlag(SPARE_TAB, false);
public static final CachedFlag sStartSurfaceAndroid = new CachedFlag(
- START_SURFACE_ANDROID, ChromePreferenceKeys.FLAGS_CACHED_START_SURFACE_ENABLED, true);
+4 -4
View File
@@ -90,7 +90,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
--- a/net/quic/quic_stream_factory.cc
+++ b/net/quic/quic_stream_factory.cc
@@ -70,6 +70,7 @@
@@ -69,6 +69,7 @@
#include "net/third_party/quiche/src/quiche/quic/core/quic_utils.h"
#include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h"
#include "third_party/boringssl/src/include/openssl/aead.h"
@@ -98,7 +98,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
#include "url/gurl.h"
#include "url/scheme_host_port.h"
#include "url/url_constants.h"
@@ -195,6 +196,38 @@ std::set<std::string> HostsFromOrigins(std::set<HostPortPair> origins) {
@@ -194,6 +195,38 @@ std::set<std::string> HostsFromOrigins(std::set<HostPortPair> origins) {
} // namespace
@@ -137,7 +137,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
// Refcounted class that owns quic::QuicCryptoClientConfig and tracks how many
// consumers are using it currently. When the last reference is freed, the
// QuicCryptoClientConfigHandle informs the owning QuicStreamFactory, moves it
@@ -2353,7 +2386,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
@@ -2368,7 +2401,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
sct_auditing_delegate_,
HostsFromOrigins(params_.origins_to_force_quic_on),
actual_network_anonymization_key),
@@ -191,7 +191,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
+ Log_ssl_session_data("Old session resumed", session.get());
}
const int kBufferSize = kDefaultOpenSSLBufferSize.Get();
const int kBufferSize = GetDefaultOpenSSLBufferSize();
@@ -1067,6 +1095,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
: SSLHandshakeDetails::kTLS13Full;
}
+199 -252
View File
@@ -5,28 +5,32 @@ Subject: Disable all predictors code
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/BUILD.gn | 8 +-
chrome/browser/browser_features.cc | 16 ++--
.../preloading_model_keyed_service.cc | 8 --
.../preloading_model_keyed_service_factory.cc | 4 +-
.../ranking/history_clusters_module_ranker.cc | 3 +-
chrome/browser/BUILD.gn | 2 --
.../preloading_model_keyed_service.cc | 1 +
.../preloading_model_keyed_service_factory.cc | 4 +--
.../chrome_hints_manager.cc | 1 +
.../optimization_guide_keyed_service.cc | 1 -
.../browser/predictors/loading_predictor.cc | 4 +-
.../predictors/loading_predictor_config.cc | 4 +-
.../browser/predictors/predictors_features.cc | 14 +---
.../browser/autofill_optimization_guide.cc | 5 +-
.../browser/predictors/loading_predictor.cc | 4 +--
.../predictors/loading_predictor_config.cc | 4 +--
.../browser/predictors/predictors_features.cc | 11 ++-----
chrome/browser/ui/tab_helpers.cc | 1 -
.../ui/webui/omnibox/omnibox_page_handler.cc | 14 +++++++++
.../browser/autofill_optimization_guide.cc | 5 ++--
.../browser/autocomplete_controller.cc | 2 ++
.../optimization_guide/core/hints_fetcher.cc | 1 +
.../optimization_guide/core/hints_manager.cc | 5 ++
.../core/optimization_guide_features.cc | 74 +++++++------------
.../core/prediction_model_download_manager.cc | 6 +-
.../optimization_guide/core/hints_manager.cc | 5 ++++
.../core/optimization_guide_features.cc | 29 ++++++++++---------
.../core/prediction_model_download_manager.cc | 6 ++--
.../core/prediction_model_fetcher_impl.cc | 1 +
components/optimization_guide/features.gni | 3 +-
.../Disable-all-predictors-code.inc | 7 ++
.../Disable-all-predictors-code.inc | 4 +
.../Disable-all-predictors-code.inc | 2 +
.../platform/runtime_enabled_features.json5 | 2 +-
21 files changed, 80 insertions(+), 93 deletions(-)
components/search/ntp_features.cc | 3 ++
.../Disable-all-predictors-code.inc | 4 +++
.../Disable-all-predictors-code.inc | 7 +++++
.../Disable-all-predictors-code.inc | 4 +++
.../Disable-all-predictors-code.inc | 2 ++
.../platform/runtime_enabled_features.json5 | 6 ++--
24 files changed, 78 insertions(+), 43 deletions(-)
create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-all-predictors-code.inc
@@ -34,73 +38,26 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -891,10 +891,10 @@ static_library("browser") {
@@ -879,8 +879,6 @@ static_library("browser") {
"navigation_predictor/navigation_predictor_keyed_service_factory.h",
"navigation_predictor/navigation_predictor_metrics_document_data.cc",
"navigation_predictor/navigation_predictor_metrics_document_data.h",
"navigation_predictor/navigation_predictor_preconnect_client.cc",
"navigation_predictor/navigation_predictor_preconnect_client.h",
- "navigation_predictor/preloading_model_executor.cc",
- "navigation_predictor/preloading_model_executor.h",
- "navigation_predictor/preloading_model_handler.cc",
- "navigation_predictor/preloading_model_handler.h",
+ # "navigation_predictor/preloading_model_executor.cc",
+ # "navigation_predictor/preloading_model_executor.h",
+ # "navigation_predictor/preloading_model_handler.cc",
+ # "navigation_predictor/preloading_model_handler.h",
- "navigation_predictor/navigation_predictor_preconnect_client.cc",
- "navigation_predictor/navigation_predictor_preconnect_client.h",
"navigation_predictor/preloading_model_keyed_service.cc",
"navigation_predictor/preloading_model_keyed_service.h",
"navigation_predictor/preloading_model_keyed_service_factory.cc",
diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc
--- a/chrome/browser/browser_features.cc
+++ b/chrome/browser/browser_features.cc
@@ -255,22 +255,22 @@ BASE_FEATURE(kIncomingCallNotifications,
// Enables omnibox trigger prerendering.
BASE_FEATURE(kOmniboxTriggerForPrerender2,
- "OmniboxTriggerForPrerender2",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OmniboxTriggerForPrerender2", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
// Enables bookmark trigger prerendering.
BASE_FEATURE(kBookmarkTriggerForPrerender2,
- "BookmarkTriggerForPrerender2",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "BookmarkTriggerForPrerender2", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
// Enables New Tab Page trigger prerendering.
BASE_FEATURE(kNewTabPageTriggerForPrerender2,
- "NewTabPageTriggerForPrerender2",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "NewTabPageTriggerForPrerender2", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
BASE_FEATURE(kSupportSearchSuggestionForPrerender2,
- "SupportSearchSuggestionForPrerender2",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "SupportSearchSuggestionForPrerender2", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
const base::FeatureParam<SearchSuggestionPrerenderImplementationType>::Option
search_suggestion_implementation_types[] = {
{SearchSuggestionPrerenderImplementationType::kUsePrefetch,
diff --git a/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc b/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc
--- a/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc
+++ b/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc
@@ -10,14 +10,6 @@ PreloadingModelKeyedService::Inputs::Inputs() = default;
@@ -16,6 +16,7 @@ PreloadingModelKeyedService::Inputs::Inputs() = default;
PreloadingModelKeyedService::PreloadingModelKeyedService(
OptimizationGuideKeyedService* optimization_guide_keyed_service) {
- auto* model_provider =
- static_cast<optimization_guide::OptimizationGuideModelProvider*>(
- optimization_guide_keyed_service);
-
- if (model_provider) {
- preloading_model_handler_ =
- std::make_unique<PreloadingModelHandler>(model_provider);
- }
}
PreloadingModelKeyedService::~PreloadingModelKeyedService() = default;
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
+#error BUILD_WITH_TFLITE_LIB must be disabled
auto* model_provider =
static_cast<optimization_guide::OptimizationGuideModelProvider*>(
optimization_guide_keyed_service);
diff --git a/chrome/browser/navigation_predictor/preloading_model_keyed_service_factory.cc b/chrome/browser/navigation_predictor/preloading_model_keyed_service_factory.cc
--- a/chrome/browser/navigation_predictor/preloading_model_keyed_service_factory.cc
+++ b/chrome/browser/navigation_predictor/preloading_model_keyed_service_factory.cc
@@ -113,21 +70,6 @@ diff --git a/chrome/browser/navigation_predictor/preloading_model_keyed_service_
- OptimizationGuideKeyedServiceFactory::GetForProfile(profile));
+ return nullptr;
}
diff --git a/chrome/browser/new_tab_page/modules/history_clusters/ranking/history_clusters_module_ranker.cc b/chrome/browser/new_tab_page/modules/history_clusters/ranking/history_clusters_module_ranker.cc
--- a/chrome/browser/new_tab_page/modules/history_clusters/ranking/history_clusters_module_ranker.cc
+++ b/chrome/browser/new_tab_page/modules/history_clusters/ranking/history_clusters_module_ranker.cc
@@ -62,9 +62,10 @@ void HistoryClustersModuleRanker::OnAllSignalsReady(
for (const auto& cluster : clusters) {
ranking_signals->emplace_back(active_carts, category_boostlist_, cluster);
}
- auto* ranking_signals_ptr = ranking_signals.get();
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
+ auto* ranking_signals_ptr = ranking_signals.get();
+
if (model_handler_ && model_handler_->CanExecuteAvailableModel()) {
model_handler_->ExecuteBatch(
ranking_signals_ptr,
diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc
--- a/chrome/browser/optimization_guide/chrome_hints_manager.cc
+++ b/chrome/browser/optimization_guide/chrome_hints_manager.cc
@@ -142,7 +84,7 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
@@ -343,7 +343,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
@@ -347,7 +347,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) {
@@ -153,7 +95,7 @@ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.
diff --git a/chrome/browser/predictors/loading_predictor.cc b/chrome/browser/predictors/loading_predictor.cc
--- a/chrome/browser/predictors/loading_predictor.cc
+++ b/chrome/browser/predictors/loading_predictor.cc
@@ -184,7 +184,7 @@ ResourcePrefetchPredictor* LoadingPredictor::resource_prefetch_predictor() {
@@ -211,7 +211,7 @@ ResourcePrefetchPredictor* LoadingPredictor::resource_prefetch_predictor() {
}
PreconnectManager* LoadingPredictor::preconnect_manager() {
@@ -162,7 +104,7 @@ diff --git a/chrome/browser/predictors/loading_predictor.cc b/chrome/browser/pre
return nullptr;
}
@@ -200,7 +200,7 @@ PrefetchManager* LoadingPredictor::prefetch_manager() {
@@ -227,7 +227,7 @@ PrefetchManager* LoadingPredictor::prefetch_manager() {
if (!base::FeatureList::IsEnabled(features::kLoadingPredictorPrefetch))
return nullptr;
@@ -188,17 +130,6 @@ diff --git a/chrome/browser/predictors/loading_predictor_config.cc b/chrome/brow
diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/predictors/predictors_features.cc
--- a/chrome/browser/predictors/predictors_features.cc
+++ b/chrome/browser/predictors/predictors_features.cc
@@ -11,8 +11,8 @@ namespace features {
// Whether local predictions should be used to make preconnect predictions.
BASE_FEATURE(kLoadingPredictorUseLocalPredictions,
- "LoadingPredictorUseLocalPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "LoadingPredictorUseLocalPredictions", // disabled by
+ base::FEATURE_DISABLED_BY_DEFAULT); // default
// Modifies loading predictor so that it only learns about subresources and
// origins that are high priority.
@@ -39,11 +39,7 @@ BASE_FEATURE(kLoadingPredictorDisregardAlwaysAccessesNetwork,
const base::FeatureState
@@ -224,6 +155,82 @@ diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/p
// Modifies loading predictor so that it does prefetches of subresources instead
// of preconnects.
@@ -103,4 +95,5 @@ size_t GetMaxInflightPrefetches() {
3));
}
+SET_CROMITE_FEATURE_DISABLED(kLoadingPredictorUseLocalPredictions);
} // namespace features
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -400,7 +400,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents);
MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
NavigationMetricsRecorder::CreateForWebContents(web_contents);
- NavigationPredictorPreconnectClient::CreateForWebContents(web_contents);
OpenerHeuristicTabHelper::CreateForWebContents(web_contents);
if (optimization_guide::features::IsOptimizationHintsEnabled()) {
OptimizationGuideWebContentsObserver::CreateForWebContents(web_contents);
diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
--- a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
+++ b/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
@@ -39,7 +39,9 @@
#include "components/omnibox/browser/autocomplete_match.h"
#include "components/omnibox/browser/autocomplete_provider.h"
#include "components/omnibox/browser/autocomplete_result.h"
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
#include "components/omnibox/browser/autocomplete_scoring_model_service.h"
+#endif
#include "components/omnibox/browser/omnibox_field_trial.h"
#include "components/search_engines/template_url.h"
#include "content/public/browser/web_ui.h"
@@ -500,6 +502,7 @@ void OmniboxPageHandler::StartOmniboxQuery(const std::string& input_string,
}
void OmniboxPageHandler::GetMlModelVersion(GetMlModelVersionCallback callback) {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
if (auto* service = GetMlService()) {
auto version = service->GetModelVersion();
if (version == -1) {
@@ -512,10 +515,14 @@ void OmniboxPageHandler::GetMlModelVersion(GetMlModelVersionCallback callback) {
} else {
std::move(callback).Run(-1);
}
+#else
+ std::move(callback).Run(-1);
+#endif
}
void OmniboxPageHandler::StartMl(mojom::SignalsPtr mojom_signals,
StartMlCallback callback) {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
if (auto* service = GetMlService()) {
AutocompleteMatch::ScoringSignals signals =
mojo::ConvertTo<AutocompleteMatch::ScoringSignals>(mojom_signals);
@@ -525,6 +532,9 @@ void OmniboxPageHandler::StartMl(mojom::SignalsPtr mojom_signals,
} else {
std::move(callback).Run(-1);
}
+#else
+ std::move(callback).Run(-1);
+#endif
}
std::unique_ptr<AutocompleteController> OmniboxPageHandler::CreateController(
@@ -549,8 +559,12 @@ OmniboxPageHandler::GetAutocompleteControllerType(
}
AutocompleteScoringModelService* OmniboxPageHandler::GetMlService() {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
return OmniboxFieldTrial::IsMlSyncBatchUrlScoringEnabled()
? AutocompleteScoringModelServiceFactory::GetInstance()
->GetForProfile(profile_)
: nullptr;
+#else
+ return nullptr;
+#endif
}
diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/components/autofill/core/browser/autofill_optimization_guide.cc
--- a/components/autofill/core/browser/autofill_optimization_guide.cc
+++ b/components/autofill/core/browser/autofill_optimization_guide.cc
@@ -253,6 +260,19 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c
optimization_guide::OptimizationGuideDecision decision =
decider_->CanApplyOptimization(url, optimization_type,
/*optimization_metadata=*/nullptr);
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
--- a/components/omnibox/browser/autocomplete_controller.cc
+++ b/components/omnibox/browser/autocomplete_controller.cc
@@ -46,7 +46,9 @@
#include "components/omnibox/browser/autocomplete_input.h"
#include "components/omnibox/browser/autocomplete_match_type.h"
#include "components/omnibox/browser/autocomplete_provider.h"
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
#include "components/omnibox/browser/autocomplete_scoring_model_service.h"
+#endif
#include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h"
#include "components/omnibox/browser/bookmark_provider.h"
#include "components/omnibox/browser/bookmark_scoring_signals_annotator.h"
diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc
--- a/components/optimization_guide/core/hints_fetcher.cc
+++ b/components/optimization_guide/core/hints_fetcher.cc
@@ -267,7 +287,7 @@ diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/op
diff --git a/components/optimization_guide/core/hints_manager.cc b/components/optimization_guide/core/hints_manager.cc
--- a/components/optimization_guide/core/hints_manager.cc
+++ b/components/optimization_guide/core/hints_manager.cc
@@ -391,6 +391,7 @@ void HintsManager::Shutdown() {
@@ -388,6 +388,7 @@ void HintsManager::Shutdown() {
OptimizationGuideDecision
HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
OptimizationTypeDecision optimization_type_decision) {
@@ -275,7 +295,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
switch (optimization_type_decision) {
case OptimizationTypeDecision::kAllowedByOptimizationFilter:
case OptimizationTypeDecision::kAllowedByHint:
@@ -1099,6 +1100,7 @@ void HintsManager::CanApplyOptimizationOnDemand(
@@ -1096,6 +1097,7 @@ void HintsManager::CanApplyOptimizationOnDemand(
proto::RequestContext request_context,
OnDemandOptimizationGuideDecisionRepeatingCallback callback) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -283,7 +303,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
InsertionOrderedSet<GURL> urls_to_fetch;
InsertionOrderedSet<std::string> hosts_to_fetch;
@@ -1389,6 +1391,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
@@ -1392,6 +1394,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
bool skip_cache,
OptimizationMetadata* optimization_metadata) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -291,172 +311,67 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
+ return OptimizationTypeDecision::kNoHintAvailable;
+ }
ScopedCanApplyOptimizationLogger scoped_logger(
optimization_type, navigation_url, optimization_guide_logger_);
ScopedCanApplyOptimizationLogger scoped_logger(optimization_type, url,
optimization_guide_logger_);
diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc
--- a/components/optimization_guide/core/optimization_guide_features.cc
+++ b/components/optimization_guide/core/optimization_guide_features.cc
@@ -34,13 +34,6 @@ namespace features {
@@ -35,25 +35,13 @@ namespace features {
namespace {
-constexpr auto enabled_by_default_desktop_only =
constexpr auto enabled_by_default_desktop_only =
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
- base::FEATURE_DISABLED_BY_DEFAULT;
base::FEATURE_DISABLED_BY_DEFAULT;
-#else
- base::FEATURE_ENABLED_BY_DEFAULT;
-#endif
-
constexpr auto enabled_by_default_mobile_only =
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
true;
@@ -48,13 +41,6 @@ constexpr auto enabled_by_default_mobile_only =
false;
#endif
-constexpr auto enabled_by_default_ios_only =
constexpr auto enabled_by_default_mobile_only =
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
- true;
-#else
false;
-#endif
constexpr auto enabled_by_default_ios_only =
-#if BUILDFLAG(IS_IOS)
- base::FEATURE_ENABLED_BY_DEFAULT;
-#else
- base::FEATURE_DISABLED_BY_DEFAULT;
base::FEATURE_DISABLED_BY_DEFAULT;
-#endif
-
// Returns whether |locale| is a supported locale for |feature|.
//
// This matches |locale| with the "supported_locales" feature param value in
@@ -149,17 +135,17 @@ std::set<std::string> GetOauthScopesForFeature(const base::Feature& feature) {
// Enables the syncing of the Optimization Hints component, which provides
// hints for what optimizations can be applied on a page load.
BASE_FEATURE(kOptimizationHints,
- "OptimizationHints",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHints", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables fetching from a remote Optimization Guide Service.
BASE_FEATURE(kRemoteOptimizationGuideFetching,
- "OptimizationHintsFetching",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHintsFetching", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kRemoteOptimizationGuideFetchingAnonymousDataConsent,
- "OptimizationHintsFetchingAnonymousDataConsent",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHintsFetchingAnonymousDataConsent", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables performance info in the context menu and fetching from a remote
// Optimization Guide Service.
@@ -169,33 +155,29 @@ BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching,
// Enables the prediction of optimization targets.
BASE_FEATURE(kOptimizationTargetPrediction,
- "OptimizationTargetPrediction",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationTargetPrediction", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables the downloading of models.
BASE_FEATURE(kOptimizationGuideModelDownloading,
- "OptimizationGuideModelDownloading",
-#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- base::FEATURE_ENABLED_BY_DEFAULT
-#else // BUILD_WITH_TFLITE_LIB
- base::FEATURE_DISABLED_BY_DEFAULT
-#endif // !BUILD_WITH_TFLITE_LIB
+ "OptimizationGuideModelDownloading", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
// Enables page content to be annotated.
BASE_FEATURE(kPageContentAnnotations,
- "PageContentAnnotations",
- enabled_by_default_desktop_only);
+ "PageContentAnnotations", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
// Enables fetching page metadata from the remote Optimization Guide service.
BASE_FEATURE(kRemotePageMetadata,
- "RemotePageMetadata",
- enabled_by_default_desktop_only);
+ "RemotePageMetadata", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables the page entities model to be annotated on every page load.
BASE_FEATURE(kPageEntitiesPageContentAnnotations,
- "PageEntitiesPageContentAnnotations",
- enabled_by_default_desktop_only);
+ "PageEntitiesPageContentAnnotations", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
// Enables the page visibility model to be annotated on every page load.
BASE_FEATURE(kPageVisibilityPageContentAnnotations,
"PageVisibilityPageContentAnnotations",
@@ -218,8 +200,8 @@ BASE_FEATURE(kPageEntitiesModelResetOnShutdown,
// Enables push notification of hints.
BASE_FEATURE(kPushNotifications,
- "OptimizationGuidePushNotifications",
- enabled_by_default_ios_only);
+ "OptimizationGuidePushNotifications", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// This feature flag does not turn off any behavior, it is only used for
// experiment parameters.
@@ -232,21 +214,21 @@ BASE_FEATURE(kOptimizationGuideMetadataValidation,
"OptimizationGuideMetadataValidation",
base::FEATURE_DISABLED_BY_DEFAULT);
-BASE_FEATURE(kPageVisibilityBatchAnnotations,
- "PageVisibilityBatchAnnotations",
- base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kPageVisibilityBatchAnnotations, // disabled
+ "PageVisibilityBatchAnnotations", // by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kTextEmbeddingBatchAnnotations,
"TextEmbeddingBatchAnnotations",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kPageContentAnnotationsValidation,
- "PageContentAnnotationsValidation",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PageContentAnnotationsValidation", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
BASE_FEATURE(kPreventLongRunningPredictionModels,
"PreventLongRunningPredictionModels",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kOptimizationGuideUseContinueOnShutdownForPageContentAnnotations,
"OptimizationGuideUseContinueOnShutdownForPageContentAnnotations",
@@ -276,13 +258,13 @@ BASE_FEATURE(kExtractRelatedSearchesFromPrefetchedZPSResponse,
BASE_FEATURE(kPageContentAnnotationsPersistSalientImageMetadata,
"PageContentAnnotationsPersistSalientImageMetadata",
- enabled_by_default_desktop_only);
+ base::FEATURE_DISABLED_BY_DEFAULT);
// Killswitch for fetching on search results from a remote Optimization Guide
// Service.
BASE_FEATURE(kOptimizationGuideFetchingForSRP,
- "OptimizationHintsFetchingSRP",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHintsFetchingSRP", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
// Enables the model store to save relative paths computed from the base model
// store dir. Storing as relative path in the model store is needed for IOS,
@@ -566,7 +548,7 @@ size_t MaxURLKeyedHintCacheSize() {
@@ -560,8 +548,7 @@ size_t MaxURLKeyedHintCacheSize() {
}
bool ShouldPersistHintsToDisk() {
return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
- return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
- "persist_hints_to_disk", true);
+ "persist_hints_to_disk", false);
+ return false;
}
bool ShouldEnablePersonalizedMetadata(proto::RequestContext request_context) {
@@ -899,5 +886,19 @@ std::set<std::string> GetOAuthScopesForModelExecution() {
return GetOauthScopesForFeature(kOptimizationGuideModelExecution);
}
+SET_CROMITE_FEATURE_DISABLED(kOptimizationHints);
+SET_CROMITE_FEATURE_DISABLED(kRemoteOptimizationGuideFetching);
+SET_CROMITE_FEATURE_DISABLED(kRemoteOptimizationGuideFetchingAnonymousDataConsent);
+SET_CROMITE_FEATURE_DISABLED(kOptimizationTargetPrediction);
+SET_CROMITE_FEATURE_DISABLED(kOptimizationGuideModelDownloading);
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotations);
+SET_CROMITE_FEATURE_DISABLED(kRemotePageMetadata);
+SET_CROMITE_FEATURE_DISABLED(kPageEntitiesPageContentAnnotations);
+SET_CROMITE_FEATURE_DISABLED(kPushNotifications);
+SET_CROMITE_FEATURE_DISABLED(kPageVisibilityBatchAnnotations);
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsValidation);
+SET_CROMITE_FEATURE_DISABLED(kPreventLongRunningPredictionModels);
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsPersistSalientImageMetadata);
+SET_CROMITE_FEATURE_DISABLED(kOptimizationGuideFetchingForSRP);
} // namespace features
} // namespace optimization_guide
diff --git a/components/optimization_guide/core/prediction_model_download_manager.cc b/components/optimization_guide/core/prediction_model_download_manager.cc
--- a/components/optimization_guide/core/prediction_model_download_manager.cc
+++ b/components/optimization_guide/core/prediction_model_download_manager.cc
@@ -518,6 +433,26 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
}
declare_args() {
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
--- a/components/search/ntp_features.cc
+++ b/components/search/ntp_features.cc
@@ -460,4 +460,7 @@ std::vector<std::string> GetModulesOrder() {
base::SplitResult::SPLIT_WANT_NONEMPTY);
}
+SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModule);
+SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleLoad);
+SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleUseModelRanking);
} // namespace ntp_features
diff --git a/cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc b/cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
@@ -0,0 +1,4 @@
+SET_CROMITE_FEATURE_DISABLED(kOmniboxTriggerForPrerender2);
+SET_CROMITE_FEATURE_DISABLED(kBookmarkTriggerForPrerender2);
+SET_CROMITE_FEATURE_DISABLED(kNewTabPageTriggerForPrerender2);
+SET_CROMITE_FEATURE_DISABLED(kSupportSearchSuggestionForPrerender2);
diff --git a/cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc b/cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
new file mode 100644
--- /dev/null
@@ -549,7 +484,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -3007,7 +3007,7 @@
@@ -3087,7 +3087,7 @@
{
// https://crbug.com/1126305
name: "Prerender2",
@@ -558,5 +493,17 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
},
{
name: "Presentation",
@@ -3698,9 +3698,9 @@
origin_trial_allows_third_party: true,
},
{
- name: "SpeculationRulesPrefetchProxy",
+ name: "SpeculationRulesPrefetchProxy", // disabled
+ status: "test", // by default
origin_trial_feature_name: "SpeculationRulesPrefetch",
- status: "stable",
copied_from_base_feature_if: "overridden",
implied_by: ["SpeculationRulesPrefetchFuture", "NoVarySearchPrefetch"],
},
--
2.25.1
@@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -945,6 +945,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -956,6 +956,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
}
private boolean maybeShowPromo() {
@@ -45,8 +45,8 @@ diff --git a/chrome/browser/ui/views/user_education/browser_feature_promo_contro
ui::TrackedElement* anchor_element) const {
+ if ((true)) return false;
auto* const profile = browser_view_->GetProfile();
// Temporarily turn off IPH in incognito as a concern was raised that
// the IPH backend ignores incognito and writes to the parent profile.
// Verify that there are no required notices pending.
diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
--- a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
+++ b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java

Some files were not shown because too many files have changed in this diff Show More