Compare commits

..
Author SHA1 Message Date
uazoandGitHub 22857b1d0a Merge pull request #959 from uazo/create-pull-request/patch-ab0d30d
Generate patches doc for  branch
2024-04-03 09:49:21 -06:00
uazoandGitHub 3b84899f3b AUTOMATED - update patch docs 2024-04-03 15:45:39 +00:00
uazoandGitHub ab0d30df33 AUTOMATED - git apply results 2024-04-03 15:45:09 +00:00
uazoandGitHub f81d12a5da AUTOMATED - git apply results 2024-04-03 15:42:37 +00:00
572 changed files with 200649 additions and 40522 deletions
+2
View File
@@ -22,6 +22,8 @@ body:
required: true required: true
- label: "I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue." - label: "I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue."
required: true required: true
- label: "I have read the [FAQs](https://github.com/uazo/cromite/blob/master/FAQ.md)."
required: true
- label: "I have updated Cromite to the latest version. The bug is reproducible on this latest version." - label: "I have updated Cromite to the latest version. The bug is reproducible on this latest version."
required: true required: true
- label: "This is a bug report about the Cromite browser; not the website nor F-Droid nor anything else." - label: "This is a bug report about the Cromite browser; not the website nor F-Droid nor anything else."
@@ -24,6 +24,8 @@ body:
options: options:
- label: "I have read the [README](https://github.com/uazo/cromite/blob/master/README.md)" - label: "I have read the [README](https://github.com/uazo/cromite/blob/master/README.md)"
required: true required: true
- label: "I have read the [FAQs](https://github.com/uazo/cromite/blob/master/FAQ.md)."
required: true
- label: "I have searched [existing issues](https://github.com/uazo/cromite/issues) for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue." - label: "I have searched [existing issues](https://github.com/uazo/cromite/issues) for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue."
required: true required: true
- label: "I have searched [wont fix issues](https://github.com/uazo/cromite/issues?q=label%3Awontfix) and this request is not among them" - label: "I have searched [wont fix issues](https://github.com/uazo/cromite/issues?q=label%3Awontfix) and this request is not among them"
+2 -2
View File
@@ -163,8 +163,8 @@ jobs:
path: cromite path: cromite
add-paths: | add-paths: |
tools/under-control/* tools/under-control/*
commit-message: '[AUTO][FILECONTROL] - version ${{ env.NEW_VERSION }}' commit-message: 'AUTOMATED - new files under control ${{ env.NEW_VERSION }}'
title: '[AUTO][FILECONTROL] - version ${{ env.NEW_VERSION }}' title: New files under control ${{ env.NEW_VERSION }}
body: ${{ env.MESSAGE }} body: ${{ env.MESSAGE }}
delete-branch: true delete-branch: true
branch-suffix: short-commit-hash branch-suffix: short-commit-hash
+1 -1
View File
@@ -397,7 +397,7 @@ jobs:
gn args out/lin64/ --list >out/lin64/gn_list gn args out/lin64/ --list >out/lin64/gn_list
echo "::endgroup::" echo "::endgroup::"
ninja -C out/lin64 chrome chrome_sandbox ninja -C out/lin64 chrome
cp ../../cromite/build/RELEASE out/lin64 cp ../../cromite/build/RELEASE out/lin64
+2 -2
View File
@@ -147,8 +147,8 @@ jobs:
#push-to-fork: uazo/cromite #push-to-fork: uazo/cromite
add-paths: | add-paths: |
build/patches/*.patch build/patches/*.patch
commit-message: '[AUTO] Patches auto-rebase' commit-message: 'AUTOMATED - git apply results'
title: '[AUTO] Patches auto-rebase for ${{ env.BRANCH }} branch' title: Git apply result for ${{ env.BRANCH }} branch
body: ${{ env.MESSAGE }} body: ${{ env.MESSAGE }}
delete-branch: true delete-branch: true
branch-suffix: short-commit-hash branch-suffix: short-commit-hash
+3
View File
@@ -193,6 +193,9 @@ jobs:
$GH release upload $VERSION-$CROMITE_SHA arm64_symbols.zip $GH release upload $VERSION-$CROMITE_SHA arm64_symbols.zip
echo "::endgroup::" echo "::endgroup::"
# workaround for https://github.com/cli/cli/issues/6599
sleep 30s
TIMESTAMP=$(date +%s -r chrome-win.zip) TIMESTAMP=$(date +%s -r chrome-win.zip)
echo >updateurl.txt "browser=chromium;os=windows;architecture=64-bit;timestamp=$TIMESTAMP;editor=uazo;channel=stable;repository=https://github.com/uazo/cromite/releases;download=https://github.com/uazo/cromite/releases/latest/download/chrome-win.zip;version=$(cat $OUTPUTFILE_WIN/RELEASE);revision=1;commit=$CROMITE_SHA" echo >updateurl.txt "browser=chromium;os=windows;architecture=64-bit;timestamp=$TIMESTAMP;editor=uazo;channel=stable;repository=https://github.com/uazo/cromite/releases;download=https://github.com/uazo/cromite/releases/latest/download/chrome-win.zip;version=$(cat $OUTPUTFILE_WIN/RELEASE);revision=1;commit=$CROMITE_SHA"
$GH release upload $VERSION-$CROMITE_SHA updateurl.txt $GH release upload $VERSION-$CROMITE_SHA updateurl.txt
+4 -4
View File
@@ -13,8 +13,8 @@ permissions:
on: on:
push: push:
branches: branches-ignore:
- 'master' - 'ci'
paths: paths:
- 'build/**' - 'build/**'
@@ -75,8 +75,8 @@ jobs:
base: ${{ env.BRANCH }} base: ${{ env.BRANCH }}
add-paths: | add-paths: |
build/patches/*.patch build/patches/*.patch
commit-message: '[AUTO][DOC] Generate patches doc for master branch' commit-message: 'AUTOMATED - update patch docs'
title: '[AUTO][DOC] Generate patches doc for master branch' title: Generate patches doc for ${{ env.BRANCH }} branch
body: ${{ env.MESSAGE }} body: ${{ env.MESSAGE }}
delete-branch: true delete-branch: true
branch-suffix: short-commit-hash branch-suffix: short-commit-hash
-5
View File
@@ -91,9 +91,6 @@ you can activate the 'RendererAppContainer' flag from the command line with
--enable-features=RendererAppContainer --enable-features=RendererAppContainer
``` ```
### Auto-update setup for linux
working in progress in https://github.com/uazo/cromite/issues/771
# Contributing # Contributing
Please submit issues following the issue template; beware that GitHub does not display the templates from mobile. Please submit issues following the issue template; beware that GitHub does not display the templates from mobile.
@@ -115,8 +112,6 @@ For any usage or development discussion please use GitHub Discussions: https://g
* [Inox patchset](https://github.com/gcarq/inox-patchset) for some patches (via ungoogled-chromium) * [Inox patchset](https://github.com/gcarq/inox-patchset) for some patches (via ungoogled-chromium)
* [Brave Browser](https://github.com/brave/brave-core) for some patches * [Brave Browser](https://github.com/brave/brave-core) for some patches
thanks to [austinhuang0131](https://github.com/austinhuang0131) for the svg icon
# License # License
Cromite is published under [GNU GPL v3](./LICENSE). Cromite is published under [GNU GPL v3](./LICENSE).
+1 -1
View File
@@ -1 +1 @@
125.0.6422.76 123.0.6312.86
+4 -8
View File
@@ -140,6 +140,7 @@ Re-introduce-override_build_timestamp.patch
enable-ftrivial-auto-var-init-zero.patch enable-ftrivial-auto-var-init-zero.patch
disable-appending-variations-header.patch disable-appending-variations-header.patch
Disable-idle-detection.patch Disable-idle-detection.patch
Allow-building-without-supervised-users.patch
Disable-minidump-upload-scheduling.patch Disable-minidump-upload-scheduling.patch
Revert-Permit-blocking-of-view-source.patch Revert-Permit-blocking-of-view-source.patch
Disable-safety-check.patch Disable-safety-check.patch
@@ -235,7 +236,6 @@ Add-webGL-site-setting.patch
Add-webRTC-site-settings.patch Add-webRTC-site-settings.patch
Show-site-settings-for-cookies-javascript-and-ads.patch Show-site-settings-for-cookies-javascript-and-ads.patch
Viewport-Protection-flag.patch Viewport-Protection-flag.patch
Revert-remove-allowscript-content-setting-secondary-url.patch
Timezone-customization.patch Timezone-customization.patch
Change-popup-site-setting.patch Change-popup-site-setting.patch
Disable-speechSynthesis-getVoices-API.patch Disable-speechSynthesis-getVoices-API.patch
@@ -243,6 +243,7 @@ Remove-support-for-device-memory-and-cpu-recovery.patch
Log-dangling-attributes-in-some-html-elements.patch Log-dangling-attributes-in-some-html-elements.patch
Keep-Side-Panel-Companion-disabled.patch Keep-Side-Panel-Companion-disabled.patch
Lock-Profile-Cookie-Database.patch Lock-Profile-Cookie-Database.patch
Show-warnings-on-downloads-over-HTTP.patch
Compress-libchrome-to-free-up-some-space.patch Compress-libchrome-to-free-up-some-space.patch
Cromite-Branding.patch Cromite-Branding.patch
Disable-Feeback-Collector.patch Disable-Feeback-Collector.patch
@@ -283,18 +284,13 @@ Enable-percent-based-scrolling-on-Windows.patch
Show-NTP-at-startup.patch Show-NTP-at-startup.patch
Enable-platform-aac-audio-and-h264-video.patch Enable-platform-aac-audio-and-h264-video.patch
Disable-Paint-Preview-by-default.patch Disable-Paint-Preview-by-default.patch
Do-not-use-Windows-ClearType-Text-Tuner-setting.patch Emoji-Fonts-fingerprinting-mitigation-02-02.patch
Private-network-access-content-settings.patch Emoji-Fonts-fingerprinting-mitigation-01-02.patch
Allow-building-without-supervised-users.patch
Keep-ComputePressure-disabled.patch
Android-Toolbar-Scroll-Ablation-setting.patch
Keep-disabled-WebViewMediaIntegrityApi.patch
Temp-PerformanceNavigationTiming-privacy-fix.patch Temp-PerformanceNavigationTiming-privacy-fix.patch
Temp-disable-predictive-back-gesture.patch Temp-disable-predictive-back-gesture.patch
TEMP-Add-a-log-to-track-strange-behavior.patch TEMP-Add-a-log-to-track-strange-behavior.patch
Temp-guard-FileSystemAccessPersistentPermissions.patch Temp-guard-FileSystemAccessPersistentPermissions.patch
Never-treat-Proguard-warnings-as-errors.patch
Fix-chromium-build-bugs.patch Fix-chromium-build-bugs.patch
eyeo-beta-118.0.5993.48-base.patch eyeo-beta-118.0.5993.48-base.patch
@@ -90,8 +90,8 @@ 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 diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json
@@ -3186,9 +3186,9 @@ @@ -3046,9 +3046,9 @@
"expiry_milestone": 135 "expiry_milestone": 125
}, },
{ {
- "name": "enable-image-reader", - "name": "enable-image-reader",
@@ -173,7 +173,7 @@ diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
--- a/gpu/config/gpu_util.cc --- a/gpu/config/gpu_util.cc
+++ b/gpu/config/gpu_util.cc +++ b/gpu/config/gpu_util.cc
@@ -124,6 +124,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus( @@ -122,6 +122,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
return kGpuFeatureStatusDisabled; return kGpuFeatureStatusDisabled;
#else #else
@@ -183,7 +183,7 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
if (!gpu_preferences.enable_android_surface_control) if (!gpu_preferences.enable_android_surface_control)
return kGpuFeatureStatusDisabled; return kGpuFeatureStatusDisabled;
@@ -385,6 +388,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) { @@ -368,6 +371,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] = gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
kGpuFeatureStatusBlocklisted; kGpuFeatureStatusBlocklisted;
} }
@@ -209,7 +209,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 diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc --- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc +++ b/gpu/ipc/service/gpu_init.cc
@@ -69,6 +69,7 @@ @@ -65,6 +65,7 @@
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
#include "ui/gfx/android/android_surface_control_compat.h" #include "ui/gfx/android/android_surface_control_compat.h"
@@ -217,7 +217,7 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
#endif #endif
#if BUILDFLAG(ENABLE_VULKAN) #if BUILDFLAG(ENABLE_VULKAN)
@@ -723,6 +724,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, @@ -662,6 +663,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
} }
#endif // BUILDFLAG(IS_WIN) #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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -232,6 +232,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider; @@ -230,6 +230,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
import org.chromium.content_public.browser.SelectionPopupController; import org.chromium.content_public.browser.SelectionPopupController;
import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentSwitches; 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.PrintManagerDelegateImpl;
import org.chromium.printing.PrintingController; import org.chromium.printing.PrintingController;
import org.chromium.printing.PrintingControllerImpl; import org.chromium.printing.PrintingControllerImpl;
@@ -1078,6 +1079,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent> @@ -1064,6 +1065,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
super.onStartWithNative(); super.onStartWithNative();
ChromeActivitySessionTracker.getInstance().onStartWithNative(); ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags(); ChromeCachedFlags.getInstance().cacheNativeFlags();
@@ -40,38 +40,38 @@ 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 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -138,6 +138,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { @@ -136,6 +136,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedShowSignInCommand, &feed::kFeedShowSignInCommand,
&feed::kFeedSignedOutViewDemotion, &feed::kFeedSignedOutViewDemotion,
&feed::kFeedUserInteractionReliabilityReport, &feed::kFeedUserInteractionReliabilityReport,
+ &kAllowUserCertificates, + &kAllowUserCertificates,
&feed::kInterestFeedV2, &feed::kInterestFeedV2,
&feed::kInterestFeedV2Hearts, &feed::kInterestFeedV2Hearts,
&feed::kWebFeedAwareness, &feed::kWebFeed,
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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -146,6 +146,7 @@ public abstract class ChromeFeatureList { @@ -141,6 +141,7 @@ public abstract class ChromeFeatureList {
/* Alphabetical: */ return ChromeFeatureMap.getInstance().mutableFlagWithSafeDefault(featureName, defaultValue);
public static final String ACCOUNT_REAUTHENTICATION_RECENT_TIME_WINDOW = }
"AccountReauthenticationRecentTimeWindow";
+ public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates"; + public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE = public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE =
"AdaptiveButtonInTopToolbarTranslate"; "AdaptiveButtonInTopToolbarTranslate";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_ADD_TO_BOOKMARKS = public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_ADD_TO_BOOKMARKS =
@@ -536,6 +537,8 @@ public abstract class ChromeFeatureList { @@ -533,6 +534,8 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sAndroidHub = newCachedFlag(ANDROID_HUB, false);
public static final CachedFlag sAndroidTabGroupStableIds = public static final CachedFlag sAndroidTabGroupStableIds =
newCachedFlag(ANDROID_TAB_GROUP_STABLE_IDS, false); newCachedFlag(ANDROID_TAB_GROUP_STABLE_IDS, false);
public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, false);
+ public static final CachedFlag sAllowUserCertificates = + public static final CachedFlag sAllowUserCertificates =
+ newCachedFlag(ALLOW_USER_CERTIFICATES, false); + newCachedFlag(ALLOW_USER_CERTIFICATES, false);
public static final CachedFlag sArchiveTabService = newCachedFlag(ARCHIVE_TAB_SERVICE, false); public static final CachedFlag sArchiveTabService = newCachedFlag(ARCHIVE_TAB_SERVICE, false);
public static final CachedFlag sAsyncNotificationManager = public static final CachedFlag sBackGestureActivityTabProvider =
newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false); newCachedFlag(BACK_GESTURE_ACTIVITY_TAB_PROVIDER, false);
@@ -686,6 +689,7 @@ public abstract class ChromeFeatureList { @@ -679,6 +682,7 @@ public abstract class ChromeFeatureList {
public static final List<CachedFlag> sFlagsCachedFullBrowser = public static final List<CachedFlag> sFlagsCachedFullBrowser =
List.of( List.of(
sAccountReauthenticationRecentTimeWindow,
+ sAllowUserCertificates, + sAllowUserCertificates,
sAndroidAppIntegration, sAndroidAppIntegration,
sAndroidElegantTextHeight, sAndroidElegantTextHeight,
@@ -44,7 +44,7 @@ new file mode 100644
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc 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 --- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc
@@ -306,6 +306,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) { @@ -300,6 +300,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
} }
} }
@@ -6,26 +6,23 @@ 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 License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
--- ---
base/features.cc | 4 ++++ base/features.cc | 3 +++
chrome/browser/about_flags.cc | 1 + chrome/browser/about_flags.cc | 1 +
.../Add-PartialLowEndModeOnMidRangeDevices-flag.inc | 12 ++++++++++++ .../Add-PartialLowEndModeOnMidRangeDevices-flag.inc | 12 ++++++++++++
3 files changed, 17 insertions(+) 3 files changed, 16 insertions(+)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
diff --git a/base/features.cc b/base/features.cc diff --git a/base/features.cc b/base/features.cc
--- a/base/features.cc --- a/base/features.cc
+++ b/base/features.cc +++ b/base/features.cc
@@ -91,6 +91,10 @@ BASE_FEATURE(kCollectAndroidFrameTimelineMetrics, @@ -67,4 +67,7 @@ BASE_FEATURE(kCollectAndroidFrameTimelineMetrics,
FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID) #endif // BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_ANDROID)
+SET_CROMITE_FEATURE_DISABLED(kPartialLowEndModeOnMidRangeDevices); +SET_CROMITE_FEATURE_DISABLED(kPartialLowEndModeOnMidRangeDevices);
+#endif +#endif
+ } // namespace base::features
void Init(EmitThreadControllerProfilerMetadata
emit_thread_controller_profiler_metadata) {
InitializeCpuReductionExperiment();
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -14,8 +14,8 @@ 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 diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json
@@ -7333,9 +7333,9 @@ @@ -7195,9 +7195,9 @@
"expiry_milestone": 126 "expiry_milestone": 125
}, },
{ {
- "name": "restrict-gamepad-access", - "name": "restrict-gamepad-access",
@@ -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 diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -3005,7 +3005,7 @@ const char kResetShortcutCustomizationsDescription[] = @@ -3089,7 +3089,7 @@ const char kResetShortcutCustomizationsDescription[] =
const char kRestrictGamepadAccessName[] = "Restrict gamepad access"; const char kRestrictGamepadAccessName[] = "Restrict gamepad access";
const char kRestrictGamepadAccessDescription[] = const char kRestrictGamepadAccessDescription[] =
@@ -38,9 +38,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../proxy_config/proxy_config_dictionary.cc | 30 +- .../proxy_config/proxy_config_dictionary.cc | 30 +-
.../proxy_config/proxy_config_dictionary.h | 7 +- .../proxy_config/proxy_config_dictionary.h | 7 +-
.../proxy_config/proxy_policy_handler.cc | 2 +- .../proxy_config/proxy_policy_handler.cc | 2 +-
net/proxy_resolution/proxy_config.cc | 51 ++- net/proxy_resolution/proxy_config.cc | 52 ++-
net/proxy_resolution/proxy_config.h | 3 + net/proxy_resolution/proxy_config.h | 3 +
25 files changed, 980 insertions(+), 17 deletions(-) 25 files changed, 981 insertions(+), 17 deletions(-)
create mode 100644 chrome/browser/resources/proxy_config.css create mode 100644 chrome/browser/resources/proxy_config.css
create mode 100644 chrome/browser/resources/proxy_config.html create mode 100644 chrome/browser/resources/proxy_config.html
create mode 100644 chrome/browser/resources/proxy_config.js create mode 100644 chrome/browser/resources/proxy_config.js
@@ -50,7 +50,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml 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 --- a/chrome/android/java/res/values/values.xml
+++ b/chrome/android/java/res/values/values.xml +++ b/chrome/android/java/res/values/values.xml
@@ -19,6 +19,9 @@ found in the LICENSE file. @@ -25,6 +25,9 @@ found in the LICENSE file.
<!-- Compositor Tab Title Text --> <!-- Compositor Tab Title Text -->
<bool name="compositor_tab_title_fake_bold_text">true</bool> <bool name="compositor_tab_title_fake_bold_text">true</bool>
@@ -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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -78,6 +78,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -76,6 +76,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private static final String PREF_SAFE_BROWSING = "safe_browsing"; 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_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; 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 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 --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -303,6 +303,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { @@ -308,6 +308,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back( builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL)); base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif #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 diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd --- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd
@@ -233,6 +233,9 @@ @@ -237,6 +237,9 @@
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings\internal\pref_hash_seed.bin" type="BINDATA" /> <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" /> <include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
</if> </if>
@@ -198,15 +198,15 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
--- a/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc
@@ -191,6 +191,8 @@ @@ -191,6 +191,8 @@
#include "printing/buildflags/buildflags.h"
#include "rlz/buildflags/buildflags.h" #include "rlz/buildflags/buildflags.h"
#include "services/screen_ai/buildflags/buildflags.h"
+#include "chrome/browser/net/proxy_service_factory.h" +#include "chrome/browser/net/proxy_service_factory.h"
+ +
#if BUILDFLAG(ENABLE_BACKGROUND_MODE) #if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h" #include "chrome/browser/background/background_mode_manager.h"
#endif #endif
@@ -1523,6 +1525,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { @@ -1447,6 +1449,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
component_updater::RegisterPrefs(registry); component_updater::RegisterPrefs(registry);
domain_reliability::RegisterPrefs(registry); domain_reliability::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::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 diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn
@@ -314,6 +314,8 @@ static_library("ui") { @@ -301,6 +301,8 @@ static_library("ui") {
"webui/metrics_internals/metrics_internals_ui.h", "webui/metrics_internals/metrics_internals_ui.h",
"webui/net_export_ui.cc", "webui/net_export_ui.cc",
"webui/net_export_ui.h", "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 diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -55,6 +55,7 @@ @@ -52,6 +52,7 @@
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h" #include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h" #include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
#include "chrome/browser/ui/webui/policy/policy_ui.h" #include "chrome/browser/ui/webui/policy/policy_ui.h"
@@ -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/predictors/predictors_ui.h"
#include "chrome/browser/ui/webui/privacy_sandbox/privacy_sandbox_internals_ui.h" #include "chrome/browser/ui/webui/privacy_sandbox/privacy_sandbox_internals_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h" #include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
@@ -455,6 +456,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, @@ -469,6 +470,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MetricsInternalsUI>; return &NewWebUI<MetricsInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost) if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>; return &NewWebUI<NetExportUI>;
@@ -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 kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/"; const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components"; const char kChromeUIComponentsHost[] = "components";
@@ -464,6 +466,7 @@ bool IsSystemWebUIHost(base::StringPiece host) { @@ -460,6 +462,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUILockScreenNetworkHost, kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost, kChromeUILockScreenStartReauthHost,
kChromeUIMobileSetupHost, kChromeUIMobileSetupHost,
@@ -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 diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h --- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h +++ b/chrome/common/webui_url_constants.h
@@ -135,6 +135,8 @@ extern const char kChromeUINTPTilesInternalsHost[]; @@ -134,6 +134,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[]; extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[]; extern const char kChromeUINetExportHost[];
extern const char kChromeUINetExportURL[]; extern const char kChromeUINetExportURL[];
@@ -1342,11 +1342,16 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
} }
// Trim whitespace off the url scheme. // Trim whitespace off the url scheme.
@@ -140,6 +140,55 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) { @@ -140,6 +140,56 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
} }
} }
+std::string ProxyConfig::ProxyRules::ToString() const { +std::string ProxyConfig::ProxyRules::ToString() const {
+ if (type == Type::EMPTY) {
+ return "";
+ }
+
+ // special case: a single proxy servers list specified
+ if (type == Type::PROXY_LIST) { + if (type == Type::PROXY_LIST) {
+ std::string proxy_list; + std::string proxy_list;
+ for (const auto& proxy_chain : single_proxies.AllChains()) { + for (const auto& proxy_chain : single_proxies.AllChains()) {
@@ -1358,41 +1363,37 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
+ proxy_list.pop_back(); + proxy_list.pop_back();
+ } + }
+ return proxy_list; + return proxy_list;
+ } else if (type == Type::PROXY_LIST_PER_SCHEME) { + }
+ // start to build a per-scheme list +
+ std::string list; + if (type != Type::PROXY_LIST_PER_SCHEME) {
+ for (const auto& proxy_chain : proxies_for_http.AllChains()) { + NOTREACHED();
+ if (proxy_chain.length()) { + // Unexpected LIST with fallback, or other type values
+ net::ProxyServer proxy_server = proxy_chain.First();
+ list += "http=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ }
+ for (const auto& proxy_chain : proxies_for_https.AllChains()) {
+ if (proxy_chain.length()) {
+ net::ProxyServer proxy_server = proxy_chain.First();
+ list += "https=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ }
+ for (const auto& proxy_chain : proxies_for_ftp.AllChains()) {
+ if (proxy_chain.length()) {
+ net::ProxyServer proxy_server = proxy_chain.First();
+ list += "ftp=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ }
+ for (const auto& proxy_chain : fallback_proxies.AllChains()) {
+ if (proxy_chain.length()) {
+ net::ProxyServer proxy_server = proxy_chain.First();
+ list += "socks=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ }
+ if (list.length() != 0 ) {
+ // remove last semicolon
+ list.pop_back();
+ }
+ return list;
+ } else {
+ return ""; + return "";
+ } + }
+
+ // start to build a per-scheme list
+ std::string list;
+ for (const auto& proxy_chain : proxies_for_http.AllChains()) {
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
+ list += "http=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ for (const auto& proxy_chain : proxies_for_https.AllChains()) {
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
+ list += "https=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ for (const auto& proxy_chain : proxies_for_ftp.AllChains()) {
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
+ list += "ftp=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ for (const auto& proxy_chain : fallback_proxies.AllChains()) {
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
+ list += "socks=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ if (list.length() != 0 ) {
+ // remove last semicolon
+ list.pop_back();
+ }
+ return list;
+} +}
+ +
const ProxyList* ProxyConfig::ProxyRules::MapUrlSchemeToProxyList( const ProxyList* ProxyConfig::ProxyRules::MapUrlSchemeToProxyList(
+174 -178
View File
@@ -23,23 +23,23 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/chrome_java_sources.gni | 2 + chrome/android/chrome_java_sources.gni | 2 +
.../java/res/xml/incognito_preferences.xml | 37 ++++ .../java/res/xml/incognito_preferences.xml | 37 ++++
.../java/res/xml/privacy_preferences.xml | 5 + .../java/res/xml/privacy_preferences.xml | 5 +
.../AlwaysIncognitoLinkInterceptor.java | 54 ++++++ .../AlwaysIncognitoLinkInterceptor.java | 53 ++++++
.../chrome/browser/ChromeTabbedActivity.java | 22 ++- .../chrome/browser/ChromeTabbedActivity.java | 20 ++-
.../chrome/browser/app/ChromeActivity.java | 4 + .../chrome/browser/app/ChromeActivity.java | 4 +
.../AppMenuPropertiesDelegateImpl.java | 28 ++- .../AppMenuPropertiesDelegateImpl.java | 27 ++-
.../ChromeContextMenuPopulator.java | 7 +- .../ChromeContextMenuPopulator.java | 7 +-
.../CustomTabActivityLifecycleUmaTracker.java | 31 ---- .../CustomTabActivityLifecycleUmaTracker.java | 31 ----
.../CustomTabAppMenuPropertiesDelegate.java | 4 + .../CustomTabAppMenuPropertiesDelegate.java | 4 +
.../CustomTabIntentDataProvider.java | 5 +- .../CustomTabIntentDataProvider.java | 5 +-
.../browser/download/DownloadUtils.java | 16 +- .../browser/download/DownloadUtils.java | 16 +-
.../history/HistoryContentManager.java | 7 +- .../history/HistoryContentManager.java | 7 +-
.../browser/history/HistoryManager.java | 27 ++- .../browser/history/HistoryManager.java | 26 ++-
.../chrome/browser/history/HistoryPage.java | 16 ++ .../chrome/browser/history/HistoryPage.java | 15 ++
.../native_page/NativePageFactory.java | 4 +- .../native_page/NativePageFactory.java | 4 +-
.../chrome/browser/ntp/RecentTabsManager.java | 28 ++- .../chrome/browser/ntp/RecentTabsManager.java | 28 ++-
.../privacy/settings/IncognitoSettings.java | 161 ++++++++++++++++++ .../privacy/settings/IncognitoSettings.java | 160 ++++++++++++++++++
.../browser/settings/SettingsActivity.java | 4 + .../browser/settings/SettingsActivity.java | 4 +
.../HistoricalTabModelObserver.java | 5 +- .../HistoricalTabModelObserver.java | 6 +-
.../tab/tab_restore/HistoricalTabSaver.java | 2 +- .../tab/tab_restore/HistoricalTabSaver.java | 2 +-
.../tab_restore/HistoricalTabSaverImpl.java | 17 +- .../tab_restore/HistoricalTabSaverImpl.java | 17 +-
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +- .../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
@@ -66,7 +66,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/profiles/profile_selections.cc | 10 ++ chrome/browser/profiles/profile_selections.cc | 10 ++
chrome/browser/profiles/profile_selections.h | 7 +- chrome/browser/profiles/profile_selections.h | 7 +-
.../browser/ui/android/native_page/BUILD.gn | 2 + .../browser/ui/android/native_page/BUILD.gn | 2 +
.../browser/ui/native_page/NativePage.java | 23 ++- .../browser/ui/native_page/NativePage.java | 16 +-
.../strings/android_chrome_strings.grd | 31 ++++ .../strings/android_chrome_strings.grd | 31 ++++
.../browser/toolbar/LocationBarModel.java | 5 +- .../browser/toolbar/LocationBarModel.java | 5 +-
chrome/browser/ui/messages/android/BUILD.gn | 1 + chrome/browser/ui/messages/android/BUILD.gn | 1 +
@@ -85,7 +85,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../add-an-always-incognito-mode.inc | 3 + .../add-an-always-incognito-mode.inc | 3 +
.../add-an-always-incognito-mode.inc | 1 + .../add-an-always-incognito-mode.inc | 1 +
net/base/file_stream_context.cc | 2 +- net/base/file_stream_context.cc | 2 +-
66 files changed, 781 insertions(+), 104 deletions(-) 66 files changed, 770 insertions(+), 102 deletions(-)
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
@@ -98,9 +98,9 @@ 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 diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni
@@ -642,6 +642,7 @@ chrome_java_resources = [ @@ -644,6 +644,7 @@ chrome_java_resources = [
"java/res/xml/main_preferences.xml",
"java/res/xml/manage_sync_preferences.xml", "java/res/xml/manage_sync_preferences.xml",
"java/res/xml/personalize_google_services_preferences.xml",
"java/res/xml/phone_as_a_security_key_accessory_filter.xml", "java/res/xml/phone_as_a_security_key_accessory_filter.xml",
+ "java/res/xml/incognito_preferences.xml", + "java/res/xml/incognito_preferences.xml",
"java/res/xml/privacy_preferences.xml", "java/res/xml/privacy_preferences.xml",
@@ -117,8 +117,8 @@ 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/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java", "java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
"java/src/org/chromium/chrome/browser/ActivityUtils.java", "java/src/org/chromium/chrome/browser/ActivityUtils.java",
@@ -981,6 +982,7 @@ chrome_java_sources = [ @@ -979,6 +980,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy_sandbox/ChromeIpProtectionDelegate.java", "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/ChromeTrackingProtectionDelegate.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionNoticeController.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/privacy/settings/IncognitoSettings.java",
@@ -170,7 +170,7 @@ new file mode 100644
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml 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 --- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -77,6 +77,11 @@ found in the LICENSE file. @@ -66,6 +66,11 @@ found in the LICENSE file.
android:key="secure_dns" android:key="secure_dns"
android:title="@string/settings_secure_dns_title" 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" />
@@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognito
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
@@ -0,0 +1,54 @@ @@ -0,0 +1,53 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public +/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this + * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -199,7 +199,6 @@ new file mode 100644
+import org.chromium.components.user_prefs.UserPrefs; +import org.chromium.components.user_prefs.UserPrefs;
+import org.chromium.components.prefs.PrefService; +import org.chromium.components.prefs.PrefService;
+import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.profiles.ProfileManager;
+import org.chromium.chrome.browser.preferences.Pref; +import org.chromium.chrome.browser.preferences.Pref;
+import org.chromium.base.Log; +import org.chromium.base.Log;
+ +
@@ -223,7 +222,7 @@ new file mode 100644
+ } + }
+ +
+ public static void setAlwaysIncognito(boolean enabled) { + public static void setAlwaysIncognito(boolean enabled) {
+ UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + UserPrefs.get(Profile.getLastUsedRegularProfile())
+ .setBoolean(Pref.ALWAYS_INCOGNITO_ENABLED, enabled); + .setBoolean(Pref.ALWAYS_INCOGNITO_ENABLED, enabled);
+ +
+ SharedPreferences.Editor sharedPreferenceEditor = ContextUtils.getAppSharedPreferences().edit(); + SharedPreferences.Editor sharedPreferenceEditor = ContextUtils.getAppSharedPreferences().edit();
@@ -233,7 +232,7 @@ new file mode 100644
+ +
+ public static void migrateSettingToNative() { + public static void migrateSettingToNative() {
+ if (isAlwaysIncognito()) { + if (isAlwaysIncognito()) {
+ PrefService prefService = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()); + PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ if (!prefService.getBoolean(Pref.ALWAYS_INCOGNITO_ENABLED)) { + if (!prefService.getBoolean(Pref.ALWAYS_INCOGNITO_ENABLED)) {
+ Log.i(TAG, "Pref migration from java to native"); + Log.i(TAG, "Pref migration from java to native");
+ prefService.setBoolean(Pref.ALWAYS_INCOGNITO_ENABLED, true); + prefService.setBoolean(Pref.ALWAYS_INCOGNITO_ENABLED, true);
@@ -244,7 +243,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -68,6 +68,10 @@ import org.chromium.base.task.TaskTraits; @@ -66,6 +66,10 @@ import org.chromium.base.task.TaskTraits;
import org.chromium.build.annotations.UsedByReflection; import org.chromium.build.annotations.UsedByReflection;
import org.chromium.cc.input.BrowserControlsState; import org.chromium.cc.input.BrowserControlsState;
import org.chromium.chrome.R; import org.chromium.chrome.R;
@@ -255,27 +254,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.IntentHandler.TabOpenType; import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.app.ChromeActivity; import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.metrics.LaunchCauseMetrics; import org.chromium.chrome.browser.app.metrics.LaunchCauseMetrics;
@@ -692,10 +696,15 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -676,9 +680,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
}); mTabModelOrchestrator.onNativeLibraryReady(getTabContentManager());
// For saving non-incognito tab closures for Recent Tabs. // For saving non-incognito tab closures for Recent Tabs.
- mHistoricalTabModelObserver = - mHistoricalTabModelObserver =
- new HistoricalTabModelObserver( - new HistoricalTabModelObserver(mTabModelSelector.getModel(false));
- mTabModelSelector.getTabModelFilterProvider().getTabModelFilter(false));
- -
+ boolean alwaysIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito(); + boolean alwaysIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
+ PrefService prefService = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()); + PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ boolean historyEnabledInIncognito = + boolean historyEnabledInIncognito =
+ prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED); + prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED);
+ if ((alwaysIncognito && historyEnabledInIncognito) || !alwaysIncognito) { + if ((alwaysIncognito && historyEnabledInIncognito) || !alwaysIncognito) {
+ mHistoricalTabModelObserver = + mHistoricalTabModelObserver =
+ new HistoricalTabModelObserver( + new HistoricalTabModelObserver(mTabModelSelector.getModel(alwaysIncognito));
+ mTabModelSelector.getTabModelFilterProvider().getTabModelFilter(alwaysIncognito));
+ } + }
// Defer initialization of this helper so it triggers after TabModelFilter // Defer initialization of this helper so it triggers after TabModelFilter
// observers. // observers.
UndoRefocusHelper.initialize( UndoRefocusHelper.initialize(
@@ -2430,8 +2439,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -2405,8 +2414,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
// We determine the model as soon as possible so every systems get initialized coherently. // We determine the model as soon as possible so every systems get initialized coherently.
boolean startIncognito = boolean startIncognito =
@@ -290,7 +287,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -94,6 +94,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial; @@ -95,6 +95,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate; import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule; import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
@@ -298,7 +295,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.ChromeActivityComponent;
import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides; import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
import org.chromium.chrome.browser.device.DeviceClassManager; import org.chromium.chrome.browser.device.DeviceClassManager;
@@ -2008,6 +2009,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent> @@ -1996,6 +1997,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException( throw new IllegalStateException(
"Attempting to access TabCreator before initialization"); "Attempting to access TabCreator before initialization");
} }
@@ -311,17 +308,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -37,6 +37,8 @@ import org.chromium.base.supplier.OneshotSupplier; @@ -37,6 +37,7 @@ import org.chromium.base.supplier.OneshotSupplier;
import org.chromium.base.supplier.Supplier; import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.ActivityTabProvider;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor; +import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.bookmarks.BookmarkFeatures;
import org.chromium.chrome.browser.bookmarks.BookmarkModel; import org.chromium.chrome.browser.bookmarks.BookmarkModel;
import org.chromium.chrome.browser.bookmarks.PowerBookmarkUtils; import org.chromium.chrome.browser.bookmarks.PowerBookmarkUtils;
import org.chromium.chrome.browser.commerce.ShoppingFeatures; @@ -103,6 +104,10 @@ import java.lang.annotation.RetentionPolicy;
@@ -99,6 +101,10 @@ import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import java.util.List;
+import org.chromium.components.prefs.PrefService; +import org.chromium.components.prefs.PrefService;
@@ -331,7 +327,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
/** /**
* Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu * Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu
* items based on activity state. * items based on activity state.
@@ -594,6 +600,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate @@ -604,6 +609,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
} }
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) { private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
@@ -345,14 +341,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
// We have to iterate all menu items since same menu item ID may be associated with more // We have to iterate all menu items since same menu item ID may be associated with more
// than one menu items. // than one menu items.
boolean isOverviewModeMenu = menuGroup == MenuGroup.OVERVIEW_MODE_MENU; boolean isOverviewModeMenu = menuGroup == MenuGroup.OVERVIEW_MODE_MENU;
@@ -657,7 +670,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate @@ -667,7 +679,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
} }
if (item.getItemId() == R.id.recent_tabs_menu_id) { if (item.getItemId() == R.id.recent_tabs_menu_id) {
- item.setVisible(!isIncognito); - item.setVisible(!isIncognito);
+ if (always_incognito) { + if (always_incognito) {
+ PrefService prefService = + PrefService prefService =
+ UserPrefs.get(ProfileManager.getLastUsedRegularProfile()); + UserPrefs.get(Profile.getLastUsedRegularProfile());
+ boolean historyEnabledInIncognito = + boolean historyEnabledInIncognito =
+ prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED); + prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED);
+ item.setVisible(historyEnabledInIncognito); + item.setVisible(historyEnabledInIncognito);
@@ -362,8 +358,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
} }
if (item.getItemId() == R.id.menu_select_tabs) { if (item.getItemId() == R.id.menu_select_tabs) {
item.setVisible(isMenuSelectTabsVisible); item.setVisible(isMenuSelectTabsVisible);
@@ -866,8 +887,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate @@ -876,8 +896,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
&& !isNativePage && !isChromeScheme
&& !isFileScheme && !isFileScheme
&& !isContentScheme && !isContentScheme
- && !isIncognito - && !isIncognito
@@ -464,7 +460,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import org.chromium.chrome.browser.DefaultBrowserInfo; import org.chromium.chrome.browser.DefaultBrowserInfo;
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl; import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
import org.chromium.chrome.browser.app.appmenu.DividerLineMenuItemViewBinder; import org.chromium.chrome.browser.app.appmenu.DividerLineMenuItemViewBinder;
@@ -216,6 +217,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat @@ -218,6 +219,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
openInChromeItemVisible = false; openInChromeItemVisible = false;
tryAddingReadAloud = false; tryAddingReadAloud = false;
} }
@@ -472,12 +468,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
+ downloadItemVisible = true; + downloadItemVisible = true;
+ } + }
boolean isNativePage = boolean isChromeScheme =
url.getScheme().equals(UrlConstants.CHROME_SCHEME) url.getScheme().equals(UrlConstants.CHROME_SCHEME)
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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -84,6 +84,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable; @@ -83,6 +83,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.device.mojom.ScreenOrientationLockType; import org.chromium.device.mojom.ScreenOrientationLockType;
@@ -487,7 +483,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList; import java.util.ArrayList;
@@ -1307,7 +1310,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid @@ -1291,7 +1294,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@Override @Override
public boolean isIncognito() { public boolean isIncognito() {
@@ -499,7 +495,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
+++ b/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.FileUtils; @@ -34,6 +34,7 @@ import org.chromium.base.FileUtils;
import org.chromium.base.IntentUtils; import org.chromium.base.IntentUtils;
import org.chromium.base.Log; import org.chromium.base.Log;
import org.chromium.chrome.R; import org.chromium.chrome.R;
@@ -507,7 +503,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
import org.chromium.chrome.browser.ChromeTabbedActivity; import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.app.download.home.DownloadActivityLauncher; import org.chromium.chrome.browser.app.download.home.DownloadActivityLauncher;
@@ -77,6 +78,10 @@ import org.chromium.url.GURL; @@ -74,6 +75,10 @@ import org.chromium.url.GURL;
import java.io.File; import java.io.File;
@@ -518,14 +514,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
/** A class containing some utility static methods. */ /** A class containing some utility static methods. */
public class DownloadUtils { public class DownloadUtils {
private static final String TAG = "download"; private static final String TAG = "download";
@@ -290,7 +295,16 @@ public class DownloadUtils { @@ -286,7 +291,16 @@ public class DownloadUtils {
// Offline pages isn't supported in Incognito. This should be checked before calling // Offline pages isn't supported in Incognito. This should be checked before calling
// OfflinePageBridge.getForProfile because OfflinePageBridge instance will not be found // OfflinePageBridge.getForProfile because OfflinePageBridge instance will not be found
// for incognito profile. // for incognito profile.
- if (tab.isIncognito()) return false; - if (tab.isIncognito()) return false;
+ boolean always_incognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito(); + boolean always_incognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
+ if (always_incognito) { + if (always_incognito) {
+ PrefService prefService = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()); + PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ boolean historyEnabledInIncognito = + boolean historyEnabledInIncognito =
+ prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED); + prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED);
+ if (historyEnabledInIncognito == false) + if (historyEnabledInIncognito == false)
@@ -539,7 +535,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
@@ -246,7 +246,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver @@ -239,7 +239,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
mHistoryAdapter.generateFooterItems(); mHistoryAdapter.generateFooterItems();
// Listen to changes in sign in state. // Listen to changes in sign in state.
@@ -550,7 +546,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
// Create PrefChangeRegistrar to receive notifications on preference changes. // Create PrefChangeRegistrar to receive notifications on preference changes.
mPrefChangeRegistrar = new PrefChangeRegistrar(); mPrefChangeRegistrar = new PrefChangeRegistrar();
@@ -282,7 +284,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver @@ -275,7 +277,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
mHistoryAdapter.onDestroyed(); mHistoryAdapter.onDestroyed();
mLargeIconBridge.destroy(); mLargeIconBridge.destroy();
mLargeIconBridge = null; mLargeIconBridge = null;
@@ -563,13 +559,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
@@ -52,6 +52,14 @@ import org.chromium.ui.base.Clipboard; @@ -23,6 +23,7 @@ import com.google.android.material.tabs.TabLayout;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.supplier.ObservableSupplier;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
@@ -49,6 +50,12 @@ import org.chromium.ui.base.Clipboard;
import java.util.List; import java.util.List;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.profiles.ProfileManager;
+import org.chromium.base.ContextUtils; +import org.chromium.base.ContextUtils;
+import org.chromium.components.prefs.PrefService; +import org.chromium.components.prefs.PrefService;
+import org.chromium.components.user_prefs.UserPrefs; +import org.chromium.components.user_prefs.UserPrefs;
@@ -578,16 +580,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/** Combines and manages the different UI components of browsing history. */ /** Combines and manages the different UI components of browsing history. */
public class HistoryManager public class HistoryManager
implements OnMenuItemClickListener, implements OnMenuItemClickListener,
@@ -147,7 +155,7 @@ public class HistoryManager @@ -133,7 +140,7 @@ public class HistoryManager
mUmaRecorder.recordOpenHistory(); recordUserAction("Show");
// If incognito placeholder is shown, we don't need to create History UI elements. // If incognito placeholder is shown, we don't need to create History UI elements.
- if (mIsIncognito) { - if (mIsIncognito) {
+ if (shouldShowIncognitoPlaceholder()) { + if (shouldShowIncognitoPlaceholder()) {
mSelectableListLayout = null; mSelectableListLayout = null;
mRootView = getIncognitoHistoryPlaceholderView(); mRootView = getIncognitoHistoryPlaceholderView();
return; return;
@@ -355,9 +363,22 @@ public class HistoryManager @@ -339,9 +346,22 @@ public class HistoryManager
onBackPressStateChanged(); onBackPressStateChanged();
} }
@@ -596,7 +598,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
+ public boolean shouldShowIncognitoPlaceholder() { + public boolean shouldShowIncognitoPlaceholder() {
+ if (mIsIncognito && + if (mIsIncognito &&
+ AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) { + AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) {
+ PrefService prefService = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()); + PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ boolean historyEnabledInIncognito = + boolean historyEnabledInIncognito =
+ prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED); + prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED);
+ if (historyEnabledInIncognito) return false; + if (historyEnabledInIncognito) return false;
@@ -611,7 +613,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. // If Incognito placeholder is shown no need to call any destroy method.
return; return;
} }
@@ -417,7 +438,7 @@ public class HistoryManager @@ -397,7 +417,7 @@ public class HistoryManager
* @return True if manager handles this event, false if it decides to ignore. * @return True if manager handles this event, false if it decides to ignore.
*/ */
private boolean onBackPressed() { private boolean onBackPressed() {
@@ -623,13 +625,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
@@ -16,6 +16,14 @@ import org.chromium.chrome.browser.ui.native_page.BasicNativePage; @@ -9,6 +9,7 @@ import android.net.Uri;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
@@ -16,6 +17,12 @@ import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
import org.chromium.chrome.browser.ui.native_page.NativePageHost; import org.chromium.chrome.browser.ui.native_page.NativePageHost;
import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.components.embedder_support.util.UrlConstants;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.profiles.ProfileManager;
+import org.chromium.base.ContextUtils; +import org.chromium.base.ContextUtils;
+import org.chromium.components.prefs.PrefService; +import org.chromium.components.prefs.PrefService;
+import org.chromium.components.user_prefs.UserPrefs; +import org.chromium.components.user_prefs.UserPrefs;
@@ -638,13 +646,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/** Native page for managing browsing history. */ /** Native page for managing browsing history. */
public class HistoryPage extends BasicNativePage { public class HistoryPage extends BasicNativePage {
private HistoryManager mHistoryManager; private HistoryManager mHistoryManager;
@@ -41,6 +49,14 @@ public class HistoryPage extends BasicNativePage { @@ -41,6 +48,14 @@ public class HistoryPage extends BasicNativePage {
String url) { String url) {
super(host); super(host);
+ if (profile.isOffTheRecord() && + if (profile.isOffTheRecord() &&
+ AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) { + AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) {
+ PrefService prefService = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()); + PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ boolean historyEnabledInIncognito = + boolean historyEnabledInIncognito =
+ prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED); + prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED);
+ if (historyEnabledInIncognito == true) profile = profile.getOriginalProfile(); + if (historyEnabledInIncognito == true) profile = profile.getOriginalProfile();
@@ -664,20 +672,20 @@ 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.ChromeActivity;
import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.app.download.home.DownloadPage;
import org.chromium.chrome.browser.bookmarks.BookmarkPage; import org.chromium.chrome.browser.bookmarks.BookmarkPage;
@@ -307,7 +308,8 @@ public class NativePageFactory { @@ -297,7 +298,8 @@ public class NativePageFactory {
String url, NativePage candidatePage, Tab tab, boolean isIncognito, PdfInfo pdfInfo) { String url, NativePage candidatePage, Tab tab, boolean isIncognito) {
NativePage page; NativePage page;
- switch (NativePage.nativePageType(url, candidatePage, isIncognito, pdfInfo != null)) { - switch (NativePage.nativePageType(url, candidatePage, isIncognito)) {
+ boolean isAlwaysIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito(); + boolean isAlwaysIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
+ switch (NativePage.nativePageType(url, candidatePage, isIncognito, pdfInfo != null, isAlwaysIncognito)) { + switch (NativePage.nativePageType(url, candidatePage, isIncognito, isAlwaysIncognito)) {
case NativePageType.NONE: case NativePageType.NONE:
return null; return null;
case NativePageType.CANDIDATE: case NativePageType.CANDIDATE:
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
@@ -38,6 +38,15 @@ import org.chromium.components.signin.metrics.SigninAccessPoint; @@ -35,6 +35,15 @@ import org.chromium.components.signin.metrics.SigninAccessPoint;
import org.chromium.components.sync.SyncService; import org.chromium.components.sync.SyncService;
import org.chromium.url.GURL; import org.chromium.url.GURL;
@@ -693,7 +701,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -104,7 +113,8 @@ public class RecentTabsManager @@ -101,7 +110,8 @@ public class RecentTabsManager
Profile profile, Profile profile,
Context context, Context context,
Runnable showHistoryManager) { Runnable showHistoryManager) {
@@ -703,7 +711,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
mActiveTab = tab; mActiveTab = tab;
mTabModelSelector = tabModelSelector; mTabModelSelector = tabModelSelector;
mShowHistoryManager = showHistoryManager; mShowHistoryManager = showHistoryManager;
@@ -270,6 +280,22 @@ public class RecentTabsManager @@ -263,6 +273,22 @@ public class RecentTabsManager
*/ */
public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) { public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) {
if (mIsDestroyed) return; if (mIsDestroyed) return;
@@ -730,7 +738,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
@@ -0,0 +1,161 @@ @@ -0,0 +1,160 @@
+/* +/*
+ This file is part of Bromite. + This file is part of Bromite.
+ +
@@ -766,7 +774,6 @@ new file mode 100644
+import org.chromium.chrome.R; +import org.chromium.chrome.R;
+import org.chromium.chrome.browser.preferences.Pref; +import org.chromium.chrome.browser.preferences.Pref;
+import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.profiles.ProfileManager;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor; +import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
@@ -790,7 +797,7 @@ new file mode 100644
+ private static final String PREF_INCOGNITO_TAB_HISTORY = "incognito_history"; + private static final String PREF_INCOGNITO_TAB_HISTORY = "incognito_history";
+ private static final String PREF_INCOGNITO_SAVE_SITE_SETTING = "incognito_save_site_setting"; + private static final String PREF_INCOGNITO_SAVE_SITE_SETTING = "incognito_save_site_setting";
+ +
+ private final PrefService prefService = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()); + private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ +
+ @Override + @Override
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
@@ -895,15 +902,15 @@ 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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -78,6 +78,7 @@ import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl; @@ -75,6 +75,7 @@ import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate; import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
import org.chromium.chrome.browser.sync.SyncServiceFactory; import org.chromium.chrome.browser.sync.SyncServiceFactory;
import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher; import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
@@ -365,6 +366,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity @@ -362,6 +363,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
((PrivacySandboxSettingsBaseFragment) fragment) ((PrivacySandboxSettingsBaseFragment) fragment)
.setSnackbarManager(getSnackbarManager()); .setSnackbarManager(getSnackbarManager());
} }
@@ -916,7 +923,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
@@ -21,6 +21,8 @@ import java.util.ArrayList; @@ -13,6 +13,8 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -924,19 +931,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
+ +
/** A tab model observer for managing bulk closures. */ /** A tab model observer for managing bulk closures. */
public class HistoricalTabModelObserver implements TabModelObserver { public class HistoricalTabModelObserver implements TabModelObserver {
private final TabGroupModelFilter mTabGroupModelFilter; private final TabModel mTabModel;
@@ -52,9 +54,10 @@ public class HistoricalTabModelObserver implements TabModelObserver { @@ -38,7 +40,8 @@ public class HistoricalTabModelObserver implements TabModelObserver {
if (tabs.isEmpty()) return; if (tabs.isEmpty()) return;
if (tabs.size() == 1) { if (tabs.size() == 1) {
- mHistoricalTabSaver.createHistoricalTab(tabs.get(0));
+ boolean is_always_incognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito(); + boolean is_always_incognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
Tab tab = tabs.get(0); + mHistoricalTabSaver.createHistoricalTab(tabs.get(0), is_always_incognito);
if (!isTabGroupWithOneTab(tab)) { return;
- mHistoricalTabSaver.createHistoricalTab(tab);
+ mHistoricalTabSaver.createHistoricalTab(tab, is_always_incognito);
return;
}
} }
@@ -69,7 +72,6 @@ public class HistoricalTabModelObserver implements TabModelObserver {
entries.add(historicalGroup);
idToGroup.put(groupId, historicalGroup);
}
-
mHistoricalTabSaver.createHistoricalBulkClosure(entries);
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java
@@ -952,7 +965,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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
@@ -29,6 +29,8 @@ import java.util.Arrays; @@ -26,6 +26,8 @@ import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@@ -961,7 +974,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
/** Creates historical entries in TabRestoreService. */ /** Creates historical entries in TabRestoreService. */
@JNINamespace("historical_tab_saver") @JNINamespace("historical_tab_saver")
public class HistoricalTabSaverImpl implements HistoricalTabSaver { public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -67,10 +69,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { @@ -64,10 +66,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// HistoricalTabSaver implementation. // HistoricalTabSaver implementation.
@Override @Override
@@ -974,7 +987,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
} }
@Override @Override
@@ -127,7 +129,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { @@ -119,7 +121,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// If there is only a single valid tab remaining save it individually. // If there is only a single valid tab remaining save it individually.
if (validEntries.size() == 1 && validEntries.get(0).isSingleTab()) { if (validEntries.size() == 1 && validEntries.get(0).isSingleTab()) {
@@ -983,7 +996,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
return; return;
} }
@@ -166,14 +168,15 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { @@ -155,14 +157,15 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
CollectionUtil.integerCollectionToIntArray(savedStateVersions)); CollectionUtil.integerCollectionToIntArray(savedStateVersions));
} }
@@ -1001,7 +1014,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
} }
/** /**
@@ -181,7 +184,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { @@ -170,7 +173,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
* internal Chrome scheme, about:blank, or a native page and it cannot be incognito. * internal Chrome scheme, about:blank, or a native page and it cannot be incognito.
*/ */
private boolean shouldSave(Tab tab) { private boolean shouldSave(Tab tab) {
@@ -1010,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. // {@link GURL#getScheme()} is not available in unit tests.
if (mIgnoreUrlSchemesForTesting) return true; if (mIgnoreUrlSchemesForTesting) return true;
@@ -262,7 +265,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { @@ -243,7 +246,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@NativeMethods @NativeMethods
interface Natives { interface Natives {
@@ -1022,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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -150,6 +150,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetController; @@ -139,6 +139,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetController;
import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFactory; import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFactory;
import org.chromium.ui.base.ActivityWindowAndroid; import org.chromium.ui.base.ActivityWindowAndroid;
import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.DeviceFormFactor;
@@ -1031,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.base.IntentRequestTracker;
import org.chromium.ui.dragdrop.DragDropGlobalState; import org.chromium.ui.dragdrop.DragDropGlobalState;
import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -1073,7 +1075,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @@ -1011,7 +1013,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
() -> { () -> {
mTabCreatorManagerSupplier mTabCreatorManagerSupplier
.get() .get()
@@ -1054,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}. */ /** This class creates various kinds of new tabs and adds them to the right {@link TabModel}. */
public class ChromeTabCreator extends TabCreator { public class ChromeTabCreator extends TabCreator {
/** Interface to handle showing overview instead of NTP if needed. */ /** Interface to handle showing overview instead of NTP if needed. */
@@ -500,7 +504,6 @@ public class ChromeTabCreator extends TabCreator { @@ -499,7 +503,6 @@ public class ChromeTabCreator extends TabCreator {
// TODO(crbug.com/1081924): Clean up the launches from SearchActivity/Chrome. // TODO(crbug.com/1081924): Clean up the launches from SearchActivity/Chrome.
public Tab launchUrlFromExternalApp( public Tab launchUrlFromExternalApp(
LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) { LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) {
@@ -1070,10 +1083,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
import org.chromium.base.supplier.OneshotSupplier; import org.chromium.base.supplier.OneshotSupplier;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor; +import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
import org.chromium.chrome.browser.flags.ActivityType; import org.chromium.chrome.browser.flags.ActivityType;
import org.chromium.chrome.browser.ntp.RecentlyClosedBridge; import org.chromium.chrome.browser.ntp.RecentlyClosedBridge;
import org.chromium.chrome.browser.profiles.ProfileProvider; @@ -107,6 +108,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
@@ -108,6 +109,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
ProfileProvider profileProvider = mProfileProviderSupplier.get(); ProfileProvider profileProvider = mProfileProviderSupplier.get();
assert profileProvider != null; assert profileProvider != null;
@@ -1085,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -48,6 +48,8 @@ import org.chromium.chrome.features.start_surface.StartSurfaceUserData; @@ -49,6 +49,8 @@ import org.chromium.chrome.features.start_surface.StartSurfaceUserData;
import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.components.embedder_support.util.UrlUtilities;
import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.content_public.browser.LoadUrlParams;
@@ -1119,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.IntentHandler;
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController; import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton; import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
@@ -634,7 +635,7 @@ public class ToolbarManager @@ -615,7 +616,7 @@ public class ToolbarManager
TraceEvent.end("isOfflinePage"); TraceEvent.end("isOfflinePage");
return ret; return ret;
} }
@@ -1176,7 +1189,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/android/historical_tab_saver.cc diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/android/historical_tab_saver.cc
--- a/chrome/browser/android/historical_tab_saver.cc --- a/chrome/browser/android/historical_tab_saver.cc
+++ b/chrome/browser/android/historical_tab_saver.cc +++ b/chrome/browser/android/historical_tab_saver.cc
@@ -29,6 +29,11 @@ @@ -27,6 +27,11 @@
#include "components/sessions/core/tab_restore_service.h" #include "components/sessions/core/tab_restore_service.h"
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
@@ -1186,9 +1199,9 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
+#include "historical_tab_saver.h" +#include "historical_tab_saver.h"
+ +
using base::android::JavaParamRef; using base::android::JavaParamRef;
using base::android::JavaRef;
using base::android::ScopedJavaLocalRef; using base::android::ScopedJavaLocalRef;
@@ -84,7 +89,8 @@ std::vector<std::optional<tab_groups::TabGroupId>> JavaTokensToTabGroupIds(
@@ -39,7 +44,8 @@ constexpr int kInvalidGroupId = -1;
void CreateHistoricalTab( void CreateHistoricalTab(
TabAndroid* tab_android, TabAndroid* tab_android,
@@ -1198,7 +1211,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
if (!tab_android) { if (!tab_android) {
return; return;
} }
@@ -95,9 +101,14 @@ void CreateHistoricalTab( @@ -50,9 +56,14 @@ void CreateHistoricalTab(
return; return;
} }
@@ -1215,16 +1228,16 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
if (!service) { if (!service) {
return; return;
} }
@@ -159,7 +170,7 @@ void CreateHistoricalBulkClosure( @@ -100,7 +111,7 @@ void CreateHistoricalBulkClosure(
std::vector<int> per_tab_root_id, std::vector<int> per_tab_android_group_id,
std::vector<raw_ptr<TabAndroid, VectorExperimental>> tabs, std::vector<raw_ptr<TabAndroid, VectorExperimental>> tabs,
std::vector<WebContentsStateByteBuffer> web_contents_state) { std::vector<WebContentsStateByteBuffer> web_contents_state) {
- DCHECK(model); - DCHECK(model);
+ if (!model) return; + if (!model) return;
DCHECK_EQ(root_ids.size(), group_titles.size()); DCHECK_EQ(android_group_ids.size(), group_titles.size());
DCHECK_EQ(root_ids.size(), group_colors.size()); DCHECK_EQ(per_tab_android_group_id.size(), tabs.size());
DCHECK_EQ(root_ids.size(), optional_tab_group_ids.size());
@@ -283,11 +294,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab( @@ -235,11 +246,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& jtab_android, const JavaParamRef<jobject>& jtab_android,
const JavaParamRef<jobject>& state, const JavaParamRef<jobject>& state,
@@ -1238,11 +1251,11 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
+ std::move(web_contents_state), is_always_incognito); + std::move(web_contents_state), is_always_incognito);
} }
static void JNI_HistoricalTabSaverImpl_CreateHistoricalGroup( // static
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc 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 --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -352,6 +352,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const { @@ -357,6 +357,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const {
return ProviderStateServiceFactory::GetForProfile(profile_); return ProviderStateServiceFactory::GetForProfile(profile_);
} }
@@ -1261,7 +1274,7 @@ 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 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 --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
+++ b/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 { @@ -85,6 +85,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient {
OnDeviceTailModelService* GetOnDeviceTailModelService() const override; OnDeviceTailModelService* GetOnDeviceTailModelService() const override;
ProviderStateService* GetProviderStateService() const override; ProviderStateService* GetProviderStateService() const override;
bool IsOffTheRecord() const override; bool IsOffTheRecord() const override;
@@ -1295,15 +1308,15 @@ diff --git a/chrome/browser/autocomplete/remote_suggestions_service_factory.cc b
diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.cc b/chrome/browser/content_settings/host_content_settings_map_factory.cc diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.cc b/chrome/browser/content_settings/host_content_settings_map_factory.cc
--- a/chrome/browser/content_settings/host_content_settings_map_factory.cc --- a/chrome/browser/content_settings/host_content_settings_map_factory.cc
+++ b/chrome/browser/content_settings/host_content_settings_map_factory.cc +++ b/chrome/browser/content_settings/host_content_settings_map_factory.cc
@@ -18,6 +18,7 @@ @@ -16,6 +16,7 @@
#include "chrome/browser/profiles/profiles_state.h"
#include "chrome/browser/search_engines/template_url_service_factory.h" #include "chrome/browser/search_engines/template_url_service_factory.h"
#include "chrome/browser/supervised_user/supervised_user_settings_service_factory.h"
#include "chrome/common/buildflags.h" #include "chrome/common/buildflags.h"
+#include "chrome/common/pref_names.h" +#include "chrome/common/pref_names.h"
#include "components/content_settings/core/browser/content_settings_pref_provider.h" #include "components/content_settings/core/browser/content_settings_pref_provider.h"
#include "components/content_settings/core/browser/host_content_settings_map.h" #include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/permissions/features.h" #include "components/permissions/features.h"
@@ -99,9 +100,25 @@ scoped_refptr<RefcountedKeyedService> @@ -105,9 +106,25 @@ scoped_refptr<RefcountedKeyedService>
if (profile->IsOffTheRecord() && !profile->IsGuestSession()) if (profile->IsOffTheRecord() && !profile->IsGuestSession())
GetForProfile(original_profile); GetForProfile(original_profile);
@@ -1330,7 +1343,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
/*store_last_modified=*/true, profile->ShouldRestoreOldSessionCookies(), /*store_last_modified=*/true, profile->ShouldRestoreOldSessionCookies(),
profiles::IsRegularUserProfile(profile))); profiles::IsRegularUserProfile(profile)));
@@ -111,6 +128,9 @@ scoped_refptr<RefcountedKeyedService> @@ -117,6 +134,9 @@ scoped_refptr<RefcountedKeyedService>
HostContentSettingsMap::WEBUI_ALLOWLIST_PROVIDER, HostContentSettingsMap::WEBUI_ALLOWLIST_PROVIDER,
std::move(allowlist_provider)); std::move(allowlist_provider));
@@ -1343,7 +1356,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
--- a/chrome/browser/history/history_tab_helper.cc --- a/chrome/browser/history/history_tab_helper.cc
+++ b/chrome/browser/history/history_tab_helper.cc +++ b/chrome/browser/history/history_tab_helper.cc
@@ -42,6 +42,9 @@ @@ -41,6 +41,9 @@
#include "components/feed/core/v2/public/feed_api.h" #include "components/feed/core/v2/public/feed_api.h"
#include "components/feed/core/v2/public/feed_service.h" #include "components/feed/core/v2/public/feed_service.h"
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
@@ -1353,7 +1366,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
#else #else
#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_finder.h"
@@ -455,6 +458,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) { @@ -448,6 +451,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
history::HistoryService* HistoryTabHelper::GetHistoryService() { history::HistoryService* HistoryTabHelper::GetHistoryService() {
Profile* profile = Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext()); Profile::FromBrowserContext(web_contents()->GetBrowserContext());
@@ -1367,7 +1380,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
if (profile->IsOffTheRecord()) if (profile->IsOffTheRecord())
return nullptr; return nullptr;
@@ -462,6 +472,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() { @@ -455,6 +465,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
profile, ServiceAccessType::IMPLICIT_ACCESS); profile, ServiceAccessType::IMPLICIT_ACCESS);
} }
@@ -1429,9 +1442,9 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_bridge.cc b/chrom
+#include "components/prefs/pref_service.h" +#include "components/prefs/pref_service.h"
+#include "chrome/common/pref_names.h" +#include "chrome/common/pref_names.h"
using base::android::ConvertUTF8ToJavaString; using base::android::ConvertJavaStringToUTF8;
using base::android::JavaParamRef; using base::android::ConvertUTF16ToJavaString;
@@ -757,9 +760,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone( @@ -780,9 +783,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone(
} }
if (offline_page_model_->IsArchiveInInternalDir(offline_page->file_path)) { if (offline_page_model_->IsArchiveInInternalDir(offline_page->file_path)) {
@@ -1716,7 +1729,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc
@@ -244,6 +244,7 @@ @@ -249,6 +249,7 @@
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h" #include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
@@ -1724,7 +1737,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/bookmarks/partner_bookmarks_shim.h"
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h" #include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
#include "chrome/browser/android/oom_intervention/oom_intervention_decider.h" #include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
@@ -1942,6 +1943,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, @@ -1856,6 +1857,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry); usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
variations::VariationsService::RegisterProfilePrefs(registry); variations::VariationsService::RegisterProfilePrefs(registry);
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry); webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
@@ -1748,7 +1761,7 @@ diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/prof
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "components/profile_metrics/browser_profile_type.h" #include "components/profile_metrics/browser_profile_type.h"
@@ -109,6 +112,13 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const { @@ -110,6 +113,13 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const {
return nullptr; return nullptr;
case ProfileSelection::kOriginalOnly: case ProfileSelection::kOriginalOnly:
return profile->IsOffTheRecord() ? nullptr : profile; return profile->IsOffTheRecord() ? nullptr : profile;
@@ -1789,19 +1802,20 @@ diff --git a/chrome/browser/profiles/profile_selections.h b/chrome/browser/profi
diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn
--- a/chrome/browser/ui/android/native_page/BUILD.gn --- a/chrome/browser/ui/android/native_page/BUILD.gn
+++ b/chrome/browser/ui/android/native_page/BUILD.gn +++ b/chrome/browser/ui/android/native_page/BUILD.gn
@@ -28,6 +28,8 @@ robolectric_library("junit") { @@ -28,7 +28,9 @@ robolectric_library("junit") {
deps = [ deps = [
":java", ":java",
+ "//base:base_java", + "//base:base_java",
+ "//components/embedder_support/android:util_java",
"//base:base_junit_test_support", "//base:base_junit_test_support",
"//third_party/junit", "//third_party/junit",
"//url:url_java", + "//components/embedder_support/android:util_java",
]
}
diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java b/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java b/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java
--- a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java --- a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java
+++ b/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java +++ b/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java
@@ -15,6 +15,8 @@ import org.chromium.url.GURL; @@ -16,6 +16,8 @@ import org.chromium.url.GURL;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
@@ -1810,64 +1824,46 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
/** An interface for pages that will be using Android views instead of html/rendered Web content. */ /** An interface for pages that will be using Android views instead of html/rendered Web content. */
public interface NativePage { public interface NativePage {
/** /**
@@ -130,7 +132,9 @@ public interface NativePage { @@ -118,12 +120,12 @@ public interface NativePage {
* @return Whether the URL would navigate to a native page.
*/ */
static boolean isNativePageUrl(GURL url, boolean isIncognito, boolean isPdf) { @Deprecated // Use GURL-variant instead.
- return url != null && nativePageType(url, null, isIncognito, isPdf) != NativePageType.NONE; static boolean isNativePageUrl(String url, boolean isIncognito) {
+ return url != null - return nativePageType(url, null, isIncognito) != NativePageType.NONE;
+ && nativePageType(url, null, isIncognito, isPdf, /*isAlwaysIncognito*/ false) + return nativePageType(url, null, isIncognito, false) != NativePageType.NONE;
+ != NativePageType.NONE;
} }
/** static boolean isNativePageUrl(GURL url, boolean isIncognito) {
@@ -140,7 +144,7 @@ public interface NativePage { return url != null
* not have chrome or chrome-native scheme. - && nativePageType(url.getHost(), url.getScheme(), null, isIncognito)
*/ + && nativePageType(url.getHost(), url.getScheme(), null, isIncognito, false)
static boolean isChromePageUrl(GURL url, boolean isIncognito) { != NativePageType.NONE;
- return url != null && chromePageType(url, null, isIncognito) != NativePageType.NONE;
+ return url != null && chromePageType(url, null, isIncognito, /*isAlwaysIncognito*/false) != NativePageType.NONE;
} }
/** @@ -135,11 +137,12 @@ public interface NativePage {
@@ -152,11 +156,12 @@ public interface NativePage {
*/ */
// TODO(crbug.com/40549331) - Convert to using GURL. // TODO(crbug/783819) - Convert to using GURL.
static @NativePageType int nativePageType( static @NativePageType int nativePageType(
- String url, NativePage candidatePage, boolean isIncognito, boolean isPdf) { - String url, NativePage candidatePage, boolean isIncognito) {
+ String url, NativePage candidatePage, boolean isIncognito, boolean isPdf, + String url, NativePage candidatePage, boolean isIncognito,
+ boolean isAlwaysIncognito) { + boolean isAlwaysIncognito) {
if (url == null) return NativePageType.NONE; if (url == null) return NativePageType.NONE;
GURL gurl = new GURL(url); Uri uri = Uri.parse(url);
- return nativePageType(gurl, candidatePage, isIncognito, isPdf); - return nativePageType(uri.getHost(), uri.getScheme(), candidatePage, isIncognito);
+ return nativePageType(gurl, candidatePage, isIncognito, isPdf, isAlwaysIncognito); + return nativePageType(uri.getHost(), uri.getScheme(), candidatePage, isIncognito, isAlwaysIncognito);
} }
/** /**
@@ -167,9 +172,10 @@ public interface NativePage { @@ -148,7 +151,7 @@ public interface NativePage {
* @return Type of the native page defined in {@link NativePageType}. * @return Type of the native page defined in {@link NativePageType}.
*/ */
private static @NativePageType int nativePageType( private static @NativePageType int nativePageType(
- GURL url, NativePage candidatePage, boolean isIncognito, boolean isPdf) { - String host, String scheme, NativePage candidatePage, boolean isIncognito) {
+ GURL url, NativePage candidatePage, boolean isIncognito, boolean isPdf, + String host, String scheme, NativePage candidatePage, boolean isIncognito, boolean isAlwaysIncognito) {
+ boolean isAlwaysIncognito) {
if (!isPdf) {
- return chromePageType(url, candidatePage, isIncognito);
+ return chromePageType(url, candidatePage, isIncognito, isAlwaysIncognito);
}
if (candidatePage != null && candidatePage.getUrl().equals(url.getSpec())) {
@@ -187,7 +193,7 @@ public interface NativePage {
* which do not have chrome or chrome-native scheme.
*/
private static @NativePageType int chromePageType(
- GURL url, NativePage candidatePage, boolean isIncognito) {
+ GURL url, NativePage candidatePage, boolean isIncognito, boolean isAlwaysIncognito) {
String host = url.getHost();
String scheme = url.getScheme();
if (!UrlConstants.CHROME_NATIVE_SCHEME.equals(scheme) if (!UrlConstants.CHROME_NATIVE_SCHEME.equals(scheme)
@@ -207,7 +213,8 @@ public interface NativePage { && !UrlConstants.CHROME_SCHEME.equals(scheme)) {
return NativePageType.NONE;
@@ -166,7 +169,8 @@ public interface NativePage {
return NativePageType.DOWNLOADS; return NativePageType.DOWNLOADS;
} else if (UrlConstants.HISTORY_HOST.equals(host)) { } else if (UrlConstants.HISTORY_HOST.equals(host)) {
return NativePageType.HISTORY; return NativePageType.HISTORY;
@@ -1880,7 +1876,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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1265,6 +1265,37 @@ Your Google account may have other forms of browsing history like searches and a @@ -1228,6 +1228,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."> <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 Clears history from all synced devices
</message> </message>
@@ -1921,7 +1917,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 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 --- 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 +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
@@ -162,6 +162,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro @@ -165,6 +165,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
protected String mFormattedFullUrl; protected String mFormattedFullUrl;
protected String mUrlForDisplay; protected String mUrlForDisplay;
private boolean mOmniboxUpdatedConnectionSecurityIndicatorsEnabled; private boolean mOmniboxUpdatedConnectionSecurityIndicatorsEnabled;
@@ -1929,7 +1925,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 // 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 // document navigation. The first call is usually necessary, which updates the UrlBar to reflect
@@ -185,7 +186,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro @@ -188,7 +189,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
Context context, Context context,
NewTabPageDelegate newTabPageDelegate, NewTabPageDelegate newTabPageDelegate,
@NonNull UrlFormatter urlFormatter, @NonNull UrlFormatter urlFormatter,
@@ -1986,7 +1982,7 @@ new file mode 100644
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h --- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h
@@ -3988,6 +3988,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] = @@ -3957,6 +3957,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
"net.out_of_process_system_dns_resolution_enabled"; "net.out_of_process_system_dns_resolution_enabled";
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
@@ -2052,7 +2048,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 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 --- a/components/content_settings/core/browser/host_content_settings_map.cc
+++ b/components/content_settings/core/browser/host_content_settings_map.cc +++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -283,6 +283,7 @@ struct ContentSettingEntry { @@ -277,6 +277,7 @@ struct ContentSettingEntry {
HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
bool is_off_the_record, bool is_off_the_record,
@@ -2060,7 +2056,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified, bool store_last_modified,
bool restore_session, bool restore_session,
bool should_record_metrics) bool should_record_metrics)
@@ -292,6 +293,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, @@ -286,6 +287,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
#endif #endif
prefs_(prefs), prefs_(prefs),
is_off_the_record_(is_off_the_record), is_off_the_record_(is_off_the_record),
@@ -2068,7 +2064,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
store_last_modified_(store_last_modified), store_last_modified_(store_last_modified),
allow_invalid_secondary_pattern_for_testing_(false), allow_invalid_secondary_pattern_for_testing_(false),
clock_(base::DefaultClock::GetInstance()) { clock_(base::DefaultClock::GetInstance()) {
@@ -304,7 +306,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, @@ -298,7 +300,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
policy_provider->AddObserver(this); policy_provider->AddObserver(this);
auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>( auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>(
@@ -2088,7 +2084,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified, bool store_last_modified,
bool restore_session, bool restore_session,
bool should_record_metrics); bool should_record_metrics);
@@ -546,6 +547,8 @@ class HostContentSettingsMap : public content_settings::Observer, @@ -544,6 +545,8 @@ class HostContentSettingsMap : public content_settings::Observer,
// Whether this settings map is for an incognito or guest session. // Whether this settings map is for an incognito or guest session.
bool is_off_the_record_; bool is_off_the_record_;
@@ -2111,7 +2107,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 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 --- a/components/omnibox/browser/autocomplete_provider_client.h
+++ b/components/omnibox/browser/autocomplete_provider_client.h +++ b/components/omnibox/browser/autocomplete_provider_client.h
@@ -136,6 +136,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client { @@ -137,6 +137,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
virtual bool IsOffTheRecord() const = 0; virtual bool IsOffTheRecord() const = 0;
virtual bool IsIncognitoProfile() const = 0; virtual bool IsIncognitoProfile() const = 0;
virtual bool IsGuestSession() const = 0; virtual bool IsGuestSession() const = 0;
@@ -2134,7 +2130,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 diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
--- a/components/omnibox/browser/search_provider.cc --- a/components/omnibox/browser/search_provider.cc
+++ b/components/omnibox/browser/search_provider.cc +++ b/components/omnibox/browser/search_provider.cc
@@ -778,7 +778,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const { @@ -775,7 +775,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
// keyword input to a keyword suggest server, if any.) // keyword input to a keyword suggest server, if any.)
const TemplateURL* default_url = providers_.GetDefaultProviderURL(); const TemplateURL* default_url = providers_.GetDefaultProviderURL();
const TemplateURL* keyword_url = providers_.GetKeywordProviderURL(); const TemplateURL* keyword_url = providers_.GetKeywordProviderURL();
@@ -279,7 +279,7 @@ new file mode 100644
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -248,7 +248,7 @@ void ContentSettingsRegistry::Init() { @@ -255,7 +255,7 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IN_INCOGNITO, ContentSettingsInfo::INHERIT_IN_INCOGNITO,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -329,7 +329,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/third_party/blink/renderer/core/html/media/autoplay_policy.h diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/third_party/blink/renderer/core/html/media/autoplay_policy.h
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.h --- a/third_party/blink/renderer/core/html/media/autoplay_policy.h
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.h +++ b/third_party/blink/renderer/core/html/media/autoplay_policy.h
@@ -142,6 +142,10 @@ class CORE_EXPORT AutoplayPolicy final @@ -138,6 +138,10 @@ class CORE_EXPORT AutoplayPolicy final
// should use, if checking to see if an action is allowed. // should use, if checking to see if an action is allowed.
bool IsLockedPendingUserGesture() const; bool IsLockedPendingUserGesture() const;
@@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid; import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.compositor.CompositorViewHolder; import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -54,7 +55,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager; @@ -53,7 +54,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
* {@link ChromeTabbedActivity}. * {@link ChromeTabbedActivity}.
*/ */
public class TabbedModeTabDelegateFactory implements TabDelegateFactory { public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
@@ -137,7 +137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate; private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
private final Supplier<ShareDelegate> mShareDelegateSupplier; private final Supplier<ShareDelegate> mShareDelegateSupplier;
private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier; private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
@@ -83,7 +84,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { @@ -82,7 +83,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
private NativePageFactory mNativePageFactory; private NativePageFactory mNativePageFactory;
public TabbedModeTabDelegateFactory( public TabbedModeTabDelegateFactory(
@@ -221,7 +221,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
@@ -34,6 +34,48 @@ import org.chromium.url.GURL; @@ -33,6 +33,48 @@ import org.chromium.url.GURL;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -270,7 +270,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/** /**
* Provides the communication channel for Android to fetch and manipulate the bookmark model stored * Provides the communication channel for Android to fetch and manipulate the bookmark model stored
* in native. * in native.
@@ -505,6 +547,212 @@ class BookmarkBridge { @@ -483,6 +525,212 @@ class BookmarkBridge {
.getTotalBookmarkCount(mNativeBookmarkBridge, id.getId(), id.getType()); .getTotalBookmarkCount(mNativeBookmarkBridge, id.getId(), id.getType());
} }
@@ -483,8 +483,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. * Synchronously gets a list of bookmarks that match the specified search query.
* *
@@ -1063,6 +1311,39 @@ class BookmarkBridge { @@ -1036,6 +1284,39 @@ class BookmarkBridge {
BookmarkUtils.clearLastUsedPrefs(); depthList.add(depth);
} }
+ @CalledByNative + @CalledByNative
@@ -523,7 +523,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) { private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<>(); List<Pair<Integer, Integer>> pairList = new ArrayList<>();
for (int i = 0; i < left.length; i++) { for (int i = 0; i < left.length; i++) {
@@ -1131,6 +1412,10 @@ class BookmarkBridge { @@ -1094,6 +1375,10 @@ class BookmarkBridge {
void getChildIds( void getChildIds(
long nativeBookmarkBridge, long id, int type, List<BookmarkId> bookmarksList); long nativeBookmarkBridge, long id, int type, List<BookmarkId> bookmarksList);
@@ -583,16 +583,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
@@ -54,6 +54,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega @@ -53,6 +53,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver;
import org.chromium.components.commerce.core.CommerceSubscription; import org.chromium.components.commerce.core.CommerceSubscription;
import org.chromium.components.commerce.core.ShoppingService; import org.chromium.components.commerce.core.ShoppingService;
import org.chromium.components.commerce.core.SubscriptionsObserver;
+import org.chromium.ui.base.ActivityWindowAndroid; +import org.chromium.ui.base.ActivityWindowAndroid;
+import org.chromium.ui.modaldialog.ModalDialogManager; +import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.components.favicon.LargeIconBridge; import org.chromium.components.favicon.LargeIconBridge;
import org.chromium.components.feature_engagement.EventConstants; import org.chromium.components.feature_engagement.EventConstants;
import org.chromium.components.power_bookmarks.PowerBookmarkMeta; import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
@@ -83,6 +85,9 @@ class BookmarkManagerMediator @@ -82,6 +84,9 @@ class BookmarkManagerMediator
private static boolean sPreventLoadingForTesting; private static boolean sPreventLoadingForTesting;
@@ -602,7 +602,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/** Keeps track of whether drag is enabled / active for bookmark lists. */ /** Keeps track of whether drag is enabled / active for bookmark lists. */
private class BookmarkDragStateDelegate implements DragStateDelegate { private class BookmarkDragStateDelegate implements DragStateDelegate {
private BookmarkDelegate mBookmarkDelegate; private BookmarkDelegate mBookmarkDelegate;
@@ -606,6 +611,14 @@ class BookmarkManagerMediator @@ -554,6 +559,14 @@ class BookmarkManagerMediator
mNativePage = nativePage; mNativePage = nativePage;
} }
@@ -617,7 +617,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/** See BookmarkManager(Coordinator)#updateForUrl */ /** See BookmarkManager(Coordinator)#updateForUrl */
void updateForUrl(String url) { void updateForUrl(String url) {
// Bookmark model is null if the manager has been destroyed. // Bookmark model is null if the manager has been destroyed.
@@ -786,6 +799,16 @@ class BookmarkManagerMediator @@ -734,6 +747,16 @@ class BookmarkManagerMediator
} }
} }
@@ -723,7 +723,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/BookmarkToolbarMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
@@ -131,6 +131,10 @@ class BookmarkToolbarMediator @@ -132,6 +132,10 @@ class BookmarkToolbarMediator
mBookmarkDelegate = bookmarkDelegate; mBookmarkDelegate = bookmarkDelegate;
mModel.set( mModel.set(
BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE, this::onNavigateBack); BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE, this::onNavigateBack);
@@ -785,7 +785,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.app.download.home.DownloadPage;
import org.chromium.chrome.browser.bookmarks.BookmarkPage; import org.chromium.chrome.browser.bookmarks.BookmarkPage;
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier; import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier;
@@ -56,7 +57,7 @@ import org.chromium.ui.util.ColorUtils; @@ -54,7 +55,7 @@ import org.chromium.ui.util.ColorUtils;
* Creates NativePage objects to show chrome-native:// URLs using the native Android view system. * Creates NativePage objects to show chrome-native:// URLs using the native Android view system.
*/ */
public class NativePageFactory { public class NativePageFactory {
@@ -794,8 +794,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController; private final BottomSheetController mBottomSheetController;
private final BrowserControlsManager mBrowserControlsManager; private final BrowserControlsManager mBrowserControlsManager;
private final Supplier<Tab> mCurrentTabSupplier; private final Supplier<Tab> mCurrentTabSupplier;
@@ -77,7 +78,7 @@ public class NativePageFactory { @@ -74,7 +75,7 @@ public class NativePageFactory {
private static NativePage sTestPage; private NativePageBuilder mNativePageBuilder;
public NativePageFactory( public NativePageFactory(
- @NonNull Activity activity, - @NonNull Activity activity,
@@ -803,7 +803,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
@NonNull BottomSheetController sheetController, @NonNull BottomSheetController sheetController,
@NonNull BrowserControlsManager browserControlsManager, @NonNull BrowserControlsManager browserControlsManager,
@NonNull Supplier<Tab> currentTabSupplier, @NonNull Supplier<Tab> currentTabSupplier,
@@ -143,7 +144,7 @@ public class NativePageFactory { @@ -140,7 +141,7 @@ public class NativePageFactory {
@VisibleForTesting @VisibleForTesting
static class NativePageBuilder { static class NativePageBuilder {
@@ -812,7 +812,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController; private final BottomSheetController mBottomSheetController;
private final Supplier<NewTabPageUma> mUma; private final Supplier<NewTabPageUma> mUma;
private final BrowserControlsManager mBrowserControlsManager; private final BrowserControlsManager mBrowserControlsManager;
@@ -161,7 +162,7 @@ public class NativePageFactory { @@ -158,7 +159,7 @@ public class NativePageFactory {
private final OneshotSupplier<ModuleRegistry> mModuleRegistrySupplier; private final OneshotSupplier<ModuleRegistry> mModuleRegistrySupplier;
public NativePageBuilder( public NativePageBuilder(
@@ -821,7 +821,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
Supplier<NewTabPageUma> uma, Supplier<NewTabPageUma> uma,
BottomSheetController sheetController, BottomSheetController sheetController,
BrowserControlsManager browserControlsManager, BrowserControlsManager browserControlsManager,
@@ -231,7 +232,7 @@ public class NativePageFactory { @@ -228,7 +229,7 @@ public class NativePageFactory {
mActivity.getComponentName(), mActivity.getComponentName(),
mSnackbarManagerSupplier.get(), mSnackbarManagerSupplier.get(),
tab.getProfile(), tab.getProfile(),
@@ -833,7 +833,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 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -203,6 +203,8 @@ static_library("browser") { @@ -201,6 +201,8 @@ static_library("browser") {
"bluetooth/chrome_bluetooth_delegate_impl_client.h", "bluetooth/chrome_bluetooth_delegate_impl_client.h",
"bookmarks/bookmark_model_factory.cc", "bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h", "bookmarks/bookmark_model_factory.h",
@@ -842,7 +842,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"bookmarks/chrome_bookmark_client.cc", "bookmarks/chrome_bookmark_client.cc",
"bookmarks/chrome_bookmark_client.h", "bookmarks/chrome_bookmark_client.h",
"bookmarks/managed_bookmark_service_factory.cc", "bookmarks/managed_bookmark_service_factory.cc",
@@ -1979,6 +1981,13 @@ static_library("browser") { @@ -1935,6 +1937,13 @@ static_library("browser") {
] ]
} }
@@ -856,7 +856,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [ configs += [
"//build/config/compiler:wexit_time_destructors", "//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers", "//build/config:precompiled_headers",
@@ -3711,8 +3720,6 @@ static_library("browser") { @@ -3649,8 +3658,6 @@ static_library("browser") {
"badging/badge_manager_factory.h", "badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc", "banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h", "banners/app_banner_manager_desktop.h",
@@ -868,9 +868,9 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc 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 --- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc +++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -61,6 +61,28 @@ @@ -59,6 +59,28 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
#include "url/gurl.h"
+#include "base/android/content_uri_utils.h" +#include "base/android/content_uri_utils.h"
+#include "base/android/path_utils.h" +#include "base/android/path_utils.h"
@@ -894,10 +894,10 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+#include "ui/shell_dialogs/selected_file_info.h" +#include "ui/shell_dialogs/selected_file_info.h"
+#include "ui/shell_dialogs/select_file_dialog.h" +#include "ui/shell_dialogs/select_file_dialog.h"
+ +
// Must come after other includes, because FromJniType() uses Profile. using base::android::AttachCurrentThread;
#include "chrome/android/chrome_jni_headers/BookmarkBridge_jni.h" using base::android::ConvertUTF16ToJavaString;
using base::android::ConvertUTF8ToJavaString;
@@ -79,12 +101,96 @@ using bookmarks::android::JavaBookmarkIdGetType; @@ -76,12 +98,96 @@ using bookmarks::android::JavaBookmarkIdGetType;
using content::BrowserThread; using content::BrowserThread;
using power_bookmarks::PowerBookmarkMeta; using power_bookmarks::PowerBookmarkMeta;
@@ -994,7 +994,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
class BookmarkTitleComparer { class BookmarkTitleComparer {
public: public:
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge, explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
@@ -240,6 +346,10 @@ BookmarkBridge::~BookmarkBridge() { @@ -232,6 +338,10 @@ BookmarkBridge::~BookmarkBridge() {
partner_bookmarks_shim_observation_.Reset(); partner_bookmarks_shim_observation_.Reset();
bookmark_model_observation_.Reset(); bookmark_model_observation_.Reset();
profile_observation_.Reset(); profile_observation_.Reset();
@@ -1004,8 +1004,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+ select_file_dialog_->ListenerDestroyed(); + select_file_dialog_->ListenerDestroyed();
} }
void BookmarkBridge::Destroy(JNIEnv* env) { void BookmarkBridge::Destroy(JNIEnv*) {
@@ -809,6 +919,183 @@ jint BookmarkBridge::GetTotalBookmarkCount( @@ -668,6 +778,183 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count; return count;
} }
@@ -1200,8 +1200,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_observer.h" #include "chrome/browser/profiles/profile_observer.h"
#include "chrome/browser/reading_list/android/reading_list_manager.h" #include "chrome/browser/reading_list/android/reading_list_manager.h"
@@ -39,6 +40,9 @@ @@ -33,6 +34,9 @@
#include "components/signin/public/identity_manager/identity_manager.h" #include "components/prefs/pref_change_registrar.h"
#include "url/android/gurl_android.h" #include "url/android/gurl_android.h"
+#include "components/search_engines/template_url.h" +#include "components/search_engines/template_url.h"
@@ -1210,17 +1210,17 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
class BookmarkBridgeTest; class BookmarkBridgeTest;
// The delegate to fetch bookmarks information for the Android native // The delegate to fetch bookmarks information for the Android native
@@ -52,7 +56,8 @@ class BookmarkBridge : public ProfileObserver, @@ -44,7 +48,8 @@ class BookmarkBridge : public ProfileObserver,
public bookmarks::BaseBookmarkModelObserver,
public PartnerBookmarksShim::Observer,
public ReadingListManager::Observer, public ReadingListManager::Observer,
public ReadingListModelObserver,
public signin::IdentityManager::Observer,
- public base::SupportsUserData::Data { - public base::SupportsUserData::Data {
+ public base::SupportsUserData::Data, + public base::SupportsUserData::Data,
+ public ui::SelectFileDialog::Listener { + public ui::SelectFileDialog::Listener {
public: public:
// All of the injected pointers must be non-null and must outlive `this`. BookmarkBridge(
BookmarkBridge(Profile* profile, Profile* profile,
@@ -95,6 +100,12 @@ class BookmarkBridge : public ProfileObserver, @@ -81,6 +86,12 @@ class BookmarkBridge : public ProfileObserver,
bool IsDoingExtensiveChanges(JNIEnv* env); bool IsDoingExtensiveChanges(JNIEnv* env);
@@ -1233,7 +1233,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
jboolean IsEditBookmarksEnabled(JNIEnv* env); jboolean IsEditBookmarksEnabled(JNIEnv* env);
void LoadEmptyPartnerBookmarkShimForTesting(JNIEnv* env); void LoadEmptyPartnerBookmarkShimForTesting(JNIEnv* env);
@@ -107,6 +118,15 @@ class BookmarkBridge : public ProfileObserver, @@ -93,6 +104,15 @@ class BookmarkBridge : public ProfileObserver,
jlong id, jlong id,
jint type); jint type);
@@ -1249,17 +1249,16 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
void GetAllFoldersWithDepths( void GetAllFoldersWithDepths(
JNIEnv* env, JNIEnv* env,
const base::android::JavaParamRef<jobject>& j_folders_obj, const base::android::JavaParamRef<jobject>& j_folders_obj,
@@ -375,6 +395,9 @@ class BookmarkBridge : public ProfileObserver, @@ -356,12 +376,16 @@ class BookmarkBridge : public ProfileObserver,
void CreateOrDestroyAccountReadingListManagerIfNeeded(); void DestroyJavaObject();
const raw_ptr<Profile> profile_; // weak raw_ptr<Profile> profile_; // weak
+ base::FilePath export_path_; + base::FilePath export_path_;
+ raw_ptr<BookmarksExportObserver> observer_; // weak + raw_ptr<BookmarksExportObserver> observer_; // weak
+ +
base::android::ScopedJavaGlobalRef<jobject> java_bookmark_model_; base::android::ScopedJavaGlobalRef<jobject> java_bookmark_model_;
const raw_ptr<bookmarks::BookmarkModel> bookmark_model_; // weak raw_ptr<bookmarks::BookmarkModel> bookmark_model_; // weak
const raw_ptr<bookmarks::ManagedBookmarkService> raw_ptr<bookmarks::ManagedBookmarkService> managed_bookmark_service_; // weak
@@ -391,6 +414,7 @@ class BookmarkBridge : public ProfileObserver,
std::unique_ptr<bookmarks::ScopedGroupBookmarkActions> std::unique_ptr<bookmarks::ScopedGroupBookmarkActions>
grouped_bookmark_actions_; grouped_bookmark_actions_;
PrefChangeRegistrar pref_change_registrar_; PrefChangeRegistrar pref_change_registrar_;
@@ -1267,7 +1266,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
// Information about the Partner bookmarks (must check for IsLoaded()). // Information about the Partner bookmarks (must check for IsLoaded()).
// This is owned by profile. // This is owned by profile.
@@ -422,6 +446,10 @@ class BookmarkBridge : public ProfileObserver, @@ -389,6 +413,10 @@ class BookmarkBridge : public ProfileObserver,
bool suppress_observer_notifications_ = false; bool suppress_observer_notifications_ = false;
@@ -1349,7 +1348,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java --- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java +++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
@@ -38,18 +38,18 @@ import java.util.ArrayList; @@ -37,18 +37,18 @@ import java.util.ArrayList;
*/ */
public class DownloadLocationDialogCoordinator implements ModalDialogProperties.Controller { public class DownloadLocationDialogCoordinator implements ModalDialogProperties.Controller {
@NonNull private DownloadLocationDialogController mController; @NonNull private DownloadLocationDialogController mController;
@@ -1372,7 +1371,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
private boolean mLocationDialogManaged; private boolean mLocationDialogManaged;
/** /**
@@ -141,7 +141,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties. @@ -140,7 +140,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
* Called after retrieved the download directory options. * Called after retrieved the download directory options.
* @param dirs An list of available download directories. * @param dirs An list of available download directories.
*/ */
@@ -1384,19 +1383,19 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -180,6 +180,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { @@ -176,6 +176,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCacheActivityTaskID, &kCacheActivityTaskID,
&kCastDeviceFilter, &kCastDeviceFilter,
&kClearOmniboxFocusAfterNavigation, &kClearOmniboxFocusAfterNavigation,
+ &kBookmarksExportUseSaf, + &kBookmarksExportUseSaf,
&kCreateNewTabInitializeRenderer, &kCreateNewTabInitializeRenderer,
&kCCTBrandTransparencyMemoryImprovement,
&kCCTClientDataHeader, &kCCTClientDataHeader,
&kCCTEmbedderSpecialBehaviorTrigger,
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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -504,6 +504,7 @@ public abstract class ChromeFeatureList { @@ -502,6 +502,7 @@ public abstract class ChromeFeatureList {
"UseLibunwindstackNativeUnwinderAndroid"; public static final String USER_BYPASS_UI = "UserBypassUI";
public static final String VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR = public static final String VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR =
"VerticalAutomotiveBackButtonToolbar"; "VerticalAutomotiveBackButtonToolbar";
+ public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf"; + public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf";
@@ -1458,7 +1457,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/** /**
* Whether Chrome is set as the default browser. * Whether Chrome is set as the default browser.
@@ -900,6 +902,7 @@ public final class ChromePreferenceKeys { @@ -894,6 +896,7 @@ public final class ChromePreferenceKeys {
AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED, AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
@@ -1469,7 +1468,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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -253,6 +253,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]"> <message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR_LIMIT=32]">
Sites Sites
</message> </message>
@@ -1497,7 +1496,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn
@@ -400,6 +400,9 @@ static_library("common_lib") { @@ -404,6 +404,9 @@ static_library("common_lib") {
sources += [ sources += [
"media/chrome_media_drm_bridge_client.cc", "media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h", "media/chrome_media_drm_bridge_client.h",
@@ -1510,7 +1509,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
--- a/chrome/utility/BUILD.gn --- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn
@@ -85,8 +85,6 @@ static_library("utility") { @@ -84,8 +84,6 @@ static_library("utility") {
if (!is_android) { if (!is_android) {
sources += [ sources += [
@@ -1519,7 +1518,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
"importer/bookmarks_file_importer.cc", "importer/bookmarks_file_importer.cc",
"importer/bookmarks_file_importer.h", "importer/bookmarks_file_importer.h",
"importer/external_process_importer_bridge.cc", "importer/external_process_importer_bridge.cc",
@@ -224,6 +222,11 @@ static_library("utility") { @@ -220,6 +218,11 @@ static_library("utility") {
] ]
} }
+78 -117
View File
@@ -15,14 +15,13 @@ Need: bromite-build-utils.patch
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
--- ---
base/BUILD.gn | 4 +- base/BUILD.gn | 4 +-
base/android/feature_map.cc | 5 + base/android/feature_map.cc | 8 +-
.../base/cached_flags/CachedFlag.java | 8 +- .../base/cached_flags/CachedFlag.java | 8 +-
base/feature_list.cc | 78 +++++++++ base/feature_list.cc | 78 +++++++++
base/feature_list.h | 72 ++++++++- base/feature_list.h | 72 ++++++++-
build/android/gyp/java_cpp_features.py | 17 ++ build/android/gyp/java_cpp_features.py | 17 ++
chrome/android/java/res/values/values.xml | 3 + chrome/android/java/res/values/values.xml | 3 +
.../java/res/xml/privacy_preferences.xml | 4 + .../java/res/xml/privacy_preferences.xml | 4 +
.../settings/AccessibilitySettings.java | 5 +-
.../homepage/settings/HomepageSettings.java | 2 +- .../homepage/settings/HomepageSettings.java | 2 +-
.../privacy/settings/PrivacySettings.java | 2 +- .../privacy/settings/PrivacySettings.java | 2 +-
.../browser/settings/SettingsActivity.java | 36 +++++ .../browser/settings/SettingsActivity.java | 36 +++++
@@ -40,7 +39,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../placeholder.txt | 1 + .../placeholder.txt | 1 +
chrome/browser/ui/ui_features.cc | 1 + chrome/browser/ui/ui_features.cc | 1 +
chrome/common/chrome_features.cc | 1 + chrome/common/chrome_features.cc | 1 +
.../res/xml/accessibility_preferences.xml | 3 +-
.../android/java/res/values/attrs.xml | 4 + .../android/java/res/values/attrs.xml | 4 +
.../settings/ChromeSwitchPreference.java | 20 +++ .../settings/ChromeSwitchPreference.java | 20 +++
components/components_strings.grd | 1 + components/components_strings.grd | 1 +
@@ -90,7 +88,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
services/network/public/cpp/features.h | 1 + services/network/public/cpp/features.h | 1 +
third_party/blink/common/features.cc | 1 + third_party/blink/common/features.cc | 1 +
third_party/blink/public/common/features.h | 1 + third_party/blink/public/common/features.h | 1 +
76 files changed, 741 insertions(+), 22 deletions(-) 74 files changed, 738 insertions(+), 20 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/placeholder.txt create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/placeholder.txt
@@ -122,7 +120,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/base/BUILD.gn b/base/BUILD.gn diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn --- a/base/BUILD.gn
+++ b/base/BUILD.gn +++ b/base/BUILD.gn
@@ -220,6 +220,8 @@ buildflag_header("message_pump_buildflags") { @@ -212,6 +212,8 @@ buildflag_header("message_pump_buildflags") {
# This does not include test code (test support and anything in the test # This does not include test code (test support and anything in the test
# directory) which should use source_set as is recommended for GN targets). # directory) which should use source_set as is recommended for GN targets).
component("base") { component("base") {
@@ -131,7 +129,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
sources = [ sources = [
"allocator/allocator_check.cc", "allocator/allocator_check.cc",
"allocator/allocator_check.h", "allocator/allocator_check.h",
@@ -1070,7 +1072,7 @@ component("base") { @@ -1055,7 +1057,7 @@ component("base") {
"//build/config/compiler:wglobal_constructors", "//build/config/compiler:wglobal_constructors",
] ]
@@ -143,18 +141,23 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc
--- a/base/android/feature_map.cc --- a/base/android/feature_map.cc
+++ b/base/android/feature_map.cc +++ b/base/android/feature_map.cc
@@ -43,6 +43,11 @@ const Feature* FeatureMap::FindFeatureExposedToJava( @@ -45,9 +45,15 @@ static jboolean JNI_FeatureMap_IsEnabled(
static jboolean JNI_FeatureMap_IsEnabled(JNIEnv* env, JNIEnv* env,
jlong jfeature_map, jlong jfeature_map,
std::string& feature_name) { const android::JavaParamRef<jstring>& jfeature_name) {
+ std::string feature_name = ConvertJavaStringToUTF8(env, jfeature_name);
+ if (base::FeatureList::IsCromiteFlag(feature_name)) { + if (base::FeatureList::IsCromiteFlag(feature_name)) {
+ const base::Feature* cromite_feature = + const base::Feature* cromite_feature =
+ base::FeatureList::GetCromiteFlag(feature_name); + base::FeatureList::GetCromiteFlag(feature_name);
+ return base::FeatureList::IsEnabled(*cromite_feature); + return base::FeatureList::IsEnabled(*cromite_feature);
+ } + }
FeatureMap* feature_map = reinterpret_cast<FeatureMap*>(jfeature_map); FeatureMap* feature_map = reinterpret_cast<FeatureMap*>(jfeature_map);
const base::Feature* feature = const base::Feature* feature = feature_map->FindFeatureExposedToJava(
feature_map->FindFeatureExposedToJava(feature_name); - StringPiece(ConvertJavaStringToUTF8(env, jfeature_name)));
+ StringPiece(feature_name));
return base::FeatureList::IsEnabled(*feature);
}
diff --git a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java b/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java diff --git a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java b/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
--- a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java --- a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
+++ b/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java +++ b/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
@@ -183,7 +186,7 @@ diff --git a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.jav
diff --git a/base/feature_list.cc b/base/feature_list.cc diff --git a/base/feature_list.cc b/base/feature_list.cc
--- a/base/feature_list.cc --- a/base/feature_list.cc
+++ b/base/feature_list.cc +++ b/base/feature_list.cc
@@ -38,6 +38,31 @@ @@ -37,6 +37,31 @@
namespace base { namespace base {
@@ -215,7 +218,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
namespace { namespace {
// Pointer to the FeatureList instance singleton that was set via // Pointer to the FeatureList instance singleton that was set via
@@ -466,6 +491,48 @@ bool FeatureList::IsEnabled(const Feature& feature) { @@ -464,6 +489,48 @@ bool FeatureList::IsEnabled(const Feature& feature) {
return g_feature_list_instance->IsFeatureEnabled(feature); return g_feature_list_instance->IsFeatureEnabled(feature);
} }
@@ -262,9 +265,9 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
+} +}
+ +
// static // static
bool FeatureList::IsValidFeatureOrFieldTrialName(std::string_view name) { bool FeatureList::IsValidFeatureOrFieldTrialName(StringPiece name) {
return IsStringASCII(name) && name.find_first_of(",<*") == std::string::npos; return IsStringASCII(name) && name.find_first_of(",<*") == std::string::npos;
@@ -712,6 +779,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) { @@ -710,6 +777,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) {
void FeatureList::FinalizeInitialization() { void FeatureList::FinalizeInitialization() {
DCHECK(!initialized_); DCHECK(!initialized_);
@@ -296,9 +299,9 @@ diff --git a/base/feature_list.h b/base/feature_list.h
+ : name(name), default_state(default_state), + : name(name), default_state(default_state),
+ is_cromite(cromite), is_new(is_new_flag) { + is_cromite(cromite), is_new(is_new_flag) {
#if BUILDFLAG(ENABLE_BANNED_BASE_FEATURE_PREFIX) #if BUILDFLAG(ENABLE_BANNED_BASE_FEATURE_PREFIX)
if (std::string_view(name).find(BUILDFLAG(BANNED_BASE_FEATURE_PREFIX)) == if (StringPiece(name).find(BUILDFLAG(BANNED_BASE_FEATURE_PREFIX)) == 0) {
0) { LOG(FATAL) << "Invalid feature name " << name << " starts with "
@@ -127,6 +129,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature { @@ -126,6 +128,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature {
// command line switch. // command line switch.
const FeatureState default_state; const FeatureState default_state;
@@ -308,7 +311,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h
private: private:
friend class FeatureList; friend class FeatureList;
@@ -402,6 +407,11 @@ class BASE_EXPORT FeatureList { @@ -401,6 +406,11 @@ class BASE_EXPORT FeatureList {
// instance, which is checked in builds with DCHECKs enabled. // instance, which is checked in builds with DCHECKs enabled.
static bool IsEnabled(const Feature& feature); static bool IsEnabled(const Feature& feature);
@@ -320,7 +323,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h
// Some characters are not allowed to appear in feature names or the // Some characters are not allowed to appear in feature names or the
// associated field trial names, as they are used as special characters for // associated field trial names, as they are used as special characters for
// command-line serialization. This function checks that the strings are ASCII // command-line serialization. This function checks that the strings are ASCII
@@ -667,4 +677,62 @@ class BASE_EXPORT FeatureList { @@ -665,4 +675,62 @@ class BASE_EXPORT FeatureList {
} // namespace base } // namespace base
@@ -430,7 +433,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 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 --- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -70,6 +70,10 @@ found in the LICENSE file. @@ -59,6 +59,10 @@ found in the LICENSE file.
android:title="@string/tabgrid_use_icons_title" android:title="@string/tabgrid_use_icons_title"
android:summary="@string/tabgrid_use_icons_summary" android:summary="@string/tabgrid_use_icons_summary"
android:defaultValue="false" /> android:defaultValue="false" />
@@ -441,35 +444,6 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
<Preference <Preference
android:key="preload_pages" android:key="preload_pages"
android:title="@string/preload_pages_title" android:title="@string/preload_pages_title"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
@@ -16,6 +16,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.image_descriptions.ImageDescriptionsController;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
+import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment;
import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate;
import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate.BooleanPreferenceDelegate;
import org.chromium.components.browser_ui.accessibility.FontSizePrefs;
@@ -34,7 +35,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
import org.chromium.content_public.browser.ContentFeatureMap;
/** Fragment to keep track of all the accessibility related preferences. */
-public class AccessibilitySettings extends PreferenceFragmentCompat
+public class AccessibilitySettings extends ChromeBaseSettingsFragment
implements Preference.OnPreferenceChangeListener {
public static final String PREF_TEXT_SCALE = "text_scale";
public static final String PREF_PAGE_ZOOM_DEFAULT_ZOOM = "page_zoom_default_zoom";
@@ -108,7 +109,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
}
@Override
- public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+ public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) {
SettingsUtils.addPreferencesFromResource(this, R.xml.accessibility_preferences);
mTextScalePref = (TextScalePreference) findPreference(PREF_TEXT_SCALE);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
@@ -485,7 +459,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/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -128,7 +128,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -121,7 +121,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private static final String PREF_HISTORY_EXPIRE_DAYS_THRESHOLD = "history_expire_days_threshold"; private static final String PREF_HISTORY_EXPIRE_DAYS_THRESHOLD = "history_expire_days_threshold";
@Override @Override
@@ -505,15 +479,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -77,6 +78,7 @@ import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher; @@ -74,6 +75,7 @@ import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; +import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory;
import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; @@ -114,6 +116,36 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -117,6 +119,36 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback,
SnackbarManageable, SnackbarManageable,
DisplayStyleObserver { DisplayStyleObserver {
@@ -550,7 +524,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
public static final String EXTRA_SHOW_FRAGMENT = "show_fragment"; public static final String EXTRA_SHOW_FRAGMENT = "show_fragment";
@@ -370,6 +402,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity @@ -367,6 +399,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
((AccessibilitySettings) fragment) ((AccessibilitySettings) fragment)
.getDelegate()).setSnackbarManager(mSnackbarManager); .getDelegate()).setSnackbarManager(mSnackbarManager);
} }
@@ -564,7 +538,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -370,6 +370,10 @@ using flags_ui::kOsLinux; @@ -371,6 +371,10 @@ using flags_ui::kOsLinux;
using flags_ui::kOsMac; using flags_ui::kOsMac;
using flags_ui::kOsWin; using flags_ui::kOsWin;
@@ -575,9 +549,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
namespace about_flags { namespace about_flags {
namespace { namespace {
@@ -3879,6 +3883,10 @@ const FeatureEntry::FeatureVariation kDefaultBrowserPromptRefreshVariations[] = @@ -3710,6 +3714,10 @@ const FeatureEntry::Choice kAccountBookmarksAndReadingListBehindOptInChoices[] =
kDefaultBrowserPromptRefreshAppMenuItem, };
std::size(kDefaultBrowserPromptRefreshAppMenuItem), nullptr}}; #endif // BUILDFLAG(IS_ANDROID)
+#define FEATURE_PARAM_SECTION +#define FEATURE_PARAM_SECTION
+#include "cromite_flags/chrome_browser_about_flags_cc.inc" +#include "cromite_flags/chrome_browser_about_flags_cc.inc"
@@ -586,7 +560,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
// RECORDING USER METRICS FOR FLAGS: // RECORDING USER METRICS FOR FLAGS:
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// The first line of the entry is the internal name. // The first line of the entry is the internal name.
@@ -3905,6 +3913,9 @@ const FeatureEntry::FeatureVariation kDefaultBrowserPromptRefreshVariations[] = @@ -3736,6 +3744,9 @@ const FeatureEntry::Choice kAccountBookmarksAndReadingListBehindOptInChoices[] =
const FeatureEntry kFeatureEntries[] = { const FeatureEntry kFeatureEntries[] = {
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
// //tools/flags/generate_unexpire_flags.py. // //tools/flags/generate_unexpire_flags.py.
@@ -599,9 +573,9 @@ 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 diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc
--- a/chrome/browser/browser_features.cc --- a/chrome/browser/browser_features.cc
+++ b/chrome/browser/browser_features.cc +++ b/chrome/browser/browser_features.cc
@@ -422,4 +422,5 @@ BASE_FEATURE(kWebUsbDeviceDetection, @@ -368,4 +368,5 @@ BASE_FEATURE(kNetworkAnnotationMonitoring,
"WebUsbDeviceDetection", "NetworkAnnotationMonitoring",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/chrome_browser_browser_features_cc.inc" +#include "cromite_flags/chrome_browser_browser_features_cc.inc"
} // namespace features } // namespace features
@@ -647,8 +621,8 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -1011,5 +1011,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate, @@ -978,5 +978,6 @@ BASE_FEATURE(kWebApkIconUpdateThreshold,
"WebApkAllowIconUpdate", "WebApkIconUpdateThreshold",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_cc.inc" +#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_cc.inc"
@@ -657,7 +631,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 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 --- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h +++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -191,6 +191,7 @@ constexpr base::FeatureParam<int> kAuxiliarySearchMaxTabsCountParam( @@ -188,6 +188,7 @@ constexpr base::FeatureParam<int> kAuxiliarySearchMaxTabsCountParam(
"auxiliary_search_max_donation_tab", "auxiliary_search_max_donation_tab",
100); 100);
@@ -668,7 +642,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -14,6 +14,10 @@ import org.chromium.base.cached_flags.DoubleCachedFieldTrialParameter; @@ -13,6 +13,10 @@ import org.chromium.base.cached_flags.DoubleCachedFieldTrialParameter;
import org.chromium.base.cached_flags.IntCachedFieldTrialParameter; import org.chromium.base.cached_flags.IntCachedFieldTrialParameter;
import org.chromium.base.cached_flags.StringCachedFieldTrialParameter; import org.chromium.base.cached_flags.StringCachedFieldTrialParameter;
@@ -679,16 +653,16 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -701,7 +705,7 @@ public abstract class ChromeFeatureList { @@ -691,7 +695,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sVerticalAutomotiveBackButtonToolbar = public static final CachedFlag sVerticalAutomotiveBackButtonToolbar =
newCachedFlag(VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR, true); newCachedFlag(VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR, true);
- public static final List<CachedFlag> sFlagsCachedFullBrowser = - public static final List<CachedFlag> sFlagsCachedFullBrowser =
+ public static final List<CachedFlag> sFlagsCachedFullBrowserChromium = + public static final List<CachedFlag> sFlagsCachedFullBrowserChromium =
List.of( List.of(
sAccountReauthenticationRecentTimeWindow,
sAllowUserCertificates, sAllowUserCertificates,
@@ -794,6 +798,13 @@ public abstract class ChromeFeatureList { sAndroidAppIntegration,
@@ -779,6 +783,13 @@ public abstract class ChromeFeatureList {
sUseLibunwindstackNativeUnwinderAndroid, sUseLibunwindstackNativeUnwinderAndroid,
sVerticalAutomotiveBackButtonToolbar); sVerticalAutomotiveBackButtonToolbar);
@@ -855,7 +829,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc --- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc
@@ -523,4 +523,5 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow, @@ -450,4 +450,5 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow,
"StopLoadingAnimationForHiddenWindow", "StopLoadingAnimationForHiddenWindow",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
@@ -864,25 +838,12 @@ 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 diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc --- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc
@@ -1666,4 +1666,5 @@ BASE_FEATURE(kEventBasedLogUpload, @@ -1735,4 +1735,5 @@ BASE_FEATURE(kSupportsRtcWakeOver24Hours,
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+#include "cromite_flags/chrome_common_chrome_features_cc.inc" +#include "cromite_flags/chrome_common_chrome_features_cc.inc"
} // namespace features } // namespace features
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -5,7 +5,8 @@ Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
android:key="enable_accessibility"
diff --git a/components/browser_ui/settings/android/java/res/values/attrs.xml b/components/browser_ui/settings/android/java/res/values/attrs.xml diff --git a/components/browser_ui/settings/android/java/res/values/attrs.xml b/components/browser_ui/settings/android/java/res/values/attrs.xml
--- a/components/browser_ui/settings/android/java/res/values/attrs.xml --- a/components/browser_ui/settings/android/java/res/values/attrs.xml
+++ b/components/browser_ui/settings/android/java/res/values/attrs.xml +++ b/components/browser_ui/settings/android/java/res/values/attrs.xml
@@ -922,10 +883,10 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
// TOOD(crbug.com/1451550): This is an interim solution. In the long-term, we should migrate // TOOD(crbug.com/1451550): This is an interim solution. In the long-term, we should migrate
// away from a switch with dynamically changing summaries onto a radio group. // away from a switch with dynamically changing summaries onto a radio group.
/** /**
@@ -49,6 +57,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat { @@ -46,6 +54,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat {
super(context, attrs);
mHasCustomLayout = ManagedPreferencesUtils.isCustomLayoutApplied(context, attrs); mHasCustomLayout = ManagedPreferencesUtils.isCustomLayoutApplied(context, attrs);
mUseSummaryAsTitle = true;
+ TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ChromeBasePreference); + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ChromeBasePreference);
+ mFeatureName = a.getString(R.styleable.ChromeBasePreference_featureName); + mFeatureName = a.getString(R.styleable.ChromeBasePreference_featureName);
+ mNeedRestart = a.getBoolean(R.styleable.ChromeBasePreference_needRestart, false); + mNeedRestart = a.getBoolean(R.styleable.ChromeBasePreference_needRestart, false);
@@ -940,7 +901,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
+ return mNeedRestart; + return mNeedRestart;
} }
/** /** Sets the ManagedPreferenceDelegate which will determine whether this preference is managed. */
diff --git a/components/components_strings.grd b/components/components_strings.grd diff --git a/components/components_strings.grd b/components/components_strings.grd
--- a/components/components_strings.grd --- a/components/components_strings.grd
+++ b/components/components_strings.grd +++ b/components/components_strings.grd
@@ -949,15 +910,15 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
<part file="webapps_strings.grdp" /> <part file="webapps_strings.grdp" />
<part file="user_scripts/strings/userscripts_strings.grdp" /> <part file="user_scripts/strings/userscripts_strings.grdp" />
+ <part file="cromite_components_strings_grd/placeholder.txt"/> + <part file="cromite_components_strings_grd/placeholder.txt"/>
<if expr="use_blink"> <if expr="use_blink">
<part file="history_clusters_strings.grdp" /> <part file="history_clusters_strings.grdp" />
</if>
diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/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 --- a/components/content_settings/core/common/features.cc
+++ b/components/content_settings/core/common/features.cc +++ b/components/content_settings/core/common/features.cc
@@ -112,5 +112,6 @@ BASE_FEATURE(kIndexedHostContentSettingsMap, @@ -112,5 +112,6 @@ BASE_FEATURE(kIndexedHostContentSettingsMap,
"IndexedHostContentSettingsMap", "IndexedHostContentSettingsMap",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/components_content_settings_core_common_features_cc.inc" +#include "cromite_flags/components_content_settings_core_common_features_cc.inc"
} // namespace features } // namespace features
@@ -1342,7 +1303,7 @@ diff --git a/components/flags_ui/resources/flags_browser_proxy.ts b/components/f
diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/offline_pages/core/offline_page_feature.cc diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/offline_pages/core/offline_page_feature.cc
--- a/components/offline_pages/core/offline_page_feature.cc --- a/components/offline_pages/core/offline_page_feature.cc
+++ b/components/offline_pages/core/offline_page_feature.cc +++ b/components/offline_pages/core/offline_page_feature.cc
@@ -48,4 +48,5 @@ bool IsOfflinePagesNetworkStateLikelyUnknown() { @@ -55,4 +55,5 @@ bool IsOfflinePagesNetworkStateLikelyUnknown() {
return base::FeatureList::IsEnabled(kOfflinePagesNetworkStateLikelyUnknown); return base::FeatureList::IsEnabled(kOfflinePagesNetworkStateLikelyUnknown);
} }
@@ -1351,7 +1312,7 @@ diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/
diff --git a/components/offline_pages/core/offline_page_feature.h b/components/offline_pages/core/offline_page_feature.h diff --git a/components/offline_pages/core/offline_page_feature.h b/components/offline_pages/core/offline_page_feature.h
--- a/components/offline_pages/core/offline_page_feature.h --- a/components/offline_pages/core/offline_page_feature.h
+++ b/components/offline_pages/core/offline_page_feature.h +++ b/components/offline_pages/core/offline_page_feature.h
@@ -42,6 +42,7 @@ bool IsOnTheFlyMhtmlHashComputationEnabled(); @@ -50,6 +50,7 @@ bool IsOnTheFlyMhtmlHashComputationEnabled();
// offline pages to avoid showing them even when the device is online. // offline pages to avoid showing them even when the device is online.
bool IsOfflinePagesNetworkStateLikelyUnknown(); bool IsOfflinePagesNetworkStateLikelyUnknown();
@@ -1362,7 +1323,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 diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc --- a/components/permissions/features.cc
+++ b/components/permissions/features.cc +++ b/components/permissions/features.cc
@@ -132,6 +132,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate, @@ -139,6 +139,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate,
"CpssQuietChipTextUpdate", "CpssQuietChipTextUpdate",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1385,7 +1346,7 @@ diff --git a/components/version_ui/version_handler_helper.cc b/components/versio
diff --git a/content/common/features.cc b/content/common/features.cc diff --git a/content/common/features.cc b/content/common/features.cc
--- a/content/common/features.cc --- a/content/common/features.cc
+++ b/content/common/features.cc +++ b/content/common/features.cc
@@ -574,4 +574,5 @@ BASE_FEATURE(kWindowOpenFileSelectFix, @@ -596,4 +596,5 @@ BASE_FEATURE(kWindowOpenFileSelectFix,
// Please keep features in alphabetical order. // Please keep features in alphabetical order.
@@ -1394,7 +1355,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 diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc --- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc
@@ -1287,4 +1287,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() { @@ -1389,4 +1389,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
VideoCaptureServiceConfiguration::kEnabledForBrowserProcess; VideoCaptureServiceConfiguration::kEnabledForBrowserProcess;
} }
@@ -1403,7 +1364,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 diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h --- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h +++ b/content/public/common/content_features.h
@@ -280,6 +280,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer); @@ -332,6 +332,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer);
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess(); CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess();
@@ -1701,7 +1662,7 @@ new file mode 100755
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc --- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc +++ b/media/base/media_switches.cc
@@ -1924,5 +1924,5 @@ uint32_t GetPassthroughAudioFormats() { @@ -1866,5 +1866,5 @@ uint32_t GetPassthroughAudioFormats() {
return 0; return 0;
#endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) #endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS)
} }
@@ -1711,7 +1672,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 diff --git a/media/base/media_switches.h b/media/base/media_switches.h
--- a/media/base/media_switches.h --- a/media/base/media_switches.h
+++ b/media/base/media_switches.h +++ b/media/base/media_switches.h
@@ -561,5 +561,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode(); @@ -547,5 +547,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
MEDIA_EXPORT uint32_t GetPassthroughAudioFormats(); MEDIA_EXPORT uint32_t GetPassthroughAudioFormats();
} // namespace media } // namespace media
@@ -1721,18 +1682,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 diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc --- a/net/base/features.cc
+++ b/net/base/features.cc +++ b/net/base/features.cc
@@ -561,4 +561,5 @@ BASE_FEATURE(kDeviceBoundSessions, @@ -535,4 +535,5 @@ BASE_FEATURE(kTruncateBodyToContentLength,
"DeviceBoundSessions", "TruncateBodyToContentLength",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
+#include "cromite_flags/net_base_features_cc.inc" +#include "cromite_flags/net_base_features_cc.inc"
} // namespace net::features } // namespace net::features
diff --git a/net/base/features.h b/net/base/features.h diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h --- a/net/base/features.h
+++ b/net/base/features.h +++ b/net/base/features.h
@@ -549,6 +549,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kReduceIPAddressChangeNotification); @@ -523,6 +523,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kTreatHTTPExpiresHeaderValueZeroAsExpired);
// the server assert sessions (and cookies) are bound to a specific device. // Enables truncating the response body to the content length.
NET_EXPORT BASE_DECLARE_FEATURE(kDeviceBoundSessions); NET_EXPORT BASE_DECLARE_FEATURE(kTruncateBodyToContentLength);
+#include "cromite_flags/net_base_features_h.inc" +#include "cromite_flags/net_base_features_h.inc"
} // namespace net::features } // namespace net::features
@@ -1741,18 +1702,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 diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc --- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc
@@ -492,4 +492,5 @@ BASE_FEATURE(kDocumentIsolationPolicy, @@ -467,4 +467,5 @@ const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsTopLevelTrial{
"DocumentIsolationPolicy", /*name=*/"SkipTpcdMitigationsForAdsTopLevelTrial",
base::FEATURE_DISABLED_BY_DEFAULT); /*default_value=*/false};
+#include "cromite_flags/services_network_public_cpp_features_cc.inc" +#include "cromite_flags/services_network_public_cpp_features_cc.inc"
} // namespace network::features } // namespace network::features
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h --- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h +++ b/services/network/public/cpp/features.h
@@ -200,6 +200,7 @@ BASE_DECLARE_FEATURE(kAvoidResourceRequestCopies); @@ -187,6 +187,7 @@ extern const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsTrial;
COMPONENT_EXPORT(NETWORK_CPP)
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kDocumentIsolationPolicy); extern const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsTopLevelTrial;
+#include "cromite_flags/services_network_public_cpp_features_h.inc" +#include "cromite_flags/services_network_public_cpp_features_h.inc"
} // namespace features } // namespace features
@@ -1761,8 +1722,8 @@ 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 diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc
@@ -2676,5 +2676,6 @@ BASE_FEATURE(kNoThrottlingVisibleAgent, @@ -2546,5 +2546,6 @@ BASE_FEATURE(kSimplifyLoadingTransparentPlaceholderImage,
"NoThrottlingVisibleAgent", "SimplifyLoadingTransparentPlaceholderImage",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/third_party_blink_common_features_cc.inc" +#include "cromite_flags/third_party_blink_common_features_cc.inc"
@@ -1771,9 +1732,9 @@ 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 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 --- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h +++ b/third_party/blink/public/common/features.h
@@ -1710,6 +1710,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE( @@ -1638,6 +1638,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kInteractiveDetectorIgnoreFcp);
// Don't throttle frames that are same-agent with with a visible frame. BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kNoThrottlingVisibleAgent); kSimplifyLoadingTransparentPlaceholderImage);
+#include "cromite_flags/third_party_blink_common_features_h.inc" +#include "cromite_flags/third_party_blink_common_features_h.inc"
} // namespace features } // namespace features
@@ -26,7 +26,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 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 --- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -54,6 +54,16 @@ found in the LICENSE file. @@ -43,6 +43,16 @@ found in the LICENSE file.
android:key="do_not_track" 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" /> android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings" />
@@ -46,7 +46,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/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
@@ -52,6 +52,9 @@ import java.lang.annotation.Retention; @@ -55,6 +55,9 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.util.Set; import java.util.Set;
@@ -56,7 +56,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 * Dispatches incoming intents to the appropriate activity based on the current configuration and
* Intent fired. * Intent fired.
@@ -239,6 +242,9 @@ public class LaunchIntentDispatcher { @@ -244,6 +247,9 @@ public class LaunchIntentDispatcher {
*/ */
public static boolean isCustomTabIntent(Intent intent) { public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false; if (intent == null) return false;
@@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
Log.w( Log.w(
TAG, TAG,
"CustomTabsIntent#shouldAlwaysUseBrowserUI() = " "CustomTabsIntent#shouldAlwaysUseBrowserUI() = "
@@ -260,6 +266,10 @@ public class LaunchIntentDispatcher { @@ -265,6 +271,10 @@ public class LaunchIntentDispatcher {
newIntent.setData(uri); newIntent.setData(uri);
newIntent.setClassName(context, CustomTabActivity.class.getName()); newIntent.setClassName(context, CustomTabActivity.class.getName());
@@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
// Since configureIntentForResizableCustomTab() might change the componenet/class // Since configureIntentForResizableCustomTab() might change the componenet/class
// associated with the passed intent, it needs to be called after #setClassName(context, // associated with the passed intent, it needs to be called after #setClassName(context,
// CustomTabActivity.class.getName()); // CustomTabActivity.class.getName());
@@ -407,6 +417,17 @@ public class LaunchIntentDispatcher { @@ -410,6 +420,17 @@ public class LaunchIntentDispatcher {
if (Intent.ACTION_VIEW.equals(newIntent.getAction()) if (Intent.ACTION_VIEW.equals(newIntent.getAction())
&& !IntentHandler.wasIntentSenderChrome(newIntent)) { && !IntentHandler.wasIntentSenderChrome(newIntent)) {
@@ -98,7 +98,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
@@ -854,6 +854,7 @@ public class CustomTabsConnection { @@ -850,6 +850,7 @@ public class CustomTabsConnection {
PostTask.postTask( PostTask.postTask(
TaskTraits.UI_DEFAULT, TaskTraits.UI_DEFAULT,
() -> { () -> {
@@ -132,8 +132,8 @@ 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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -103,6 +103,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -96,6 +96,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings; private IncognitoLockSettings mIncognitoLockSettings;
+ private ChromeSwitchPreference allowCustomTabIntentsPref; + private ChromeSwitchPreference allowCustomTabIntentsPref;
@@ -142,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override @Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
getActivity().setTitle(R.string.prefs_privacy_security); getActivity().setTitle(R.string.prefs_privacy_security);
@@ -298,6 +301,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -274,6 +277,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink)); new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
} }
@@ -152,7 +152,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey(); String key = preference.getKey();
@@ -314,6 +320,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -290,6 +296,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) { } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
UserPrefs.get(getProfile()) UserPrefs.get(getProfile())
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue); .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@@ -167,7 +167,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
} }
return true; return true;
} }
@@ -336,6 +350,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -312,6 +326,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED)); UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
} }
@@ -203,7 +203,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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -5217,6 +5217,20 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da @@ -5152,6 +5152,20 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
<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."> <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 Resume
</message> </message>
+25 -8
View File
@@ -10,13 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../org/chromium/chrome/browser/ApplicationLifetime.java | 2 ++ .../org/chromium/chrome/browser/ApplicationLifetime.java | 2 ++
.../org/chromium/chrome/browser/ChromeTabbedActivity.java | 4 ++++ .../org/chromium/chrome/browser/ChromeTabbedActivity.java | 4 ++++
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 6 ++++++ .../src/org/chromium/chrome/browser/app/ChromeActivity.java | 6 ++++++
.../chrome/browser/init/ChromeLifetimeController.java | 6 +++++-
.../browser/ui/android/strings/android_chrome_strings.grd | 3 +++ .../browser/ui/android/strings/android_chrome_strings.grd | 3 +++
5 files changed, 21 insertions(+) 6 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml
@@ -160,6 +160,9 @@ found in the LICENSE file. @@ -166,6 +166,9 @@ found in the LICENSE file.
<item android:id="@+id/managed_by_menu_id" <item android:id="@+id/managed_by_menu_id"
android:title="@string/managed_browser" android:title="@string/managed_browser"
android:icon="@drawable/ic_business" /> android:icon="@drawable/ic_business" />
@@ -26,7 +27,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
</group> </group>
<!-- Items shown only in the tab switcher --> <!-- Items shown only in the tab switcher -->
@@ -186,6 +189,9 @@ found in the LICENSE file. @@ -192,6 +195,9 @@ found in the LICENSE file.
<item android:id="@id/preferences_id" <item android:id="@id/preferences_id"
android:title="@string/menu_settings" android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" /> android:icon="@drawable/settings_cog" />
@@ -58,8 +59,8 @@ 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 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -267,6 +267,8 @@ import java.util.Set; @@ -267,6 +267,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.BooleanSupplier;
import java.util.function.DoubleConsumer; import java.util.function.DoubleConsumer;
+import org.chromium.chrome.browser.ApplicationLifetime; +import org.chromium.chrome.browser.ApplicationLifetime;
@@ -67,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 * 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. * accessible via a chrome specific tab switching UI.
@@ -2935,6 +2937,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -2925,6 +2927,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) { } else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true); getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed"); RecordUserAction.record("MobileTabClosed");
@@ -87,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.ChromeActivitySessionTracker;
import org.chromium.chrome.browser.ChromeApplicationImpl; import org.chromium.chrome.browser.ChromeApplicationImpl;
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate; import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
@@ -2571,6 +2572,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent> @@ -2576,6 +2577,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true; return true;
} }
@@ -99,10 +100,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
if (id == R.id.update_menu_id) { if (id == R.id.update_menu_id) {
UpdateMenuItemHelper.getInstance( UpdateMenuItemHelper.getInstance(
getProfileProviderSupplier().get().getOriginalProfile()) getProfileProviderSupplier().get().getOriginalProfile())
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
@@ -81,7 +81,11 @@ class ChromeLifetimeController
// Kick off a timer to kill the process after a delay, which fires only if the Activities
// take too long to be finished.
- mHandler.postDelayed(mRestartRunnable, WATCHDOG_DELAY_MS);
+ if (restart) {
+ mHandler.postDelayed(mRestartRunnable, WATCHDOG_DELAY_MS);
+ } else {
+ fireBrowserRestartActivityIntent();
+ }
}
@Override
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3846,6 +3846,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da @@ -3745,6 +3745,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
<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]"> <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 Dark theme
</message> </message>
@@ -26,7 +26,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/format_macros.h" #include "base/format_macros.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
@@ -417,6 +418,15 @@ AutocompleteController::AutocompleteController( @@ -392,6 +393,15 @@ AutocompleteController::AutocompleteController(
provider_client_->GetOmniboxTriggeredFeatureService()), provider_client_->GetOmniboxTriggeredFeatureService()),
steady_state_omnibox_position_( steady_state_omnibox_position_(
metrics::OmniboxEventProto::UNKNOWN_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/functional/callback.h"
#include "base/i18n/break_iterator.h" #include "base/i18n/break_iterator.h"
#include "base/i18n/case_conversion.h" #include "base/i18n/case_conversion.h"
@@ -647,6 +648,9 @@ void SearchProvider::Run(bool query_is_private) { @@ -644,6 +645,9 @@ void SearchProvider::Run(bool query_is_private) {
} }
void SearchProvider::DoHistoryQuery(bool minimal_changes) { void SearchProvider::DoHistoryQuery(bool minimal_changes) {
@@ -45,7 +45,7 @@ new file mode 100644
diff --git a/net/BUILD.gn b/net/BUILD.gn diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn --- a/net/BUILD.gn
+++ b/net/BUILD.gn +++ b/net/BUILD.gn
@@ -1045,6 +1045,7 @@ component("net") { @@ -1030,6 +1030,7 @@ component("net") {
"//build:chromeos_buildflags", "//build:chromeos_buildflags",
"//components/miracle_parameter/common", "//components/miracle_parameter/common",
"//net/http:transport_security_state_generated_files", "//net/http:transport_security_state_generated_files",
@@ -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/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h" #include "net/socket/client_socket_factory.h"
#include "net/url_request/url_request_context.h" #include "net/url_request/url_request_context.h"
@@ -1388,6 +1389,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck( @@ -1373,6 +1374,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
return OK; return OK;
} }
@@ -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 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -660,6 +660,10 @@ @@ -635,6 +635,10 @@
status: {"Android": "stable"}, status: {"Android": "stable"},
base_feature: "none", base_feature: "none",
}, },
@@ -14,15 +14,14 @@ 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 diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
--- a/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn
@@ -1926,7 +1926,6 @@ config("default_warnings") { @@ -1889,13 +1889,21 @@ config("default_warnings") {
# TODO(https://crbug.com/1490607): Fix and re-enable. # TODO(https://crbug.com/1490607): Fix and re-enable.
"-Wno-thread-safety-reference-return", "-Wno-thread-safety-reference-return",
] ]
- -
cflags_cc += [ if (!is_nacl) {
# TODO(crbug.com/328490295): Fix and re-enable for C flags. cflags_cc += [
"-Wenum-compare-conditional", # TODO(https://crbug.com/1513724): Fix and re-enable.
@@ -1938,6 +1937,15 @@ config("default_warnings") {
"-Wno-c++11-narrowing-const-reference", "-Wno-c++11-narrowing-const-reference",
] ]
} }
@@ -41,7 +40,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
diff --git a/build_overrides/build.gni b/build_overrides/build.gni diff --git a/build_overrides/build.gni b/build_overrides/build.gni
--- a/build_overrides/build.gni --- a/build_overrides/build.gni
+++ b/build_overrides/build.gni +++ b/build_overrides/build.gni
@@ -58,6 +58,9 @@ declare_args() { @@ -62,6 +62,9 @@ declare_args() {
# to lack of toolchain support. # to lack of toolchain support.
gtest_enable_absl_printers = !is_nacl gtest_enable_absl_printers = !is_nacl
@@ -64,7 +64,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../strings/android/browser_ui_strings.grd | 5 ++ .../strings/android/browser_ui_strings.grd | 5 ++
.../core/browser/content_settings_utils.cc | 36 ++++++++ .../core/browser/content_settings_utils.cc | 36 ++++++++
.../core/browser/content_settings_utils.h | 6 ++ .../core/browser/content_settings_utils.h | 6 ++
.../core/common/content_settings_enums.mojom | 9 ++ .../common/content_settings_constraints.h | 9 ++
.../page_info/PageInfoController.java | 4 +- .../page_info/PageInfoController.java | 4 +-
.../PermissionParamsListBuilder.java | 13 ++- .../PermissionParamsListBuilder.java | 13 ++-
.../android/page_info_controller_android.cc | 10 ++- .../android/page_info_controller_android.cc | 10 ++-
@@ -106,12 +106,12 @@ diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/br
+ ContentSettingsType type) { + ContentSettingsType type) {
+ ContentSettingsForOneType session_settings = + ContentSettingsForOneType session_settings =
+ content_settings->GetSettingsForOneType( + content_settings->GetSettingsForOneType(
+ type, content_settings::mojom::SessionModel::USER_SESSION); + type, content_settings::SessionModel::UserSession);
+ +
+ GURL url = origin.GetURL(); + GURL url = origin.GetURL();
+ for (ContentSettingPatternSource& entry : session_settings) { + for (ContentSettingPatternSource& entry : session_settings) {
+ if (content_settings::IsConstraintSessionExpiration(entry, + if (content_settings::IsConstraintSessionExpiration(entry,
+ content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED) && + content_settings::LifetimeMode::UntilOriginClosed) &&
+ entry.primary_pattern.Matches(url)) { + entry.primary_pattern.Matches(url)) {
+ content_settings->SetWebsiteSettingCustomScope( + content_settings->SetWebsiteSettingCustomScope(
+ entry.primary_pattern, entry.secondary_pattern, + entry.primary_pattern, entry.secondary_pattern,
@@ -153,12 +153,12 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome
+ ContentSettingsType type) { + ContentSettingsType type) {
+ ContentSettingsForOneType session_settings = + ContentSettingsForOneType session_settings =
+ content_settings->GetSettingsForOneType( + content_settings->GetSettingsForOneType(
+ type, content_settings::mojom::SessionModel::USER_SESSION); + type, content_settings::SessionModel::UserSession);
+ +
+ GURL url = origin.GetURL(); + GURL url = origin.GetURL();
+ for (ContentSettingPatternSource& entry : session_settings) { + for (ContentSettingPatternSource& entry : session_settings) {
+ if (content_settings::IsConstraintSessionExpiration(entry, + if (content_settings::IsConstraintSessionExpiration(entry,
+ content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED) && + content_settings::LifetimeMode::UntilOriginClosed) &&
+ entry.primary_pattern.Matches(url)) { + entry.primary_pattern.Matches(url)) {
+ content_settings->SetWebsiteSettingCustomScope( + content_settings->SetWebsiteSettingCustomScope(
+ entry.primary_pattern, entry.secondary_pattern, + entry.primary_pattern, entry.secondary_pattern,
@@ -228,24 +228,24 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc 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 --- a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
+++ b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc +++ b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
@@ -336,7 +336,7 @@ void EmbeddedPermissionPrompt::Allow() { @@ -237,7 +237,7 @@ void EmbeddedPermissionPrompt::Allow() {
}
void EmbeddedPermissionPrompt::AllowThisTime() { void EmbeddedPermissionPrompt::AllowThisTime() {
PrecalculateVariantsForMetrics();
- delegate_->AcceptThisTime(); - delegate_->AcceptThisTime();
+ delegate_->AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME); + delegate_->AcceptThisTime(content_settings::LifetimeMode::OnlyThisTime);
CloseCurrentViewAndMaybeShowNext(/*first_prompt=*/false); CloseCurrentViewAndMaybeShowNext(/*first_prompt=*/false);
} }
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 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 --- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc +++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
@@ -269,7 +269,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) { @@ -267,7 +267,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
delegate_->Accept(); delegate_->Accept();
return; return;
case PermissionDialogButton::kAcceptOnce: case PermissionDialogButton::kAcceptOnce:
- delegate_->AcceptThisTime(); - delegate_->AcceptThisTime();
+ delegate_->AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME); + delegate_->AcceptThisTime(content_settings::LifetimeMode::OnlyThisTime);
return; return;
case PermissionDialogButton::kDeny: case PermissionDialogButton::kDeny:
delegate_->Deny(); delegate_->Deny();
@@ -263,7 +263,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 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 --- 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 +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -557,6 +557,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment @@ -559,6 +559,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
} }
} }
@@ -275,7 +275,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void setUpClearDataPreference() { private void setUpClearDataPreference() {
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA); ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage(); long usage = mSite.getTotalUsage();
@@ -1083,6 +1088,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment @@ -1070,6 +1075,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
if (contentType == mHighlightedPermission) { if (contentType == mHighlightedPermission) {
switchPreference.setBackgroundColor(mHighlightColor); switchPreference.setBackgroundColor(mHighlightColor);
} }
@@ -301,7 +301,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 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 --- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd +++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -661,6 +661,11 @@ @@ -673,6 +673,11 @@
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display"> <message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
URL truncated URL truncated
</message> </message>
@@ -316,41 +316,41 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc 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 --- a/components/content_settings/core/browser/content_settings_utils.cc
+++ b/components/content_settings/core/browser/content_settings_utils.cc +++ b/components/content_settings/core/browser/content_settings_utils.cc
@@ -155,6 +155,42 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) { @@ -174,6 +174,42 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) {
return constraints.session_model() == mojom::SessionModel::DURABLE; return constraints.session_model() == SessionModel::Durable;
} }
+ContentSettingConstraints GetConstraintSessionExpiration(content_settings::mojom::LifetimeMode lifetime_mode) { +ContentSettingConstraints GetConstraintSessionExpiration(LifetimeMode lifetime_mode) {
+ int lifetime; + int lifetime;
+ base::Time now; + base::Time now;
+ if (lifetime_mode == content_settings::mojom::LifetimeMode::ONLY_THIS_TIME) { + if (lifetime_mode == LifetimeMode::OnlyThisTime) {
+ // note: this content settings will be discarded immediately + // note: this content settings will be discarded immediately
+ // 1h is used as a magic constant to identify the one-time lifetime mode + // 1h is used as a magic constant to identify the one-time lifetime mode
+ lifetime = 1; + lifetime = 1;
+ } else if (lifetime_mode == content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED) { + } else if (lifetime_mode == LifetimeMode::UntilOriginClosed) {
+ now = base::Time::Now(); + now = base::Time::Now();
+ lifetime = 24; + lifetime = 24;
+ } else { + } else {
+ lifetime = 0; + lifetime = 0;
+ } + }
+ ContentSettingConstraints c(now); + content_settings::ContentSettingConstraints c(now);
+ c.set_lifetime(base::Hours(lifetime)); + c.set_lifetime(base::Hours(lifetime));
+ c.set_session_model(mojom::SessionModel::USER_SESSION); + c.set_session_model(content_settings::SessionModel::UserSession);
+ return c; + return c;
+} +}
+ +
+bool IsConstraintSessionExpiration(const ContentSettingPatternSource& source, +bool IsConstraintSessionExpiration(const ContentSettingPatternSource& source,
+ content_settings::mojom::LifetimeMode lifetime_mode) { + LifetimeMode lifetime_mode) {
+ if (source.metadata.session_model() != content_settings::mojom::SessionModel::USER_SESSION) + if (source.metadata.session_model() != content_settings::SessionModel::UserSession)
+ return false; + return false;
+ +
+ mojom::LifetimeMode type; + LifetimeMode type;
+ if (source.metadata.lifetime() == base::Hours(24)) { + if (source.metadata.lifetime() == base::Hours(24)) {
+ type = content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED; + type = LifetimeMode::UntilOriginClosed;
+ } else if (source.metadata.expiration() == (base::Time() + base::Hours(1))) { + } else if (source.metadata.expiration() == (base::Time() + base::Hours(1))) {
+ type = content_settings::mojom::LifetimeMode::ONLY_THIS_TIME; + type = LifetimeMode::OnlyThisTime;
+ } else { + } else {
+ type = content_settings::mojom::LifetimeMode::UNTIL_BROWSER_CLOSED; + type = LifetimeMode::UntilBrowserClosed;
+ } + }
+ +
+ return lifetime_mode == type; + return lifetime_mode == type;
@@ -362,39 +362,42 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h
--- a/components/content_settings/core/browser/content_settings_utils.h --- a/components/content_settings/core/browser/content_settings_utils.h
+++ b/components/content_settings/core/browser/content_settings_utils.h +++ b/components/content_settings/core/browser/content_settings_utils.h
@@ -74,6 +74,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints); @@ -73,6 +73,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints);
// Returns whether the given type supports tracking last_visit timestamps. // Returns whether the given type supports tracking last_visit timestamps.
bool CanTrackLastVisit(ContentSettingsType type); bool CanTrackLastVisit(ContentSettingsType type);
+ContentSettingConstraints GetConstraintSessionExpiration(mojom::LifetimeMode lifetime_mode); +ContentSettingConstraints GetConstraintSessionExpiration(LifetimeMode lifetime_mode);
+ +
+bool IsConstraintSessionExpiration( +bool IsConstraintSessionExpiration(
+ const ContentSettingPatternSource& source, + const ContentSettingPatternSource& source,
+ mojom::LifetimeMode lifetime_mode); + LifetimeMode lifetime_mode);
+ +
// Get a timestamp with week-precision. // Get a timestamp with week-precision.
base::Time GetCoarseVisitedTime(base::Time time); base::Time GetCoarseVisitedTime(base::Time time);
diff --git a/components/content_settings/core/common/content_settings_enums.mojom b/components/content_settings/core/common/content_settings_enums.mojom diff --git a/components/content_settings/core/common/content_settings_constraints.h b/components/content_settings/core/common/content_settings_constraints.h
--- a/components/content_settings/core/common/content_settings_enums.mojom --- a/components/content_settings/core/common/content_settings_constraints.h
+++ b/components/content_settings/core/common/content_settings_enums.mojom +++ b/components/content_settings/core/common/content_settings_constraints.h
@@ -57,3 +57,12 @@ enum SessionModel { @@ -33,6 +33,15 @@ enum class SessionModel : int32_t {
// tab from the origin is closed. kMaxValue = OneTime,
ONE_TIME,
}; };
+
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.content_settings +// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.content_settings
+// GENERATED_JAVA_CLASS_NAME_OVERRIDE: LifetimeMode +// GENERATED_JAVA_CLASS_NAME_OVERRIDE: LifetimeMode
+enum LifetimeMode { +enum class LifetimeMode {
+ ALWAYS = 99, + Always = 99,
+ ONLY_THIS_TIME = 1, + OnlyThisTime = 1,
+ UNTIL_ORIGIN_CLOSED = 2, + UntilOriginClosed = 2,
+ UNTIL_BROWSER_CLOSED = 0, + UntilBrowserClosed = 0,
+}; +};
+
// Constraints to be applied when setting a content setting.
class ContentSettingConstraints {
public:
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 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 --- 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 +++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
@@ -393,9 +393,9 @@ public class PageInfoController @@ -378,9 +378,9 @@ public class PageInfoController
String name, String name,
String nameMidSentence, String nameMidSentence,
int type, int type,
@@ -452,7 +455,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
--- a/components/page_info/android/page_info_controller_android.cc --- a/components/page_info/android/page_info_controller_android.cc
+++ b/components/page_info/android/page_info_controller_android.cc +++ b/components/page_info/android/page_info_controller_android.cc
@@ -151,6 +151,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( @@ -154,6 +154,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
std::map<ContentSettingsType, ContentSetting> std::map<ContentSettingsType, ContentSetting>
user_specified_settings_to_display; user_specified_settings_to_display;
@@ -461,7 +464,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
for (const auto& permission : permission_info_list) { for (const auto& permission : permission_info_list) {
if (base::Contains(permissions_to_display, permission.type)) { if (base::Contains(permissions_to_display, permission.type)) {
@@ -159,6 +161,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( @@ -162,6 +164,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
if (setting_to_display) { if (setting_to_display) {
user_specified_settings_to_display[permission.type] = user_specified_settings_to_display[permission.type] =
*setting_to_display; *setting_to_display;
@@ -470,7 +473,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
} }
} }
} }
@@ -175,7 +179,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( @@ -178,7 +182,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
ConvertUTF16ToJavaString(env, setting_title), ConvertUTF16ToJavaString(env, setting_title),
ConvertUTF16ToJavaString(env, setting_title_mid_sentence), ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
static_cast<jint>(permission), static_cast<jint>(permission),
@@ -480,7 +483,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
} }
} }
@@ -188,7 +193,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( @@ -191,7 +196,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title), env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title),
ConvertUTF16ToJavaString(env, object_title), ConvertUTF16ToJavaString(env, object_title),
static_cast<jint>(chosen_object->ui_info->content_settings_type), static_cast<jint>(chosen_object->ui_info->content_settings_type),
@@ -493,19 +496,19 @@ 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 diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc --- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc +++ b/components/page_info/page_info.cc
@@ -1175,6 +1175,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, @@ -1163,6 +1163,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
permission_info.is_one_time = permission_info.source = info.source;
(info.metadata.session_model() == permission_info.is_one_time = (info.metadata.session_model() ==
content_settings::mojom::SessionModel::ONE_TIME); content_settings::SessionModel::OneTime);
+ permission_info.is_user_session = + permission_info.is_user_session =
+ (info.metadata.session_model() == content_settings::mojom::SessionModel::USER_SESSION); + (info.metadata.session_model() == content_settings::SessionModel::UserSession);
auto* page_specific_content_settings = GetPageSpecificContentSettings(); auto* page_specific_content_settings = GetPageSpecificContentSettings();
if (page_specific_content_settings && setting == CONTENT_SETTING_ALLOW) { if (page_specific_content_settings && setting == CONTENT_SETTING_ALLOW) {
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
--- a/components/page_info/page_info.h --- a/components/page_info/page_info.h
+++ b/components/page_info/page_info.h +++ b/components/page_info/page_info.h
@@ -150,6 +150,7 @@ class PageInfo : private content_settings::CookieControlsObserver, @@ -199,6 +199,7 @@ class PageInfo : private content_settings::CookieControlsObserver {
content_settings::SETTING_SOURCE_NONE; content_settings::SETTING_SOURCE_NONE;
// Whether the permission is a one-time grant. // Whether the permission is a one-time grant.
bool is_one_time = false; bool is_one_time = false;
@@ -524,8 +527,8 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -60,6 +61,9 @@ public class PermissionDialogDelegate { @@ -57,6 +58,9 @@ public class PermissionDialogDelegate {
/** The {@link ContentSettingsType}s requested in this dialog. */ /** The {@link ContentSettingsType}s requested in this dialog. */
private int[] mContentSettingsTypes; private int[] mContentSettingsTypes;
+ /** Lifetime option selected by the user. */ + /** Lifetime option selected by the user. */
@@ -534,7 +537,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
/** /**
* Defines a (potentially empty) list of ranges represented as pairs of <startIndex, endIndex>, * Defines a (potentially empty) list of ranges represented as pairs of <startIndex, endIndex>,
* which shall be used by the UI to format the specified ranges as bold text. * which shall be used by the UI to format the specified ranges as bold text.
@@ -117,6 +121,15 @@ public class PermissionDialogDelegate { @@ -110,6 +114,15 @@ public class PermissionDialogDelegate {
.acceptThisTime(mNativeDelegatePtr, PermissionDialogDelegate.this); .acceptThisTime(mNativeDelegatePtr, PermissionDialogDelegate.this);
} }
@@ -572,7 +575,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
/** This class creates the model for the permission dialog. */ /** This class creates the model for the permission dialog. */
class PermissionDialogModelFactory { class PermissionDialogModelFactory {
public static PropertyModel getModel( public static PropertyModel getModel(
@@ -72,6 +84,74 @@ class PermissionDialogModelFactory { @@ -60,6 +72,74 @@ class PermissionDialogModelFactory {
ModalDialogProperties.NEGATIVE_BUTTON_TEXT, ModalDialogProperties.NEGATIVE_BUTTON_TEXT,
delegate.getNegativeButtonText()); delegate.getNegativeButtonText());
} }
@@ -651,7 +654,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc 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 --- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc +++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
@@ -150,6 +150,11 @@ void PermissionDialogJavaDelegate::DismissDialog() { @@ -144,6 +144,11 @@ void PermissionDialogJavaDelegate::DismissDialog() {
Java_PermissionDialogDelegate_dismissFromNative(env, j_delegate_); Java_PermissionDialogDelegate_dismissFromNative(env, j_delegate_);
} }
@@ -663,27 +666,27 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
// static // static
void PermissionDialogDelegate::Create( void PermissionDialogDelegate::Create(
content::WebContents* web_contents, content::WebContents* web_contents,
@@ -178,6 +183,13 @@ PermissionDialogDelegate* PermissionDialogDelegate::CreateForTesting( @@ -172,6 +177,13 @@ PermissionDialogDelegate* PermissionDialogDelegate::CreateForTesting(
void PermissionDialogDelegate::Accept(JNIEnv* env, void PermissionDialogDelegate::Accept(JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
CHECK(permission_prompt_); CHECK(permission_prompt_);
+ content_settings::mojom::LifetimeMode lifetimeOption = + content_settings::LifetimeMode lifetimeOption =
+ static_cast<content_settings::mojom::LifetimeMode>( + static_cast<content_settings::LifetimeMode>(
+ java_delegate_->GetSelectedLifetimeOption()); + java_delegate_->GetSelectedLifetimeOption());
+ if (lifetimeOption != content_settings::mojom::LifetimeMode::ALWAYS) { + if (lifetimeOption != content_settings::LifetimeMode::Always) {
+ permission_prompt_->AcceptThisTime(lifetimeOption); + permission_prompt_->AcceptThisTime(lifetimeOption);
+ return; + return;
+ } + }
permission_prompt_->Accept(); permission_prompt_->Accept();
} }
@@ -185,12 +197,22 @@ void PermissionDialogDelegate::AcceptThisTime( @@ -179,12 +191,22 @@ void PermissionDialogDelegate::AcceptThisTime(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
CHECK(permission_prompt_); CHECK(permission_prompt_);
- permission_prompt_->AcceptThisTime(); - permission_prompt_->AcceptThisTime();
+ content_settings::mojom::LifetimeMode lifetimeOption = + content_settings::LifetimeMode lifetimeOption =
+ static_cast<content_settings::mojom::LifetimeMode>( + static_cast<content_settings::LifetimeMode>(
+ java_delegate_->GetSelectedLifetimeOption()); + java_delegate_->GetSelectedLifetimeOption());
+ permission_prompt_->AcceptThisTime(lifetimeOption); + permission_prompt_->AcceptThisTime(lifetimeOption);
} }
@@ -691,10 +694,10 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
void PermissionDialogDelegate::Cancel(JNIEnv* env, void PermissionDialogDelegate::Cancel(JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
CHECK(permission_prompt_); CHECK(permission_prompt_);
+ content_settings::mojom::LifetimeMode lifetimeOption = + content_settings::LifetimeMode lifetimeOption =
+ static_cast<content_settings::mojom::LifetimeMode>( + static_cast<content_settings::LifetimeMode>(
+ java_delegate_->GetSelectedLifetimeOption()); + java_delegate_->GetSelectedLifetimeOption());
+ if (lifetimeOption != content_settings::mojom::LifetimeMode::ALWAYS) { + if (lifetimeOption != content_settings::LifetimeMode::Always) {
+ permission_prompt_->DenyThisTime(lifetimeOption); + permission_prompt_->DenyThisTime(lifetimeOption);
+ return; + return;
+ } + }
@@ -715,17 +718,17 @@ 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 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 --- a/components/permissions/android/permission_prompt/permission_prompt_android.cc
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc +++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
@@ -58,8 +58,12 @@ void PermissionPromptAndroid::Accept() { @@ -53,8 +53,12 @@ void PermissionPromptAndroid::Accept() {
delegate_->Accept(); delegate_->Accept();
} }
-void PermissionPromptAndroid::AcceptThisTime() { -void PermissionPromptAndroid::AcceptThisTime() {
- delegate_->AcceptThisTime(); - delegate_->AcceptThisTime();
+void PermissionPromptAndroid::AcceptThisTime(content_settings::mojom::LifetimeMode lifetimeOption) { +void PermissionPromptAndroid::AcceptThisTime(content_settings::LifetimeMode lifetimeOption) {
+ delegate_->AcceptThisTime(lifetimeOption); + delegate_->AcceptThisTime(lifetimeOption);
+} +}
+ +
+void PermissionPromptAndroid::DenyThisTime(content_settings::mojom::LifetimeMode lifetimeOption) { +void PermissionPromptAndroid::DenyThisTime(content_settings::LifetimeMode lifetimeOption) {
+ delegate_->DenyThisTime(lifetimeOption); + delegate_->DenyThisTime(lifetimeOption);
} }
@@ -733,14 +736,14 @@ 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 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 --- a/components/permissions/android/permission_prompt/permission_prompt_android.h
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.h +++ b/components/permissions/android/permission_prompt/permission_prompt_android.h
@@ -46,8 +46,9 @@ class PermissionPromptAndroid : public PermissionPrompt { @@ -44,8 +44,9 @@ class PermissionPromptAndroid : public PermissionPrompt {
void Closing(); void Closing();
void Accept(); void Accept();
- void AcceptThisTime(); - void AcceptThisTime();
+ void AcceptThisTime(content_settings::mojom::LifetimeMode lifetimeOption); + void AcceptThisTime(content_settings::LifetimeMode lifetimeOption);
void Deny(); void Deny();
+ void DenyThisTime(content_settings::mojom::LifetimeMode lifetimeOption); + void DenyThisTime(content_settings::LifetimeMode lifetimeOption);
void SetManageClicked(); void SetManageClicked();
void SetLearnMoreClicked(); void SetLearnMoreClicked();
bool ShouldCurrentRequestUseQuietUI(); bool ShouldCurrentRequestUseQuietUI();
@@ -780,7 +783,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
DCHECK(is_final_decision); DCHECK(is_final_decision);
+ NotifyPermissionSetWithLifetime(id, requesting_origin, embedding_origin, + NotifyPermissionSetWithLifetime(id, requesting_origin, embedding_origin,
+ std::move(callback), persist, content_setting, is_one_time, is_final_decision, + std::move(callback), persist, content_setting, is_one_time, is_final_decision,
+ content_settings::mojom::LifetimeMode::ALWAYS); + content_settings::LifetimeMode::Always);
+} +}
+void GeolocationPermissionContextAndroid::NotifyPermissionSetWithLifetime( +void GeolocationPermissionContextAndroid::NotifyPermissionSetWithLifetime(
@@ -791,7 +794,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
+ bool persist, + bool persist,
+ ContentSetting content_setting, + ContentSetting content_setting,
+ bool is_one_time, bool is_final_decision, + bool is_one_time, bool is_final_decision,
+ content_settings::mojom::LifetimeMode lifetime_option) { + content_settings::LifetimeMode lifetime_option) {
bool is_default_search = IsRequestingOriginDSE(requesting_origin); bool is_default_search = IsRequestingOriginDSE(requesting_origin);
if (content_setting == CONTENT_SETTING_ALLOW && if (content_setting == CONTENT_SETTING_ALLOW &&
!location_settings_->IsSystemLocationSettingEnabled()) { !location_settings_->IsSystemLocationSettingEnabled()) {
@@ -836,7 +839,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
bool persist, bool persist,
ContentSetting content_setting, ContentSetting content_setting,
- bool is_one_time, - bool is_one_time,
+ bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option, + bool is_one_time, content_settings::LifetimeMode lifetime_option,
LocationSettingsDialogOutcome prompt_outcome) { LocationSettingsDialogOutcome prompt_outcome) {
bool is_default_search = IsRequestingOriginDSE(requesting_origin); bool is_default_search = IsRequestingOriginDSE(requesting_origin);
if (prompt_outcome == GRANTED) { if (prompt_outcome == GRANTED) {
@@ -856,7 +859,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
ContentSetting content_setting, ContentSetting content_setting,
- bool is_one_time) { - bool is_one_time) {
- GeolocationPermissionContext::NotifyPermissionSet( - GeolocationPermissionContext::NotifyPermissionSet(
+ bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option) { + bool is_one_time, content_settings::LifetimeMode lifetime_option) {
+ GeolocationPermissionContext::NotifyPermissionSetWithLifetime( + GeolocationPermissionContext::NotifyPermissionSetWithLifetime(
id, requesting_origin, embedding_origin, std::move(callback), persist, id, requesting_origin, embedding_origin, std::move(callback), persist,
- content_setting, is_one_time, /*is_final_decision=*/true); - content_setting, is_one_time, /*is_final_decision=*/true);
@@ -879,7 +882,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
+ ContentSetting content_setting, + ContentSetting content_setting,
+ bool is_one_time, + bool is_one_time,
+ bool is_final_decision, + bool is_final_decision,
+ content_settings::mojom::LifetimeMode lifetime_option) override; + content_settings::LifetimeMode lifetime_option) override;
content::PermissionResult UpdatePermissionStatusWithDeviceStatus( content::PermissionResult UpdatePermissionStatusWithDeviceStatus(
content::PermissionResult result, content::PermissionResult result,
const GURL& requesting_origin, const GURL& requesting_origin,
@@ -887,7 +890,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
bool persist, bool persist,
ContentSetting content_setting, ContentSetting content_setting,
bool is_one_time, bool is_one_time,
+ content_settings::mojom::LifetimeMode lifetime_option, + content_settings::LifetimeMode lifetime_option,
LocationSettingsDialogOutcome prompt_outcome); LocationSettingsDialogOutcome prompt_outcome);
void FinishNotifyPermissionSet(const PermissionRequestID& id, void FinishNotifyPermissionSet(const PermissionRequestID& id,
@@ -897,7 +900,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
ContentSetting content_setting, ContentSetting content_setting,
- bool is_one_time); - bool is_one_time);
+ bool is_one_time, + bool is_one_time,
+ content_settings::mojom::LifetimeMode lifetime_option); + content_settings::LifetimeMode lifetime_option);
std::unique_ptr<LocationSettings> location_settings_; std::unique_ptr<LocationSettings> location_settings_;
@@ -928,7 +931,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
bool is_one_time, bool is_one_time,
- bool is_final_decision) { - bool is_final_decision) {
+ bool is_final_decision, + bool is_final_decision,
+ content_settings::mojom::LifetimeMode lifetime_option) { + content_settings::LifetimeMode lifetime_option) {
DCHECK(content_setting == CONTENT_SETTING_ALLOW || DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
content_setting == CONTENT_SETTING_BLOCK || content_setting == CONTENT_SETTING_BLOCK ||
content_setting == CONTENT_SETTING_DEFAULT); content_setting == CONTENT_SETTING_DEFAULT);
@@ -958,7 +961,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
+ DCHECK(is_one_time == false); + DCHECK(is_one_time == false);
+ NotifyPermissionSetWithLifetime(id, requesting_origin, embedding_origin, std::move(callback), + NotifyPermissionSetWithLifetime(id, requesting_origin, embedding_origin, std::move(callback),
+ persist, content_setting, is_one_time, is_final_decision, + persist, content_setting, is_one_time, is_final_decision,
+ content_settings::mojom::LifetimeMode::ALWAYS); + content_settings::LifetimeMode::Always);
+} +}
+ +
+void PermissionContextBase::NotifyPermissionSetWithLifetime( +void PermissionContextBase::NotifyPermissionSetWithLifetime(
@@ -970,7 +973,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
+ ContentSetting content_setting, + ContentSetting content_setting,
+ bool is_one_time, + bool is_one_time,
+ bool is_final_decision, + bool is_final_decision,
+ content_settings::mojom::LifetimeMode lifetime_option) { + content_settings::LifetimeMode lifetime_option) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
if (persist) { if (persist) {
@@ -985,21 +988,21 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
ContentSetting content_setting, ContentSetting content_setting,
bool is_one_time) { bool is_one_time) {
+ UpdateContentSetting(requesting_origin, embedding_origin, content_setting, + UpdateContentSetting(requesting_origin, embedding_origin, content_setting,
+ is_one_time, content_settings::mojom::LifetimeMode::ALWAYS); + is_one_time, content_settings::LifetimeMode::Always);
+} +}
+ +
+void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, +void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
+ const GURL& embedding_origin, + const GURL& embedding_origin,
+ ContentSetting content_setting, + ContentSetting content_setting,
+ bool is_one_time, + bool is_one_time,
+ content_settings::mojom::LifetimeMode lifetime_option) { + content_settings::LifetimeMode lifetime_option) {
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL()); DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL()); DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
DCHECK(content_setting == CONTENT_SETTING_ALLOW || DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
@@ -621,6 +659,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, @@ -621,6 +659,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
constraints.set_session_model( constraints.set_session_model(is_one_time
is_one_time ? content_settings::mojom::SessionModel::ONE_TIME ? content_settings::SessionModel::OneTime
: content_settings::mojom::SessionModel::DURABLE); : content_settings::SessionModel::Durable);
+ if (is_one_time) + if (is_one_time)
+ constraints = content_settings::GetConstraintSessionExpiration(lifetime_option); + constraints = content_settings::GetConstraintSessionExpiration(lifetime_option);
@@ -1020,7 +1023,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
+ ContentSetting content_setting, + ContentSetting content_setting,
+ bool is_one_time, + bool is_one_time,
+ bool is_final_decision, + bool is_final_decision,
+ content_settings::mojom::LifetimeMode lifetime_option); + content_settings::LifetimeMode lifetime_option);
virtual void NotifyPermissionSet(const PermissionRequestID& id, virtual void NotifyPermissionSet(const PermissionRequestID& id,
const GURL& requesting_origin, const GURL& requesting_origin,
const GURL& embedding_origin, const GURL& embedding_origin,
@@ -1032,7 +1035,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
+ const GURL& embedding_origin, + const GURL& embedding_origin,
+ ContentSetting content_setting, + ContentSetting content_setting,
+ bool is_one_time, + bool is_one_time,
+ content_settings::mojom::LifetimeMode lifetime_option); + content_settings::LifetimeMode lifetime_option);
virtual void UpdateContentSetting(const GURL& requesting_origin, virtual void UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin, const GURL& embedding_origin,
ContentSetting content_setting, ContentSetting content_setting,
@@ -1055,7 +1058,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
bool is_one_time, bool is_one_time,
- bool is_final_decision); - bool is_final_decision);
+ bool is_final_decision, + bool is_final_decision,
+ content_settings::mojom::LifetimeMode lifetime_option); + content_settings::LifetimeMode lifetime_option);
void NotifyObservers(const ContentSettingsPattern& primary_pattern, void NotifyObservers(const ContentSettingsPattern& primary_pattern,
const ContentSettingsPattern& secondary_pattern, const ContentSettingsPattern& secondary_pattern,
@@ -1067,9 +1070,9 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions
virtual void Accept() = 0; virtual void Accept() = 0;
- virtual void AcceptThisTime() = 0; - virtual void AcceptThisTime() = 0;
+ virtual void AcceptThisTime(content_settings::mojom::LifetimeMode lifetime_option) = 0; + virtual void AcceptThisTime(content_settings::LifetimeMode lifetime_option) = 0;
virtual void Deny() = 0; virtual void Deny() = 0;
+ virtual void DenyThisTime(content_settings::mojom::LifetimeMode lifetime_option) = 0; + virtual void DenyThisTime(content_settings::LifetimeMode lifetime_option) = 0;
virtual void Dismiss() = 0; virtual void Dismiss() = 0;
virtual void Ignore() = 0; virtual void Ignore() = 0;
@@ -1091,13 +1094,13 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() { PermissionRequest::~PermissionRequest() {
DCHECK(delete_callback_.is_null()); DCHECK(delete_callback_.is_null());
} }
@@ -364,19 +372,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { @@ -357,19 +365,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
return request_type() == RequestType::kStorageAccess; permissions::features::kPermissionStorageAccessAPI);
} }
-void PermissionRequest::PermissionGranted(bool is_one_time) { -void PermissionRequest::PermissionGranted(bool is_one_time) {
+void PermissionRequest::PermissionGranted(bool is_one_time, +void PermissionRequest::PermissionGranted(bool is_one_time,
+ content_settings::mojom::LifetimeMode lifetime_option) { + content_settings::LifetimeMode lifetime_option) {
+ if (permission_decided_callback_withlifetime_) { + if (permission_decided_callback_withlifetime_) {
+ std::move(permission_decided_callback_withlifetime_) + std::move(permission_decided_callback_withlifetime_)
+ .Run(CONTENT_SETTING_ALLOW, is_one_time, /*is_final_decision=*/true, lifetime_option); + .Run(CONTENT_SETTING_ALLOW, is_one_time, /*is_final_decision=*/true, lifetime_option);
@@ -1110,7 +1113,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
-void PermissionRequest::PermissionDenied() { -void PermissionRequest::PermissionDenied() {
+void PermissionRequest::PermissionDenied(bool is_one_time, +void PermissionRequest::PermissionDenied(bool is_one_time,
+ content_settings::mojom::LifetimeMode lifetime_option) { + content_settings::LifetimeMode lifetime_option) {
+ if (permission_decided_callback_withlifetime_) { + if (permission_decided_callback_withlifetime_) {
+ std::move(permission_decided_callback_withlifetime_) + std::move(permission_decided_callback_withlifetime_)
+ .Run(CONTENT_SETTING_BLOCK, is_one_time, /*is_final_decision=*/true, lifetime_option); + .Run(CONTENT_SETTING_BLOCK, is_one_time, /*is_final_decision=*/true, lifetime_option);
@@ -1125,7 +1128,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
+ if (permission_decided_callback_withlifetime_) { + if (permission_decided_callback_withlifetime_) {
+ std::move(permission_decided_callback_withlifetime_) + std::move(permission_decided_callback_withlifetime_)
+ .Run(CONTENT_SETTING_DEFAULT, false, is_final_decision, + .Run(CONTENT_SETTING_DEFAULT, false, is_final_decision,
+ content_settings::mojom::LifetimeMode::ALWAYS); + content_settings::LifetimeMode::Always);
+ return; + return;
+ } + }
if (permission_decided_callback_) { if (permission_decided_callback_) {
@@ -1141,7 +1144,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
+ using PermissionDecidedCallbackWithLifetime = + using PermissionDecidedCallbackWithLifetime =
+ base::OnceCallback<void(ContentSetting /*result*/, bool /*is_one_time*/, + base::OnceCallback<void(ContentSetting /*result*/, bool /*is_one_time*/,
+ bool /*is_final_decision*/, + bool /*is_final_decision*/,
+ content_settings::mojom::LifetimeMode /*lifetime_option*/)>; + content_settings::LifetimeMode /*lifetime_option*/)>;
+ +
// `permission_decided_callback` is called when the permission request is // `permission_decided_callback` is called when the permission request is
// resolved by the user (see comment on PermissionDecidedCallback above). // resolved by the user (see comment on PermissionDecidedCallback above).
@@ -1157,20 +1160,20 @@ diff --git a/components/permissions/permission_request.h b/components/permission
PermissionRequest(const PermissionRequest&) = delete; PermissionRequest(const PermissionRequest&) = delete;
PermissionRequest& operator=(const PermissionRequest&) = delete; PermissionRequest& operator=(const PermissionRequest&) = delete;
@@ -162,10 +171,10 @@ class PermissionRequest { @@ -159,10 +168,10 @@ class PermissionRequest {
// If |is_one_time| is true the permission will last until all tabs of // If |is_one_time| is true the permission will last until all tabs of
// |origin| are closed or navigated away from, and then the permission will // |origin| are closed or navigated away from, and then the permission will
// automatically expire after 1 day. // automatically expire after 1 day.
- void PermissionGranted(bool is_one_time); - void PermissionGranted(bool is_one_time);
+ void PermissionGranted(bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option); + void PermissionGranted(bool is_one_time, content_settings::LifetimeMode lifetime_option);
// Called when the user has denied the requested permission. // Called when the user has denied the requested permission.
- void PermissionDenied(); - void PermissionDenied();
+ void PermissionDenied(bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option); + void PermissionDenied(bool is_one_time, content_settings::LifetimeMode lifetime_option);
// Called when the user has cancelled the permission request. This // Called when the user has cancelled the permission request. This
// corresponds to a denial, but is segregated in case the context needs to // corresponds to a denial, but is segregated in case the context needs to
@@ -221,6 +230,9 @@ class PermissionRequest { @@ -216,6 +225,9 @@ class PermissionRequest {
// Called once a decision is made about the permission. // Called once a decision is made about the permission.
PermissionDecidedCallback permission_decided_callback_; PermissionDecidedCallback permission_decided_callback_;
@@ -1188,39 +1191,39 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (base::CommandLine::ForCurrentProcess()->HasSwitch( if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDenyPermissionPrompts)) { switches::kDenyPermissionPrompts)) {
- request->PermissionDenied(); - request->PermissionDenied();
+ request->PermissionDenied(/*is_one_time*/false, content_settings::mojom::LifetimeMode::ALWAYS); + request->PermissionDenied(/*is_one_time*/false, content_settings::LifetimeMode::Always);
request->RequestFinished(); request->RequestFinished();
return; return;
} }
@@ -233,7 +233,7 @@ void PermissionRequestManager::AddRequest( @@ -232,7 +232,7 @@ void PermissionRequestManager::AddRequest(
if (auto_approval_origin) { if (auto_approval_origin) {
if (url::Origin::Create(request->requesting_origin()) == if (url::Origin::Create(request->requesting_origin()) ==
auto_approval_origin.value()) { auto_approval_origin.value()) {
- request->PermissionGranted(/*is_one_time=*/false); - request->PermissionGranted(/*is_one_time=*/false);
+ request->PermissionGranted(/*is_one_time=*/false, content_settings::mojom::LifetimeMode::ALWAYS); + request->PermissionGranted(/*is_one_time=*/false, content_settings::LifetimeMode::Always);
} }
request->RequestFinished(); request->RequestFinished();
return; return;
@@ -594,7 +594,8 @@ void PermissionRequestManager::Accept() { @@ -593,7 +593,8 @@ void PermissionRequestManager::Accept() {
(*requests_iter)->request_type(), (*requests_iter)->request_type(),
PermissionAction::GRANTED); PermissionAction::GRANTED);
PermissionGrantedIncludingDuplicates(*requests_iter, PermissionGrantedIncludingDuplicates(*requests_iter,
- /*is_one_time=*/false); - /*is_one_time=*/false);
+ /*is_one_time=*/false, + /*is_one_time=*/false,
+ content_settings::mojom::LifetimeMode::ALWAYS); + content_settings::LifetimeMode::Always);
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
std::optional<ContentSettingsType> content_settings_type = std::optional<ContentSettingsType> content_settings_type =
@@ -612,7 +613,7 @@ void PermissionRequestManager::Accept() { @@ -611,7 +612,7 @@ void PermissionRequestManager::Accept() {
CurrentRequestsDecided(PermissionAction::GRANTED); CurrentRequestsDecided(PermissionAction::GRANTED);
} }
-void PermissionRequestManager::AcceptThisTime() { -void PermissionRequestManager::AcceptThisTime() {
+void PermissionRequestManager::AcceptThisTime(content_settings::mojom::LifetimeMode mode) { +void PermissionRequestManager::AcceptThisTime(content_settings::LifetimeMode mode) {
if (ignore_callbacks_from_prompt_) if (ignore_callbacks_from_prompt_)
return; return;
DCHECK(view_); DCHECK(view_);
@@ -624,7 +625,8 @@ void PermissionRequestManager::AcceptThisTime() { @@ -623,7 +624,8 @@ void PermissionRequestManager::AcceptThisTime() {
(*requests_iter)->request_type(), (*requests_iter)->request_type(),
PermissionAction::GRANTED_ONCE); PermissionAction::GRANTED_ONCE);
PermissionGrantedIncludingDuplicates(*requests_iter, PermissionGrantedIncludingDuplicates(*requests_iter,
@@ -1230,23 +1233,23 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
} }
NotifyRequestDecided(PermissionAction::GRANTED_ONCE); NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
@@ -632,6 +634,15 @@ void PermissionRequestManager::AcceptThisTime() { @@ -631,6 +633,15 @@ void PermissionRequestManager::AcceptThisTime() {
} }
void PermissionRequestManager::Deny() { void PermissionRequestManager::Deny() {
+ Deny_(/*is_one_time*/ false, content_settings::mojom::LifetimeMode::ALWAYS); + Deny_(/*is_one_time*/ false, content_settings::LifetimeMode::Always);
+} +}
+ +
+void PermissionRequestManager::DenyThisTime(content_settings::mojom::LifetimeMode mode) { +void PermissionRequestManager::DenyThisTime(content_settings::LifetimeMode mode) {
+ Deny_(/*is_one_time*/ true, mode); + Deny_(/*is_one_time*/ true, mode);
+} +}
+ +
+void PermissionRequestManager::Deny_(bool is_one_time, +void PermissionRequestManager::Deny_(bool is_one_time,
+ content_settings::mojom::LifetimeMode lifetime_option) { + content_settings::LifetimeMode lifetime_option) {
if (ignore_callbacks_from_prompt_) if (ignore_callbacks_from_prompt_)
return; return;
DCHECK(view_); DCHECK(view_);
@@ -655,7 +666,7 @@ void PermissionRequestManager::Deny() { @@ -654,7 +665,7 @@ void PermissionRequestManager::Deny() {
StorePermissionActionForUMA((*requests_iter)->requesting_origin(), StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
(*requests_iter)->request_type(), (*requests_iter)->request_type(),
PermissionAction::DENIED); PermissionAction::DENIED);
@@ -1255,12 +1258,12 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
} }
NotifyRequestDecided(PermissionAction::DENIED); NotifyRequestDecided(PermissionAction::DENIED);
@@ -1218,32 +1229,32 @@ PermissionRequestManager::VisitDuplicateRequests( @@ -1213,32 +1224,32 @@ PermissionRequestManager::VisitDuplicateRequests(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates( void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request, PermissionRequest* request,
- bool is_one_time) { - bool is_one_time) {
+ bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option) { + bool is_one_time, content_settings::LifetimeMode lifetime_option) {
DCHECK_EQ(1ul, base::ranges::count(requests_, request) + DCHECK_EQ(1ul, base::ranges::count(requests_, request) +
pending_permission_requests_.Count(request)) pending_permission_requests_.Count(request))
<< "Only requests in [pending_permission_]requests_ can have duplicates"; << "Only requests in [pending_permission_]requests_ can have duplicates";
@@ -1269,7 +1272,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
VisitDuplicateRequests( VisitDuplicateRequests(
base::BindRepeating( base::BindRepeating(
- [](bool is_one_time, - [](bool is_one_time,
+ [](bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option, + [](bool is_one_time, content_settings::LifetimeMode lifetime_option,
const base::WeakPtr<PermissionRequest>& weak_request) { const base::WeakPtr<PermissionRequest>& weak_request) {
- weak_request->PermissionGranted(is_one_time); - weak_request->PermissionGranted(is_one_time);
+ weak_request->PermissionGranted(is_one_time, lifetime_option); + weak_request->PermissionGranted(is_one_time, lifetime_option);
@@ -1281,7 +1284,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
void PermissionRequestManager::PermissionDeniedIncludingDuplicates( void PermissionRequestManager::PermissionDeniedIncludingDuplicates(
- PermissionRequest* request) { - PermissionRequest* request) {
+ PermissionRequest* request, bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option) { + PermissionRequest* request, bool is_one_time, content_settings::LifetimeMode lifetime_option) {
DCHECK_EQ(1ul, base::ranges::count(requests_, request) + DCHECK_EQ(1ul, base::ranges::count(requests_, request) +
pending_permission_requests_.Count(request)) pending_permission_requests_.Count(request))
<< "Only requests in [pending_permission_]requests_ can have duplicates"; << "Only requests in [pending_permission_]requests_ can have duplicates";
@@ -1292,18 +1295,18 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
- [](const base::WeakPtr<PermissionRequest>& weak_request) { - [](const base::WeakPtr<PermissionRequest>& weak_request) {
- weak_request->PermissionDenied(); - weak_request->PermissionDenied();
- }), - }),
+ [](bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option, const base::WeakPtr<PermissionRequest>& weak_request) { + [](bool is_one_time, content_settings::LifetimeMode lifetime_option, const base::WeakPtr<PermissionRequest>& weak_request) {
+ weak_request->PermissionDenied(is_one_time, lifetime_option); + weak_request->PermissionDenied(is_one_time, lifetime_option);
+ }, is_one_time, lifetime_option), + }, is_one_time, lifetime_option),
request); request);
} }
@@ -1500,7 +1511,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { @@ -1495,7 +1506,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
} }
switch (auto_response_for_test_) { switch (auto_response_for_test_) {
case ACCEPT_ONCE: case ACCEPT_ONCE:
- AcceptThisTime(); - AcceptThisTime();
+ AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME); + AcceptThisTime(content_settings::LifetimeMode::OnlyThisTime);
break; break;
case ACCEPT_ALL: case ACCEPT_ALL:
Accept(); Accept();
@@ -1315,10 +1318,10 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
GURL GetEmbeddingOrigin() const override; GURL GetEmbeddingOrigin() const override;
void Accept() override; void Accept() override;
- void AcceptThisTime() override; - void AcceptThisTime() override;
+ void AcceptThisTime(content_settings::mojom::LifetimeMode lifetime_option) override; + void AcceptThisTime(content_settings::LifetimeMode lifetime_option) override;
void Deny() override; void Deny() override;
+ void Deny_(bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option); + void Deny_(bool is_one_time, content_settings::LifetimeMode lifetime_option);
+ void DenyThisTime(content_settings::mojom::LifetimeMode lifetime_option) override; + void DenyThisTime(content_settings::LifetimeMode lifetime_option) override;
void Dismiss() override; void Dismiss() override;
void Ignore() override; void Ignore() override;
void FinalizeCurrentRequests() override; void FinalizeCurrentRequests() override;
@@ -1328,12 +1331,12 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
void PermissionGrantedIncludingDuplicates(PermissionRequest* request, void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
- bool is_one_time); - bool is_one_time);
+ bool is_one_time, + bool is_one_time,
+ content_settings::mojom::LifetimeMode lifetime_option); + content_settings::LifetimeMode lifetime_option);
// Calls PermissionDenied on a request and all its duplicates. // Calls PermissionDenied on a request and all its duplicates.
- void PermissionDeniedIncludingDuplicates(PermissionRequest* request); - void PermissionDeniedIncludingDuplicates(PermissionRequest* request);
+ void PermissionDeniedIncludingDuplicates(PermissionRequest* request, + void PermissionDeniedIncludingDuplicates(PermissionRequest* request,
+ bool is_one_time, + bool is_one_time,
+ content_settings::mojom::LifetimeMode lifetime_option); + content_settings::LifetimeMode lifetime_option);
// Calls Cancelled on a request and all its duplicates. // Calls Cancelled on a request and all its duplicates.
void CancelledIncludingDuplicates(PermissionRequest* request, void CancelledIncludingDuplicates(PermissionRequest* request,
bool is_final_decision = true); bool is_final_decision = true);
@@ -7,7 +7,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/java/res/menu/main_menu.xml | 7 ++ chrome/android/java/res/menu/main_menu.xml | 7 ++
.../chrome/browser/ChromeTabbedActivity.java | 24 +++++++ .../chrome/browser/ChromeTabbedActivity.java | 24 +++++++
.../browser/bookmarks/BookmarkBridge.java | 67 +++++++++++++++++++ .../browser/bookmarks/BookmarkBridge.java | 67 +++++++++++++++++++
.../bookmarks/android/bookmark_bridge.cc | 44 +++++++++++- .../bookmarks/android/bookmark_bridge.cc | 44 ++++++++++++
.../bookmarks/android/bookmark_bridge.h | 8 +++ .../bookmarks/android/bookmark_bridge.h | 8 +++
.../browser/bookmarks/bookmark_html_writer.cc | 11 ++- .../browser/bookmarks/bookmark_html_writer.cc | 11 ++-
.../dialogs/DownloadLocationCustomView.java | 4 +- .../dialogs/DownloadLocationCustomView.java | 4 +-
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/bookmark_bar_strings.grdp | 6 ++ components/bookmark_bar_strings.grdp | 6 ++
.../bookmarks/browser/bookmark_codec.cc | 20 +++++- .../bookmarks/browser/bookmark_codec.cc | 20 +++++-
components/bookmarks/browser/bookmark_codec.h | 7 +- components/bookmarks/browser/bookmark_codec.h | 7 +-
.../browser/bookmark_load_details.cc | 14 +++- .../browser/bookmark_load_details.cc | 8 ++-
.../bookmarks/browser/bookmark_load_details.h | 2 + .../bookmarks/browser/bookmark_load_details.h | 2 +
.../bookmarks/browser/bookmark_model.cc | 3 +- .../bookmarks/browser/bookmark_model.cc | 3 +-
components/bookmarks/browser/bookmark_model.h | 7 ++ components/bookmarks/browser/bookmark_model.h | 7 ++
@@ -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/bookmark_uuids.h | 1 +
components/bookmarks/browser/model_loader.cc | 8 ++- components/bookmarks/browser/model_loader.cc | 8 ++-
.../bookmark_specifics_conversions.cc | 1 + .../bookmark_specifics_conversions.cc | 1 +
22 files changed, 241 insertions(+), 15 deletions(-) 22 files changed, 236 insertions(+), 14 deletions(-)
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml
@@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
<item android:id="@+id/recent_tabs_menu_id" <item android:id="@+id/recent_tabs_menu_id"
android:title="@string/menu_recent_tabs" android:title="@string/menu_recent_tabs"
android:icon="@drawable/devices_black_24dp" /> android:icon="@drawable/devices_black_24dp" />
@@ -180,6 +184,9 @@ found in the LICENSE file. @@ -186,6 +190,9 @@ found in the LICENSE file.
<item android:id="@+id/close_all_incognito_tabs_menu_id" <item android:id="@+id/close_all_incognito_tabs_menu_id"
android:title="@string/menu_close_all_incognito_tabs" android:title="@string/menu_close_all_incognito_tabs"
android:icon="@drawable/btn_close_white" /> android:icon="@drawable/btn_close_white" />
@@ -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 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -91,6 +91,7 @@ import org.chromium.chrome.browser.base.ColdStartTracker; @@ -89,6 +89,7 @@ import org.chromium.chrome.browser.base.ColdStartTracker;
import org.chromium.chrome.browser.bookmarks.BookmarkUtils; import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder; 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.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
@@ -2960,6 +2961,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -2950,6 +2951,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
getTabModelSelectorSupplier().get(), getTabModelSelectorSupplier().get(),
() -> getTabModelSelector().closeAllTabs()); () -> getTabModelSelector().closeAllTabs());
RecordUserAction.record("MobileMenuCloseAllTabs"); 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) { } else if (id == R.id.close_all_incognito_tabs_menu_id) {
// Close only incognito tabs // Close only incognito tabs
CloseAllTabsDialog.show( CloseAllTabsDialog.show(
@@ -3031,6 +3034,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -3021,6 +3024,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus); getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus);
} }
@@ -103,7 +103,7 @@ 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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
@@ -19,11 +19,17 @@ import org.jni_zero.NativeMethods; @@ -18,11 +18,17 @@ import org.jni_zero.NativeMethods;
import org.chromium.base.Callback; import org.chromium.base.Callback;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
@@ -121,7 +121,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.BookmarkId;
import org.chromium.components.bookmarks.BookmarkItem; import org.chromium.components.bookmarks.BookmarkItem;
import org.chromium.components.bookmarks.BookmarkType; import org.chromium.components.bookmarks.BookmarkType;
@@ -83,6 +89,8 @@ import org.chromium.ui.modaldialog.DialogDismissalCause; @@ -82,6 +88,8 @@ import org.chromium.ui.modaldialog.DialogDismissalCause;
class BookmarkBridge { class BookmarkBridge {
private final ObserverList<BookmarkModelObserver> mObservers = new ObserverList<>(); private final ObserverList<BookmarkModelObserver> mObservers = new ObserverList<>();
@@ -130,7 +130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private long mNativeBookmarkBridge; private long mNativeBookmarkBridge;
private boolean mIsDestroyed; private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges; private boolean mIsDoingExtensiveChanges;
@@ -424,6 +432,16 @@ class BookmarkBridge { @@ -402,6 +410,16 @@ class BookmarkBridge {
return mMobileFolderId; return mMobileFolderId;
} }
@@ -147,7 +147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/** Returns Id representing the special "other" folder from bookmark model. */ /** Returns Id representing the special "other" folder from bookmark model. */
public BookmarkId getOtherFolderId() { public BookmarkId getOtherFolderId() {
ThreadUtils.assertOnUiThread(); ThreadUtils.assertOnUiThread();
@@ -1114,6 +1132,50 @@ class BookmarkBridge { @@ -1092,6 +1110,50 @@ class BookmarkBridge {
.addToReadingList(mNativeBookmarkBridge, parentId, title, url); .addToReadingList(mNativeBookmarkBridge, parentId, title, url);
} }
@@ -198,9 +198,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/** /**
* Helper method to mark an item as read. * Helper method to mark an item as read.
* *
@@ -1368,6 +1430,9 @@ class BookmarkBridge { @@ -1334,6 +1396,9 @@ class BookmarkBridge {
BookmarkId getMostRecentlyAddedUserBookmarkIdForUrl(
long nativeBookmarkBridge, @JniType("GURL") GURL url); BookmarkId getMostRecentlyAddedUserBookmarkIdForUrl(long nativeBookmarkBridge, GURL url);
+ BookmarkId getBookmarkIdForTabsCollection( + BookmarkId getBookmarkIdForTabsCollection(
+ long nativeBookmarkBridge, GURL url); + long nativeBookmarkBridge, GURL url);
@@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
BookmarkItem getBookmarkById(long nativeBookmarkBridge, long id, int type); BookmarkItem getBookmarkById(long nativeBookmarkBridge, long id, int type);
void getTopLevelFolderIds( void getTopLevelFolderIds(
@@ -1389,6 +1454,8 @@ class BookmarkBridge { @@ -1353,6 +1418,8 @@ class BookmarkBridge {
BookmarkId getRootFolderId(long nativeBookmarkBridge); BookmarkId getRootFolderId(long nativeBookmarkBridge);
@@ -220,17 +220,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc 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 --- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc +++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -180,7 +180,7 @@ class FileBookmarksExportObserver: public BookmarksExportObserver { @@ -367,6 +367,33 @@ void BookmarkBridge::GetImageUrlForBookmark(
base::BindOnce(&HandleImageUrlResponse, callback));
JNIEnv* env = AttachCurrentThread();
Java_BookmarkBridge_bookmarksExported(env, obj_, window_->GetJavaObject(),
- ConvertUTF8ToJavaString(env, export_path_),
+ base::android::ConvertUTF8ToJavaString(env, export_path_),
result == Result::kSuccess);
delete this;
}
@@ -396,6 +396,33 @@ void BookmarkBridge::GetImageUrlForBookmarkImpl(
std::move(callback).Run(GURL());
} }
+base::android::ScopedJavaLocalRef<jobject> +base::android::ScopedJavaLocalRef<jobject>
@@ -239,7 +230,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+ const JavaParamRef<jobject>& url) { + const JavaParamRef<jobject>& url) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); + DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ +
+ GURL gurl = url::GURLAndroid::ToNativeGURL(env, url); + GURL gurl = *url::GURLAndroid::ToNativeGURL(env, url);
+ +
+ bookmarks::BookmarkModel* model = + bookmarks::BookmarkModel* model =
+ BookmarkModelFactory::GetForBrowserContext(profile_); + BookmarkModelFactory::GetForBrowserContext(profile_);
@@ -261,9 +252,9 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+} +}
+ +
base::android::ScopedJavaLocalRef<jobject> base::android::ScopedJavaLocalRef<jobject>
BookmarkBridge::GetMostRecentlyAddedUserBookmarkIdForUrl(JNIEnv* env, BookmarkBridge::GetMostRecentlyAddedUserBookmarkIdForUrl(
const GURL& url) { JNIEnv* env,
@@ -508,6 +535,7 @@ void BookmarkBridge::GetAllFoldersWithDepths( @@ -482,6 +509,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
// Vector to temporarily contain all child bookmarks at same level for sorting // Vector to temporarily contain all child bookmarks at same level for sorting
std::vector<const BookmarkNode*> bookmarks = { std::vector<const BookmarkNode*> bookmarks = {
bookmark_model_->mobile_node(), bookmark_model_->mobile_node(),
@@ -271,17 +262,19 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
bookmark_model_->bookmark_bar_node(), bookmark_model_->bookmark_bar_node(),
bookmark_model_->other_node(), bookmark_model_->other_node(),
}; };
@@ -601,6 +629,9 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl( @@ -539,6 +567,11 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
top_level_folders.push_back(other_node); top_level_folders.push_back(root_child.get());
} }
+ const BookmarkNode* tabs_collection_node = bookmark_model_->tabs_collection_node(); + for (const auto& node : bookmark_model_->tabs_collection_node()->children()) {
+ top_level_folders.push_back(tabs_collection_node); + if (node->is_folder())
+ top_level_folders.push_back(node.get());
+ }
+ +
const BookmarkNode* reading_list_node = if (account_reading_list_manager_ &&
local_or_syncable_reading_list_manager_->GetRoot(); account_reading_list_manager_->GetRoot()) {
if (IsPermanentFolderVisible(ignore_visibility, reading_list_node)) { top_level_folders.push_back(account_reading_list_manager_->GetRoot());
@@ -1313,6 +1344,17 @@ void BookmarkBridge::GetBookmarksOfType( @@ -1176,6 +1209,17 @@ void BookmarkBridge::GetBookmarksOfType(
AddBookmarkNodesToBookmarkIdList(env, j_list, results); AddBookmarkNodesToBookmarkIdList(env, j_list, results);
} }
@@ -302,18 +295,18 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
--- a/chrome/browser/bookmarks/android/bookmark_bridge.h --- a/chrome/browser/bookmarks/android/bookmark_bridge.h
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.h +++ b/chrome/browser/bookmarks/android/bookmark_bridge.h
@@ -93,6 +93,10 @@ class BookmarkBridge : public ProfileObserver, @@ -77,6 +77,10 @@ class BookmarkBridge : public ProfileObserver,
bool is_account_bookmark, const base::android::JavaParamRef<jobject>& j_url,
page_image_service::ImageService::ResultCallback callback); const base::android::JavaParamRef<jobject>& j_callback);
+ base::android::ScopedJavaLocalRef<jobject> GetBookmarkIdForTabsCollection( + base::android::ScopedJavaLocalRef<jobject> GetBookmarkIdForTabsCollection(
+ JNIEnv* env, + JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& url); + const base::android::JavaParamRef<jobject>& url);
+ +
base::android::ScopedJavaLocalRef<jobject> base::android::ScopedJavaLocalRef<jobject>
GetMostRecentlyAddedUserBookmarkIdForUrl(JNIEnv* env, const GURL& url); GetMostRecentlyAddedUserBookmarkIdForUrl(
const bookmarks::BookmarkNode* GetMostRecentlyAddedUserBookmarkIdForUrlImpl( JNIEnv* env,
@@ -237,6 +241,10 @@ class BookmarkBridge : public ProfileObserver, @@ -227,6 +231,10 @@ class BookmarkBridge : public ProfileObserver,
const base::android::JavaParamRef<jobject>& j_list, const base::android::JavaParamRef<jobject>& j_list,
jint type); jint type);
@@ -391,7 +384,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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3979,6 +3979,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da @@ -3875,6 +3875,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]"> <message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
Select tabs Select tabs
</message> </message>
@@ -512,7 +505,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
if (sync_metadata_str) { if (sync_metadata_str) {
const std::string* sync_metadata_str_base64 = const std::string* sync_metadata_str_base64 =
@@ -460,12 +472,14 @@ void BookmarkCodec::DecodeMetaInfoHelper( @@ -459,11 +471,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node, void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node, BookmarkNode* other_node,
@@ -520,7 +513,6 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
+ BookmarkNode* mobile_node, + BookmarkNode* mobile_node,
+ BookmarkNode* tabs_folder_node) { + BookmarkNode* tabs_folder_node) {
ids_.clear(); ids_.clear();
reassigned_ids_per_old_id_.clear();
ReassignIDsHelper(bb_node); ReassignIDsHelper(bb_node);
ReassignIDsHelper(other_node); ReassignIDsHelper(other_node);
ReassignIDsHelper(mobile_node); ReassignIDsHelper(mobile_node);
@@ -531,7 +523,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
--- a/components/bookmarks/browser/bookmark_codec.h --- a/components/bookmarks/browser/bookmark_codec.h
+++ b/components/bookmarks/browser/bookmark_codec.h +++ b/components/bookmarks/browser/bookmark_codec.h
@@ -40,6 +40,7 @@ class BookmarkCodec { @@ -39,6 +39,7 @@ class BookmarkCodec {
const BookmarkNode* bookmark_bar_node, const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node, const BookmarkNode* other_folder_node,
const BookmarkNode* mobile_folder_node, const BookmarkNode* mobile_folder_node,
@@ -539,7 +531,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
std::string sync_metadata_str); std::string sync_metadata_str);
// Decodes the previously encoded value to the specified nodes as well as // Decodes the previously encoded value to the specified nodes as well as
@@ -58,6 +59,7 @@ class BookmarkCodec { @@ -57,6 +58,7 @@ class BookmarkCodec {
BookmarkNode* bb_node, BookmarkNode* bb_node,
BookmarkNode* other_folder_node, BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node, BookmarkNode* mobile_folder_node,
@@ -547,7 +539,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
int64_t* max_node_id, int64_t* max_node_id,
std::string* sync_metadata_str); std::string* sync_metadata_str);
@@ -89,6 +91,7 @@ class BookmarkCodec { @@ -82,6 +84,7 @@ class BookmarkCodec {
static const char kBookmarkBarFolderNameKey[]; static const char kBookmarkBarFolderNameKey[];
static const char kOtherBookmarkFolderNameKey[]; static const char kOtherBookmarkFolderNameKey[];
static const char kMobileBookmarkFolderNameKey[]; static const char kMobileBookmarkFolderNameKey[];
@@ -555,7 +547,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
static const char kVersionKey[]; static const char kVersionKey[];
static const char kChecksumKey[]; static const char kChecksumKey[];
static const char kIdKey[]; static const char kIdKey[];
@@ -121,6 +124,7 @@ class BookmarkCodec { @@ -114,6 +117,7 @@ class BookmarkCodec {
bool DecodeHelper(BookmarkNode* bb_node, bool DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node, BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node, BookmarkNode* mobile_folder_node,
@@ -563,7 +555,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
const base::Value::Dict& value, const base::Value::Dict& value,
std::string* sync_metadata_str); std::string* sync_metadata_str);
@@ -131,7 +135,8 @@ class BookmarkCodec { @@ -124,7 +128,8 @@ class BookmarkCodec {
// Reassigns bookmark IDs for all nodes. // Reassigns bookmark IDs for all nodes.
void ReassignIDs(BookmarkNode* bb_node, void ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node, BookmarkNode* other_node,
@@ -594,26 +586,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/
CHECK_EQ(kNumDefaultTopLevelPermanentFolders, root_node_->children().size()); CHECK_EQ(kNumDefaultTopLevelPermanentFolders, root_node_->children().size());
} }
@@ -86,6 +88,10 @@ void BookmarkLoadDetails::PopulateNodeIdsForLocalOrSyncablePermanentNodes() { @@ -105,8 +107,8 @@ void BookmarkLoadDetails::AddManagedNode(
if (mobile_folder_node_->id() == 0) {
mobile_folder_node_->set_id(max_id_++);
}
+
+ if (tabs_collection_folder_node_->id() == 0) {
+ tabs_collection_folder_node_->set_id(max_id_++);
+ }
}
void BookmarkLoadDetails::AddManagedNode(
@@ -98,6 +104,7 @@ void BookmarkLoadDetails::AddManagedNode(
CHECK_NE(bb_node_->id(), 0);
CHECK_NE(other_folder_node_->id(), 0);
CHECK_NE(mobile_folder_node_->id(), 0);
+ CHECK_NE(tabs_collection_folder_node_->id(), 0);
has_managed_node_ = true;
root_node_->Add(std::move(managed_node));
@@ -105,8 +112,8 @@ void BookmarkLoadDetails::AddManagedNode(
void BookmarkLoadDetails::CreateIndices() { void BookmarkLoadDetails::CreateIndices() {
local_or_syncable_uuid_index_.insert(root_node_.get()); local_or_syncable_uuid_index_.insert(root_node_.get());
@@ -624,18 +597,10 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/
for (const auto& child : root_node_->children()) { for (const auto& child : root_node_->children()) {
if (child.get() == account_bb_node_ || if (child.get() == account_bb_node_ ||
child.get() == account_other_folder_node_ || child.get() == account_other_folder_node_ ||
@@ -125,6 +132,7 @@ void BookmarkLoadDetails::ResetPermanentNodePointers() {
bb_node_ = nullptr;
other_folder_node_ = nullptr;
mobile_folder_node_ = nullptr;
+ tabs_collection_folder_node_ = nullptr;
account_bb_node_ = nullptr;
account_other_folder_node_ = nullptr;
account_mobile_folder_node_ = nullptr;
diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/bookmarks/browser/bookmark_load_details.h diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/bookmarks/browser/bookmark_load_details.h
--- a/components/bookmarks/browser/bookmark_load_details.h --- a/components/bookmarks/browser/bookmark_load_details.h
+++ b/components/bookmarks/browser/bookmark_load_details.h +++ b/components/bookmarks/browser/bookmark_load_details.h
@@ -40,6 +40,7 @@ class BookmarkLoadDetails { @@ -39,6 +39,7 @@ class BookmarkLoadDetails {
BookmarkPermanentNode* bb_node() { return bb_node_; } BookmarkPermanentNode* bb_node() { return bb_node_; }
BookmarkPermanentNode* mobile_folder_node() { return mobile_folder_node_; } BookmarkPermanentNode* mobile_folder_node() { return mobile_folder_node_; }
BookmarkPermanentNode* other_folder_node() { return other_folder_node_; } BookmarkPermanentNode* other_folder_node() { return other_folder_node_; }
@@ -643,7 +608,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
// Account permanent nodes (null unless `AddAccountPermanentNodes()` is // Account permanent nodes (null unless `AddAccountPermanentNodes()` is
// called). // called).
@@ -151,6 +152,7 @@ class BookmarkLoadDetails { @@ -138,6 +139,7 @@ class BookmarkLoadDetails {
raw_ptr<BookmarkPermanentNode> bb_node_; raw_ptr<BookmarkPermanentNode> bb_node_;
raw_ptr<BookmarkPermanentNode> other_folder_node_; raw_ptr<BookmarkPermanentNode> other_folder_node_;
raw_ptr<BookmarkPermanentNode> mobile_folder_node_; raw_ptr<BookmarkPermanentNode> mobile_folder_node_;
@@ -654,7 +619,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 diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
--- a/components/bookmarks/browser/bookmark_model.cc --- a/components/bookmarks/browser/bookmark_model.cc
+++ b/components/bookmarks/browser/bookmark_model.cc +++ b/components/bookmarks/browser/bookmark_model.cc
@@ -912,7 +912,7 @@ bool BookmarkModel::HasBookmarks() const { @@ -846,7 +846,7 @@ bool BookmarkModel::HasBookmarks() const {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() const { bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() && return bookmark_bar_node_->children().empty() &&
@@ -663,7 +628,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
} }
bool BookmarkModel::IsBookmarked(const GURL& url) const { bool BookmarkModel::IsBookmarked(const GURL& url) const {
@@ -1244,6 +1244,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) { @@ -1191,6 +1191,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
bookmark_bar_node_ = details->bb_node(); bookmark_bar_node_ = details->bb_node();
other_node_ = details->other_folder_node(); other_node_ = details->other_folder_node();
mobile_node_ = details->mobile_folder_node(); mobile_node_ = details->mobile_folder_node();
@@ -674,7 +639,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h
--- a/components/bookmarks/browser/bookmark_model.h --- a/components/bookmarks/browser/bookmark_model.h
+++ b/components/bookmarks/browser/bookmark_model.h +++ b/components/bookmarks/browser/bookmark_model.h
@@ -157,6 +157,12 @@ class BookmarkModel : public CoreBookmarkModel, @@ -159,6 +159,12 @@ class BookmarkModel final : public BookmarkUndoProvider,
// bookmarks in the account storage). // bookmarks in the account storage).
const BookmarkNode* account_mobile_node() const; const BookmarkNode* account_mobile_node() const;
@@ -687,7 +652,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
bool is_root_node(const BookmarkNode* node) const { bool is_root_node(const BookmarkNode* node) const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return node == root_; return node == root_;
@@ -635,6 +641,7 @@ class BookmarkModel : public CoreBookmarkModel, @@ -619,6 +625,7 @@ class BookmarkModel final : public BookmarkUndoProvider,
raw_ptr<BookmarkPermanentNode> account_bookmark_bar_node_ = nullptr; raw_ptr<BookmarkPermanentNode> account_bookmark_bar_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> account_other_node_ = nullptr; raw_ptr<BookmarkPermanentNode> account_other_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> account_mobile_node_ = nullptr; raw_ptr<BookmarkPermanentNode> account_mobile_node_ = nullptr;
@@ -734,7 +699,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
MOBILE MOBILE
}; };
@@ -236,6 +237,8 @@ class BookmarkPermanentNode : public BookmarkNode { @@ -231,6 +232,8 @@ class BookmarkPermanentNode : public BookmarkNode {
int64_t id); int64_t id);
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks( static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
int64_t id); int64_t id);
@@ -808,7 +773,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
&sync_metadata_str)) { &sync_metadata_str)) {
ids_assigned_to_account_nodes = codec.release_assigned_ids(); ids_assigned_to_account_nodes = codec.release_assigned_ids();
@@ -122,7 +125,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks( @@ -110,7 +113,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
if (root_dict.has_value() && if (root_dict.has_value() &&
codec.Decode(*root_dict, std::move(ids_assigned_to_account_nodes), codec.Decode(*root_dict, std::move(ids_assigned_to_account_nodes),
details->bb_node(), details->other_folder_node(), details->bb_node(), details->other_folder_node(),
@@ -29,7 +29,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml
@@ -107,6 +107,9 @@ found in the LICENSE file. @@ -113,6 +113,9 @@ found in the LICENSE file.
<item android:id="@+id/add_to_homescreen_id" <item android:id="@+id/add_to_homescreen_id"
android:title="@string/menu_add_to_homescreen" android:title="@string/menu_add_to_homescreen"
android:icon="@drawable/ic_add_to_home_screen" /> android:icon="@drawable/ic_add_to_home_screen" />
@@ -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 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -2986,6 +2986,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -2976,6 +2976,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER); NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
} }
RecordUserAction.record("MobileMenuDownloadManager"); 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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -2722,6 +2722,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent> @@ -2729,6 +2729,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return doOpenWebApk(currentTab); return doOpenWebApk(currentTab);
} }
@@ -69,15 +69,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -576,6 +576,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate @@ -585,6 +585,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
isNativePage, isFileScheme, isContentScheme, isIncognito, url)); isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isNativePage); updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
+ updateViewSourceMenuItem(menu, currentTab); + updateViewSourceMenuItem(menu, currentTab);
updateAutoDarkMenuItem(menu, currentTab, isNativePage); updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
@@ -1286,6 +1287,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate @@ -1236,6 +1237,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
} }
} }
@@ -104,10 +104,10 @@ 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/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -294,6 +294,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat @@ -295,6 +295,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
updateRequestDesktopSiteMenuItem( updateRequestDesktopSiteMenuItem(
menu, currentTab, requestDesktopSiteVisible, isNativePage); menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
+ updateViewSourceMenuItem(menu, currentTab); + updateViewSourceMenuItem(menu, currentTab);
prepareAddToHomescreenMenuItem(menu, currentTab, addToHomeScreenVisible); prepareAddToHomescreenMenuItem(menu, currentTab, addToHomeScreenVisible);
} }
@@ -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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -319,6 +319,10 @@ CHAR_LIMIT guidelines: @@ -317,6 +317,10 @@ CHAR_LIMIT guidelines:
USB USB
</message> </message>
@@ -8,15 +8,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../tasks/tab_management/TabProperties.java | 5 +++ .../tasks/tab_management/TabProperties.java | 5 +++
.../java/res/xml/privacy_preferences.xml | 5 +++ .../java/res/xml/privacy_preferences.xml | 5 +++
.../chrome/browser/app/ChromeActivity.java | 3 +- .../chrome/browser/app/ChromeActivity.java | 3 +-
.../layouts/content/TabContentManager.java | 7 +++-
.../privacy/settings/PrivacySettings.java | 42 ++++++++++++++++++- .../privacy/settings/PrivacySettings.java | 42 ++++++++++++++++++-
.../browser/tab_ui/TabContentManager.java | 6 ++-
.../strings/android_chrome_strings.grd | 8 ++++ .../strings/android_chrome_strings.grd | 8 ++++
7 files changed, 72 insertions(+), 7 deletions(-) 7 files changed, 73 insertions(+), 7 deletions(-)
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 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 --- 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 +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
@@ -330,9 +330,12 @@ class TabGridViewBinder { @@ -327,9 +327,12 @@ class TabGridViewBinder {
// Adjust bitmap to thumbnail. // Adjust bitmap to thumbnail.
TabUtils.setBitmapAndUpdateImageMatrix(thumbnail, result, thumbnailSize); TabUtils.setBitmapAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
} else if (isMostRecentRequest) { } else if (isMostRecentRequest) {
@@ -32,7 +32,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
} }
}; };
if (sThumbnailFetcherForTesting != null) { if (sThumbnailFetcherForTesting != null) {
@@ -371,6 +374,7 @@ class TabGridViewBinder { @@ -368,6 +371,7 @@ class TabGridViewBinder {
ViewLookupCachingFrameLayout rootView, ViewLookupCachingFrameLayout rootView,
PropertyModel model, PropertyModel model,
TabListFaviconProvider.TabFavicon favicon) { TabListFaviconProvider.TabFavicon favicon) {
@@ -43,7 +43,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/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
@@ -64,6 +64,9 @@ public class TabProperties { @@ -63,6 +63,9 @@ public class TabProperties {
public static final WritableBooleanPropertyKey FAVICON_FETCHED = public static final WritableBooleanPropertyKey FAVICON_FETCHED =
new WritableBooleanPropertyKey(); new WritableBooleanPropertyKey();
@@ -53,15 +53,15 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
/** Property for lazily fetching favicons when required by an item in a UI. */ /** Property for lazily fetching favicons when required by an item in a UI. */
public static final WritableObjectPropertyKey<TabListFaviconProvider.TabFaviconFetcher> public static final WritableObjectPropertyKey<TabListFaviconProvider.TabFaviconFetcher>
FAVICON_FETCHER = new WritableObjectPropertyKey<>(); FAVICON_FETCHER = new WritableObjectPropertyKey<>();
@@ -165,6 +168,7 @@ public class TabProperties { @@ -160,6 +163,7 @@ public class TabProperties {
CARD_TYPE, CARD_TYPE,
CONTENT_DESCRIPTION_STRING, CONTENT_DESCRIPTION_STRING,
CLOSE_BUTTON_DESCRIPTION_STRING, CLOSE_BUTTON_DESCRIPTION_STRING,
+ FAVICON, + FAVICON,
SHOPPING_PERSISTED_TAB_DATA_FETCHER, SHOPPING_PERSISTED_TAB_DATA_FETCHER,
SHOULD_SHOW_PRICE_DROP_TOOLTIP, SHOULD_SHOW_PRICE_DROP_TOOLTIP,
QUICK_DELETE_ANIMATION_STATUS, QUICK_DELETE_ANIMATION_STATUS
@@ -178,6 +182,7 @@ public class TabProperties { @@ -172,6 +176,7 @@ public class TabProperties {
TAB_CLOSED_LISTENER, TAB_CLOSED_LISTENER,
FAVICON_FETCHED, FAVICON_FETCHED,
FAVICON_FETCHER, FAVICON_FETCHER,
@@ -72,7 +72,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 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 --- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -65,6 +65,11 @@ found in the LICENSE file. @@ -54,6 +54,11 @@ found in the LICENSE file.
android:title="@string/open_external_links_incognito_title" android:title="@string/open_external_links_incognito_title"
android:summary="@string/open_external_links_incognito_summary" android:summary="@string/open_external_links_incognito_summary"
android:defaultValue="false" /> android:defaultValue="false" />
@@ -87,15 +87,15 @@ 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/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -144,6 +144,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; @@ -145,6 +145,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.printing.TabPrinter; import org.chromium.chrome.browser.printing.TabPrinter;
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings; +import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileProvider;
import org.chromium.chrome.browser.readaloud.ReadAloudController; import org.chromium.chrome.browser.readaloud.ReadAloudController;
@@ -730,7 +731,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent> import org.chromium.chrome.browser.selection.SelectionPopupBackPressHandler;
@@ -704,7 +705,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
new TabContentManager( new TabContentManager(
this, this,
mBrowserControlsManagerSupplier.get(), mBrowserControlsManagerSupplier.get(),
@@ -104,10 +104,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
tabModelSelector != null ? tabModelSelector::getTabById : null)); tabModelSelector != null ? tabModelSelector::getTabById : null));
getBrowserControlsManager() getBrowserControlsManager()
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
@@ -326,11 +326,14 @@ public class TabContentManager {
*/
public void getTabThumbnailWithCallback(
@NonNull int tabId,
- @NonNull Size thumbnailSize,
+ @NonNull Size thumbnailSize, //
@NonNull Callback<Bitmap> callback,
boolean forceUpdate,
boolean writeBack) {
- if (!mSnapshotsEnabled) return;
+ if (!mSnapshotsEnabled) {
+ callback.onResult(null);
+ return;
+ }
// TODO(crbug/1444782): Remove forceUpdate and writeBack params once the following features
// launch:
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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -68,12 +68,25 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; @@ -66,12 +66,25 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -134,7 +154,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_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_PRELOAD_PAGES = "preload_pages"; private static final String PREF_PRELOAD_PAGES = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode"; private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
@@ -155,6 +168,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -140,6 +153,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
} }
} }
@@ -156,7 +176,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE); Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
// Record the launch of PG from the S&P link-row entry point // Record the launch of PG from the S&P link-row entry point
privacyGuidePreference.setOnPreferenceClickListener( privacyGuidePreference.setOnPreferenceClickListener(
@@ -345,6 +373,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -321,6 +349,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents"; 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"; public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
@@ -164,7 +184,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -370,6 +399,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -346,6 +375,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit(); SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue); sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
sharedPreferencesEditor.apply(); sharedPreferencesEditor.apply();
@@ -178,7 +198,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
} }
return true; return true;
} }
@@ -418,6 +454,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -386,6 +422,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
: R.string.text_off); : R.string.text_off);
} }
@@ -189,26 +209,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference refererPolicyPref = findPreference(PREF_REFERER_POLICY); Preference refererPolicyPref = findPreference(PREF_REFERER_POLICY);
refererPolicyPref.setSummary( refererPolicyPref.setSummary(
RefererSettingsFragment.getRefererSummaryString(getContext())); RefererSettingsFragment.getRefererSummaryString(getContext()));
diff --git a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java b/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java
--- a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java
+++ b/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java
@@ -328,8 +328,10 @@ public class TabContentManager {
@NonNull Callback<Bitmap> callback,
boolean forceUpdate,
boolean writeBack) {
- if (!mSnapshotsEnabled) return;
-
+ if (!mSnapshotsEnabled) {
+ callback.onResult(null);
+ return;
+ }
// TODO(crbug/1444782): Remove forceUpdate and writeBack params once the following features
// launch:
// * GridTabSwitcherAndroidAnimations
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -5436,6 +5436,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da @@ -5371,6 +5371,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow. Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
</message> </message>
+75 -536
View File
@@ -1,208 +1,30 @@
From: uazo <uazo@users.noreply.github.com> From: Wengling Chen <feiyu2817@gmail.com>
Date: Sun, 5 May 2024 09:34:39 +0000 Date: Mon, 1 Feb 2021 19:18:55 +0200
Subject: Add option to force tablet UI Subject: Add option to force tablet UI
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
--- ---
.../start_surface/StartSurfaceMediator.java | 5 +++- .../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
.../layout/custom_tabs_control_container.xml | 2 +- .../browser/tasks/ReturnToChromeUtil.java | 4 +++-
.../java/res/layout/recent_tabs_page.xml | 2 +- .../chrome/browser/ui/RootUiCoordinator.java | 5 ++++-
.../java/res/values-sw600dp/dimens.xml | 4 +--
chrome/android/java/res/values/dimens.xml | 6 +++-
.../chrome/browser/ChromeTabbedActivity.java | 4 ++-
.../chrome/browser/WarmupManager.java | 5 +++-
.../settings/AccessibilitySettings.java | 13 +++++++++
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++
.../chrome/browser/app/ChromeActivity.java | 4 ++-
.../overlays/strip/StripLayoutHelper.java | 10 +++++--
.../strip/StripLayoutHelperManager.java | 7 ++++-
.../browser/tasks/ReturnToChromeUtil.java | 4 ++-
.../chrome/browser/ui/RootUiCoordinator.java | 5 +++-
chrome/browser/preferences/BUILD.gn | 1 + chrome/browser/preferences/BUILD.gn | 1 +
.../preferences/ChromePreferenceKeys.java | 1 + .../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/ChromeSharedPreferences.java | 8 ++++++ .../preferences/ChromeSharedPreferences.java | 8 ++++++++
.../LegacyChromePreferenceKeys.java | 1 + .../LegacyChromePreferenceKeys.java | 1 +
.../SingleTabSwitcherOnNtpMediator.java | 3 +-
.../omnibox/LocationBarCoordinator.java | 2 +- .../omnibox/LocationBarCoordinator.java | 2 +-
.../strings/android_chrome_strings.grd | 7 +++++ .../strings/android_chrome_strings.grd | 7 +++++++
.../java/res/layout/control_container.xml | 12 ++++---- components/BUILD.gn | 6 +++---
.../java/res/layout/toolbar_tablet.xml | 2 +- .../res/xml/accessibility_preferences.xml | 5 +++++
.../java/res/values-sw600dp/dimens.xml | 5 ++-- .../accessibility/AccessibilitySettings.java | 10 ++++++++++
.../toolbar/java/res/values/dimens.xml | 5 ++-- .../AccessibilitySettingsDelegate.java | 2 ++
.../browser/toolbar/ControlContainer.java | 2 +- .../chromium/ui/base/DeviceFormFactor.java | 6 ++++++
.../browser/toolbar/ToolbarFeatures.java | 4 ++- 14 files changed, 71 insertions(+), 6 deletions(-)
.../top/TabStripTransitionCoordinator.java | 2 +-
.../toolbar/top/ToolbarControlContainer.java | 28 ++++++++++++++++++-
.../browser/toolbar/top/ToolbarLayout.java | 5 +++-
components/BUILD.gn | 6 ++--
.../res/xml/accessibility_preferences.xml | 5 ++++
.../AccessibilitySettingsDelegate.java | 11 ++++++++
.../chromium/ui/base/DeviceFormFactor.java | 9 ++++++
34 files changed, 174 insertions(+), 35 deletions(-)
diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
+++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
@@ -100,6 +100,7 @@ import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
import org.chromium.components.embedder_support.util.UrlUtilities;
import org.chromium.components.prefs.PrefService;
import org.chromium.content_public.browser.LoadUrlParams;
+import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.text.EmptyTextWatcher;
import org.chromium.ui.util.ColorUtils;
@@ -1134,7 +1135,9 @@ class StartSurfaceMediator
int getTopToolbarPlaceholderHeight() {
// If logo is visible in Start surface instead of in the toolbar, we don't need to show the
// top margin of the fake search box.
- return getPixelSize(R.dimen.control_container_height)
+ return DeviceFormFactor.isForceTabletUI()
+ ? getPixelSize(R.dimen.control_container_height_tabletui)
+ : getPixelSize(R.dimen.control_container_height_cromite)
+ (isLogoVisible()
? 0
: getPixelSize(R.dimen.start_surface_fake_search_box_top_margin));
diff --git a/chrome/android/java/res/layout/custom_tabs_control_container.xml b/chrome/android/java/res/layout/custom_tabs_control_container.xml
--- a/chrome/android/java/res/layout/custom_tabs_control_container.xml
+++ b/chrome/android/java/res/layout/custom_tabs_control_container.xml
@@ -32,7 +32,7 @@ found in the LICENSE file.
android:id="@+id/find_toolbar_stub"
android:inflatedId="@+id/find_toolbar"
android:visibility="gone"
- android:layout_marginTop="@dimen/tab_strip_height"
+ android:layout_marginTop="@dimen/tab_strip_height_cromite"
android:layout_width="match_parent"
android:layout_height="@dimen/custom_tabs_control_container_height"
android:layout="@layout/find_toolbar" />
diff --git a/chrome/android/java/res/layout/recent_tabs_page.xml b/chrome/android/java/res/layout/recent_tabs_page.xml
--- a/chrome/android/java/res/layout/recent_tabs_page.xml
+++ b/chrome/android/java/res/layout/recent_tabs_page.xml
@@ -11,7 +11,7 @@ found in the LICENSE file.
android:id="@+id/history_navigation"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:paddingTop="@dimen/tab_strip_height" >
+ android:paddingTop="@dimen/tab_strip_height_cromite" >
<org.chromium.chrome.browser.ntp.NativePageRootFrameLayout
android:id="@+id/recent_tabs_root"
diff --git a/chrome/android/java/res/values-sw600dp/dimens.xml b/chrome/android/java/res/values-sw600dp/dimens.xml
--- a/chrome/android/java/res/values-sw600dp/dimens.xml
+++ b/chrome/android/java/res/values-sw600dp/dimens.xml
@@ -14,8 +14,8 @@ found in the LICENSE file.
<dimen name="compositor_tab_title_text_size">14sp</dimen>
<!-- Full Screen Dimensions -->
- <dimen name="control_container_height">96dp</dimen>
- <dimen name="custom_tabs_control_container_height">64dp</dimen>
+ <dimen name="control_container_height_cromite">96dp</dimen>
+ <dimen name="control_container_height_tabletui">96dp</dimen>
<!-- NTP dimensions -->
<dimen name="ntp_search_box_transition_length">60dp</dimen>
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
--- a/chrome/android/java/res/values/dimens.xml
+++ b/chrome/android/java/res/values/dimens.xml
@@ -123,9 +123,13 @@ found in the LICENSE file.
<dimen name="tab_modal_scrim_vertical_margin">16dp</dimen>
<!-- Should match toolbar_height_no_shadow -->
- <dimen name="control_container_height">56dp</dimen>
+ <dimen name="control_container_height_cromite">56dp</dimen>
+ <dimen name="control_container_height_tabletui">96dp</dimen>
<dimen name="custom_tabs_control_container_height">56dp</dimen>
+ <!-- The combined height of the tab strip and toolbar. -->
+ <dimen name="tab_strip_and_toolbar_height_cromite">56dp</dimen>
+
<!-- Find in Page dimensions -->
<dimen name="find_in_page_popup_width">375dp</dimen>
<dimen name="find_in_page_popup_height">60dp</dimen>
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
@@ -2265,7 +2265,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@Override
public int getControlContainerHeightResource() {
- return R.dimen.control_container_height;
+ if (DeviceFormFactor.isForceTabletUI())
+ return R.dimen.control_container_height_tabletui;
+ return R.dimen.control_container_height_cromite;
}
@Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
@@ -51,6 +51,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.browser.WebContentsObserver;
import org.chromium.ui.LayoutInflaterUtils;
+import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.display.DisplayUtil;
@@ -384,7 +385,9 @@ public class WarmupManager {
(ControlContainer) mainView.findViewById(R.id.control_container);
if (toolbarId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
- controlContainer.initWithToolbar(toolbarId);
+ controlContainer.initWithToolbar(toolbarId,
+ DeviceFormFactor.isForceTabletUI()
+ ? R.dimen.control_container_height_tabletui : 0);
}
return mainView;
} catch (InflateException e) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
@@ -17,6 +17,7 @@ import org.chromium.chrome.browser.image_descriptions.ImageDescriptionsControlle
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate;
+import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate.BooleanPreferenceDelegate;
import org.chromium.components.browser_ui.accessibility.FontSizePrefs;
import org.chromium.components.browser_ui.accessibility.FontSizePrefs.FontSizePrefsObserver;
import org.chromium.components.browser_ui.accessibility.PageZoomPreference;
@@ -46,6 +47,9 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
public static final String PREF_ZOOM_INFO = "zoom_info";
public static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions";
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
+
private TextScalePreference mTextScalePref;
private PageZoomPreference mPageZoomDefaultZoomPref;
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
@@ -143,6 +147,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
mPrefService.getBoolean(Pref.READER_FOR_ACCESSIBILITY));
readerForAccessibilityPref.setOnPreferenceChangeListener(this);
+ ChromeSwitchPreference forceTabletUiPref =
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_TABLET_UI);
+ mForceTabletUIDelegate = mDelegate.getForceTabletUIDelegate();
+ forceTabletUiPref.setChecked(mForceTabletUIDelegate.isEnabled());
+ forceTabletUiPref.setOnPreferenceChangeListener(this);
+
Preference captions = findPreference(PREF_CAPTIONS);
captions.setOnPreferenceClickListener(
preference -> {
@@ -214,6 +224,9 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
+ } else if (PREF_FORCE_TABLET_UI.equals(preference.getKey())) {
+ mForceTabletUIDelegate.setEnabled((Boolean) newValue);
+ mDelegate.requestRestart(getActivity());
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
mPrefService.setBoolean(Pref.READER_FOR_ACCESSIBILITY, (Boolean) newValue);
} else if (PREF_PAGE_ZOOM_DEFAULT_ZOOM.equals(preference.getKey())) {
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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@@ -38,6 +38,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting @@ -94,6 +94,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
} return new TextSizeContrastAccessibilityDelegate(getBrowserContextHandle());
} }
+ private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate { + private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate {
@@ -224,84 +46,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+ return new ForceTabletUIDelegate(); + return new ForceTabletUIDelegate();
+ } + }
+ +
private final Profile mProfile; @Override
public void addExtraPreferences(PreferenceFragmentCompat fragment) {
/** if (ImageDescriptionsController.getInstance().shouldShowImageDescriptionsMenuItem()) {
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
@@ -874,7 +874,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
// Inflate the correct toolbar layout for the device.
int toolbarLayoutId = getToolbarLayoutId();
if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
- controlContainer.initWithToolbar(toolbarLayoutId);
+ controlContainer.initWithToolbar(toolbarLayoutId,
+ DeviceFormFactor.isForceTabletUI()
+ ? R.dimen.control_container_height_tabletui : 0);
}
onInitialLayoutInflationComplete();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
@@ -69,6 +69,7 @@ import org.chromium.chrome.browser.tasks.tab_management.TabUiThemeUtil;
import org.chromium.components.browser_ui.styles.ChromeColors;
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
import org.chromium.components.tab_groups.TabGroupColorId;
+import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.LocalizationUtils;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.interpolators.Interpolators;
@@ -4576,8 +4577,13 @@ public class StripLayoutHelper implements StripLayoutTab.StripLayoutTabDelegate
mTabMenu.setAnchorView(tabView);
// 3. Set the vertical offset to align the tab menu with bottom of the tab strip
int tabHeight = mManagerHost.getHeight();
- int verticalOffset =
- -(tabHeight - (int) mContext.getResources().getDimension(R.dimen.tab_strip_height));
+ int tab_strip_height =
+ (int) mContext.getResources().getDimension(R.dimen.tab_strip_height_cromite);
+ if (DeviceFormFactor.isForceTabletUI()) {
+ tab_strip_height =
+ (int) mContext.getResources().getDimension(R.dimen.tab_strip_height_tabletui);
+ }
+ int verticalOffset = -(tabHeight - tab_strip_height);
mTabMenu.setVerticalOffset(verticalOffset);
// 4. Set the horizontal offset to align the tab menu with the right side of the tab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
@@ -77,6 +77,7 @@ import org.chromium.chrome.browser.ui.system.StatusBarColorController;
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
import org.chromium.components.browser_ui.widget.scrim.ScrimProperties;
import org.chromium.content_public.browser.LoadUrlParams;
+import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.LocalizationUtils;
import org.chromium.ui.base.PageTransition;
import org.chromium.ui.base.WindowAndroid;
@@ -396,11 +397,15 @@ public class StripLayoutHelperManager
mIsLayoutOptimizationsEnabled =
ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(true);
- mScrollableStripHeight = res.getDimension(R.dimen.tab_strip_height) / mDensity;
+ mScrollableStripHeight =
+ (DeviceFormFactor.isForceTabletUI()
+ ? res.getDimension(R.dimen.tab_strip_height_tabletui)
+ : res.getDimension(R.dimen.tab_strip_height_cromite)) / mDensity;
mHeight =
mIsLayoutOptimizationsEnabled
? toolbarManager.getTabStripHeightSupplier().get() / mDensity
: mScrollableStripHeight;
+
mTopPadding = mHeight - mScrollableStripHeight;
CompositorOnClickHandler selectorClickHandler = time -> handleModelSelectorButtonClick();
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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
@@ -933,7 +933,9 @@ public final class ReturnToChromeUtil { @@ -979,7 +979,9 @@ public final class ReturnToChromeUtil {
// TODO(b/331667743): Clean up the flag for scrollable mvt while cleaning up surface polish
// code. public static boolean isScrollableMvtEnabled(Context context) {
boolean isSurfacePolishEnabled = ChromeFeatureList.sSurfacePolish.isEnabled(); boolean isSurfacePolishEnabled = ChromeFeatureList.sSurfacePolish.isEnabled();
- if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(context)) { - if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(context)) {
+ if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(context) || + if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(context) ||
@@ -313,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC
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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
@@ -97,6 +97,7 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; @@ -98,6 +98,7 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
@@ -321,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController; import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileManager;
@@ -1630,7 +1631,9 @@ public class RootUiCoordinator @@ -1595,7 +1596,9 @@ public class RootUiCoordinator
if (!mSupportsFindInPageSupplier.getAsBoolean()) return; if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
int stubId = R.id.find_toolbar_stub; int stubId = R.id.find_toolbar_stub;
@@ -346,7 +99,7 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU
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 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 --- 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 +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -264,6 +264,7 @@ public final class ChromePreferenceKeys { @@ -270,6 +270,7 @@ public final class ChromePreferenceKeys {
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM; AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info"; public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
@@ -357,16 +110,16 @@ 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/ChromeSharedPreferences.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java
@@ -12,6 +12,8 @@ import org.chromium.base.shared_preferences.SharedPreferencesManager; @@ -11,6 +11,8 @@ import org.chromium.base.shared_preferences.PreferenceKeyRegistry;
import org.chromium.base.shared_preferences.SharedPreferencesManager;
import org.chromium.build.BuildConfig; import org.chromium.build.BuildConfig;
import org.chromium.build.annotations.AssumeNonNull;
+import org.chromium.ui.base.DeviceFormFactor; +import org.chromium.ui.base.DeviceFormFactor;
+ +
@JNINamespace("android::shared_preferences") @JNINamespace("android::shared_preferences")
public class ChromeSharedPreferences { public class ChromeSharedPreferences {
public static final PreferenceKeyRegistry REGISTRY = public static final PreferenceKeyRegistry REGISTRY =
@@ -23,6 +25,12 @@ public class ChromeSharedPreferences { @@ -22,6 +24,12 @@ public class ChromeSharedPreferences {
LegacyChromePreferenceKeys.getPrefixesInUse()) LegacyChromePreferenceKeys.getPrefixesInUse())
: null); : null);
@@ -390,30 +143,10 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
ChromePreferenceKeys.FONT_USER_SET_FORCE_ENABLE_ZOOM, ChromePreferenceKeys.FONT_USER_SET_FORCE_ENABLE_ZOOM,
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO, ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
ChromePreferenceKeys.HOMEPAGE_ENABLED, ChromePreferenceKeys.HOMEPAGE_ENABLED,
diff --git a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
--- a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
+++ b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
@@ -40,6 +40,7 @@ import org.chromium.components.browser_ui.widget.displaystyle.HorizontalDisplayS
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig.DisplayStyle;
import org.chromium.components.embedder_support.util.UrlUtilities;
+import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.url.GURL;
@@ -90,7 +91,7 @@ public class SingleTabSwitcherOnNtpMediator implements ConfigurationChangedObser
mSingleTabCardClickedCallback = singleTabCardClickedCallback;
mIsSurfacePolishEnabled = tabContentManager != null;
mUiConfig = uiConfig;
- mIsTablet = isTablet;
+ mIsTablet = isTablet && !DeviceFormFactor.isForceTabletUI();
mModuleDelegate = moduleDelegate;
mMarginNarrowWindowOnTablet =
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 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 --- 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 +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
@@ -768,7 +768,7 @@ public class LocationBarCoordinator @@ -771,7 +771,7 @@ public class LocationBarCoordinator
} }
private boolean isTabletWindow() { private boolean isTabletWindow() {
@@ -425,8 +158,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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1618,6 +1618,13 @@ Your Google account may have other forms of browsing history like searches and a @@ -1564,6 +1564,13 @@ Your Google account may have other forms of browsing history like searches and a
Hide your IP address Manage third-party cookies and tracking protections
</message> </message>
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI."> + <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
@@ -439,215 +172,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Safety check --> <!-- 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]"> <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]">
Safety check Safety check
diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container.xml b/chrome/browser/ui/android/toolbar/java/res/layout/control_container.xml
--- a/chrome/browser/ui/android/toolbar/java/res/layout/control_container.xml
+++ b/chrome/browser/ui/android/toolbar/java/res/layout/control_container.xml
@@ -9,7 +9,7 @@ found in the LICENSE file.
android:id="@+id/control_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:minHeight="@dimen/control_container_height" >
+ android:minHeight="@dimen/control_container_height_cromite" >
<view
class="org.chromium.chrome.browser.toolbar.top.ToolbarControlContainer$ToolbarViewResourceFrameLayout"
@@ -20,7 +20,7 @@ found in the LICENSE file.
<ViewStub
android:id="@+id/toolbar_stub"
android:layout_width="match_parent"
- android:layout_marginTop="@dimen/tab_strip_height"
+ android:layout_marginTop="@dimen/tab_strip_height_cromite"
android:layout_height="@dimen/toolbar_height_no_shadow" />
<ImageView
@@ -28,7 +28,7 @@ found in the LICENSE file.
android:src="@drawable/toolbar_hairline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/control_container_height"
+ android:layout_marginTop="@dimen/control_container_height_cromite"
android:scaleType="fitXY"
android:importantForAccessibility="no" />
@@ -36,7 +36,7 @@ found in the LICENSE file.
android:id="@+id/find_toolbar_stub"
android:inflatedId="@+id/find_toolbar"
android:visibility="gone"
- android:layout_marginTop="@dimen/tab_strip_height"
+ android:layout_marginTop="@dimen/tab_strip_height_cromite"
android:layout_width="match_parent"
android:layout_height="@dimen/toolbar_height_no_shadow"
android:layout="@layout/find_toolbar" />
@@ -55,14 +55,14 @@ found in the LICENSE file.
android:id="@+id/target_view_stub"
android:inflatedId="@+id/toolbar_drag_drop_target_view"
android:layout_width="match_parent"
- android:layout_marginTop="@dimen/tab_strip_height"
+ android:layout_marginTop="@dimen/tab_strip_height_cromite"
android:layout_height="@dimen/toolbar_height_no_shadow"
android:layout="@layout/drag_drop_target_view" />
<ViewStub
android:id="@+id/tab_switcher_toolbar_stub"
android:layout_width="match_parent"
- android:layout_marginTop="@dimen/tab_strip_height"
+ android:layout_marginTop="@dimen/tab_strip_height_cromite"
android:layout_height="@dimen/toolbar_height_no_shadow"
android:inflatedId="@+id/tab_switcher_toolbar"
android:layout="@layout/tab_switcher_toolbar" />
diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
--- a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
+++ b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
@@ -15,7 +15,7 @@ found in the LICENSE file.
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="@dimen/toolbar_height_no_shadow"
- android:layout_marginTop="@dimen/tab_strip_height"
+ android:layout_marginTop="@dimen/tab_strip_height_tabletui"
android:background="@macro/default_bg_color"
>
diff --git a/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml b/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml
--- a/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml
+++ b/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml
@@ -7,6 +7,7 @@ found in the LICENSE file.
<resources>
<!-- Tab Strip Dimensions -->
- <dimen name="tab_strip_height">40dp</dimen>
- <dimen name="tab_strip_reserved_top_padding">2dp</dimen>
+ <dimen name="tab_strip_height_cromite">40dp</dimen>
+ <dimen name="tab_strip_height_tabletui">40dp</dimen>
+ <dimen name="tab_strip_reserved_top_padding_cromite">2dp</dimen>
</resources>
diff --git a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml b/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml
--- a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml
+++ b/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml
@@ -10,8 +10,9 @@ found in the LICENSE file.
<dimen name="toolbar_tab_count_text_size_2_digit">10dp</dimen>
<!-- Tab Strip Dimensions -->
- <dimen name="tab_strip_height">0dp</dimen>
- <dimen name="tab_strip_reserved_top_padding">0dp</dimen>
+ <dimen name="tab_strip_height_cromite">0dp</dimen>
+ <dimen name="tab_strip_height_tabletui">40dp</dimen>
+ <dimen name="tab_strip_reserved_top_padding_cromite">0dp</dimen>
<!-- Negative vertical inset added to the search box bounds when modern is enabled. 4dp is added
to both the top and bottom bounds to bring the 48dp modern_toolbar_background_size to 56dp
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
@@ -20,7 +20,7 @@ public interface ControlContainer {
* Initialize the control container with the specified toolbar.
* @param toolbarLayoutId The ID of the toolbar layout to use.
*/
- void initWithToolbar(int toolbarLayoutId);
+ void initWithToolbar(int toolbarLayoutId, int controlContainerHeightOverrideId);
/**
* @return The {@link ViewResourceAdapter} that exposes this {@link View} as a CC resource.
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ToolbarFeatures.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ToolbarFeatures.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ToolbarFeatures.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ToolbarFeatures.java
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.toolbar;
import androidx.annotation.OptIn;
import androidx.core.os.BuildCompat;
+import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.base.ResettersForTesting;
import org.chromium.base.cached_flags.BooleanCachedFieldTrialParameter;
import org.chromium.base.cached_flags.IntCachedFieldTrialParameter;
@@ -71,7 +72,8 @@ public final class ToolbarFeatures {
* is enabled.
*/
public static boolean isDynamicTopChromeEnabled() {
- return ChromeFeatureList.sDynamicTopChrome.isEnabled();
+ return ChromeFeatureList.sDynamicTopChrome.isEnabled()
+ && !DeviceFormFactor.isForceTabletUI();
}
/** Returns if we are using optimized window layout for tab strip. */
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java
@@ -144,7 +144,7 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks {
mTabStripReservedTopPadding =
controlContainerView()
.getResources()
- .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding);
+ .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding_cromite);
mOnLayoutChangedListener =
(view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
@@ -5,6 +5,7 @@
package org.chromium.chrome.browser.toolbar.top;
import android.content.Context;
+import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.PorterDuff;
import android.graphics.Rect;
@@ -112,8 +113,33 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
}
@Override
- public void initWithToolbar(int toolbarLayoutId) {
+ public void initWithToolbar(int toolbarLayoutId, int controlContainerHeightOverrideId) {
try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) {
+ if (controlContainerHeightOverrideId != 0) {
+ Resources res = getContext().getResources();
+ setMinimumHeight((int) res.getDimension(controlContainerHeightOverrideId));
+ int tab_strip_height =
+ (int) res.getDimension(R.dimen.tab_strip_height_tabletui);
+
+ View view = findViewById(R.id.toolbar_stub);
+ if (view != null)
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+
+ view = findViewById(R.id.toolbar_hairline);
+ if (view != null) view.setVisibility(View.GONE);
+
+ view = findViewById(R.id.find_toolbar_stub);
+ if (view != null)
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+
+ view = findViewById(R.id.target_view_stub);
+ if (view != null)
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+
+ view = findViewById(R.id.tab_switcher_toolbar_stub);
+ if (view != null)
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+ }
mToolbarContainer =
(ToolbarViewResourceFrameLayout) findViewById(R.id.toolbar_container);
ViewStub toolbarStub = findViewById(R.id.toolbar_stub);
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.HostSurface;
import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
import org.chromium.ui.UiUtils;
import org.chromium.ui.base.ViewUtils;
+import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.util.TokenHolder;
import org.chromium.url.GURL;
@@ -588,7 +589,9 @@ public abstract class ToolbarLayout extends FrameLayout
* not have a tab strip.
*/
protected int getTabStripHeightFromResource() {
- return getResources().getDimensionPixelSize(R.dimen.tab_strip_height);
+ if (DeviceFormFactor.isForceTabletUI())
+ return getResources().getDimensionPixelSize(R.dimen.tab_strip_height_tabletui);
+ return getResources().getDimensionPixelSize(R.dimen.tab_strip_height_cromite);
}
/** Triggered when the content view for the specified tab has changed. */
diff --git a/components/BUILD.gn b/components/BUILD.gn diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn --- a/components/BUILD.gn
+++ b/components/BUILD.gn +++ b/components/BUILD.gn
@@ -660,7 +184,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
disallowed_extension_deps_ = [ disallowed_extension_deps_ = [
# Components should largely not depend on //extensions. Since // extensions # Components should largely not depend on //extensions. Since // extensions
# is not a component target and is linked with //chrome, depending on most # is not a component target and is linked with //chrome, depending on most
@@ -839,7 +839,7 @@ test("components_unittests") { @@ -831,7 +831,7 @@ test("components_unittests") {
# On other platforms, no components should depend on Chrome. # On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on # Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds. # extensions targets for non-lacros builds.
@@ -669,7 +193,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ] assert_no_deps = [ "//chrome/*" ]
assert_no_deps += disallowed_extension_deps_ assert_no_deps += disallowed_extension_deps_
} }
@@ -1124,7 +1124,7 @@ if (use_blink) { @@ -1113,7 +1113,7 @@ if (use_blink) {
# dependency. On other platforms, no components should depend on Chrome. # dependency. On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on # Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds. # extensions targets for non-lacros builds.
@@ -693,53 +217,68 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
<Preference <Preference
android:key="captions" android:key="captions"
android:title="@string/accessibility_captions_title"/> android:title="@string/accessibility_captions_title"/>
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
@@ -32,6 +32,8 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
public static final String PREF_CAPTIONS = "captions";
public static final String PREF_ZOOM_INFO = "zoom_info";
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
private TextScalePreference mTextScalePref;
private PageZoomPreference mPageZoomDefaultZoomPref;
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
@@ -129,6 +131,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
getPreferenceScreen().removePreference(readerForAccessibilityPref);
}
+ ChromeSwitchPreference forceTabletUiPref =
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_TABLET_UI);
+ mForceTabletUIDelegate = mDelegate.getForceTabletUIDelegate();
+ forceTabletUiPref.setChecked(mForceTabletUIDelegate.isEnabled());
+ forceTabletUiPref.setOnPreferenceChangeListener(this);
+
Preference captions = findPreference(PREF_CAPTIONS);
captions.setOnPreferenceClickListener(
preference -> {
@@ -190,6 +198,8 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
+ } else if (PREF_FORCE_TABLET_UI.equals(preference.getKey())) {
+ mForceTabletUIDelegate.setEnabled((Boolean) newValue);
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
if (mReaderForAccessibilityDelegate != null) {
mReaderForAccessibilityDelegate.setEnabled((Boolean) newValue);
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
@@ -11,6 +11,15 @@ import org.chromium.content_public.browser.BrowserContextHandle; @@ -52,6 +52,8 @@ public interface AccessibilitySettingsDelegate {
* embedder-specific logic. */
*/ IntegerPreferenceDelegate getTextSizeContrastAccessibilityDelegate();
public interface AccessibilitySettingsDelegate {
+ /** An interface to control a single boolean preference. */
+ interface BooleanPreferenceDelegate {
+ /** @return whether the preference is enabled. */
+ boolean isEnabled();
+
+ /** Called when the preference value is changed. */
+ void setEnabled(boolean value);
+ }
+
/** An interface to control a single integer preference. */
interface IntegerPreferenceDelegate {
/** @return int - Current value of the preference of this instance. */
@@ -26,6 +35,8 @@ public interface AccessibilitySettingsDelegate {
/** @return The BrowserContextHandle that should be used to read and update settings. */
BrowserContextHandle getBrowserContextHandle();
+ BooleanPreferenceDelegate getForceTabletUIDelegate(); + BooleanPreferenceDelegate getForceTabletUIDelegate();
+ +
/** /**
* @return the InterPreferenceDelegate instance that should be used for reading and setting the * Allows the embedder to add more preferences to the preference screen.
* text size contrast value for accessibility settings. Return null to omit the preference. *
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.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 --- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java +++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
@@ -31,6 +31,14 @@ public class DeviceFormFactor { @@ -31,6 +31,11 @@ public class DeviceFormFactor {
/** Matches the value set in res/values-sw720dp/values.xml */ /** Matches the value set in res/values-sw720dp/values.xml */
private static final int SCREEN_BUCKET_LARGET_TABLET = 3; private static final int SCREEN_BUCKET_LARGET_TABLET = 3;
+ private static boolean mForceTabletUI = true; + private static boolean mForceTabletUI;
+ public static void setForceTabletUI(boolean forceTabletUI) { + public static void setForceTabletUI(boolean forceTabletUI) {
+ mForceTabletUI = forceTabletUI; + mForceTabletUI = forceTabletUI;
+ } + }
+ public static boolean isForceTabletUI() {
+ return mForceTabletUI;
+ }
+ +
/** /**
* Each activity could be on a different display, and this will just tell you whether the * Each activity could be on a different display, and this will just tell you whether the
* display associated with the application context is "tablet sized". * display associated with the application context is "tablet sized".
@@ -56,6 +64,7 @@ public class DeviceFormFactor { @@ -56,6 +61,7 @@ public class DeviceFormFactor {
* E.g. http://developer.samsung.com/samsung-dex/testing * E.g. http://developer.samsung.com/samsung-dex/testing
*/ */
public static boolean isNonMultiDisplayContextOnTablet(Context context) { public static boolean isNonMultiDisplayContextOnTablet(Context context) {
@@ -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 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 --- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -82,6 +82,11 @@ found in the LICENSE file. @@ -71,6 +71,11 @@ found in the LICENSE file.
android:title="@string/incognito_settings_title" android:title="@string/incognito_settings_title"
android:summary="@string/incognito_settings_summary" android:summary="@string/incognito_settings_summary"
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/> android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import android.os.Bundle; import android.os.Bundle;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.style.ForegroundColorSpan; import android.text.style.ForegroundColorSpan;
@@ -21,6 +22,8 @@ import androidx.preference.Preference; @@ -20,6 +21,8 @@ import androidx.preference.Preference;
import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction; import org.chromium.base.metrics.RecordUserAction;
@@ -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.R;
import org.chromium.chrome.browser.enterprise.util.ManagedBrowserUtils; import org.chromium.chrome.browser.enterprise.util.ManagedBrowserUtils;
import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -88,6 +91,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -87,6 +90,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private final SharedPreferencesManager mSharedPreferencesManager = private final SharedPreferencesManager mSharedPreferencesManager =
ChromeSharedPreferences.getInstance(); ChromeSharedPreferences.getInstance();
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit"; + private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+ +
private ManagedPreferenceDelegate mManagedPreferenceDelegate; private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private static final String PREF_IP_PROTECTION = "ip_protection"; private IncognitoLockSettings mIncognitoLockSettings;
@VisibleForTesting static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
@@ -295,7 +300,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -271,7 +276,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey(); String key = preference.getKey();
@@ -90,8 +90,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
UserPrefs.get(getProfile()) UserPrefs.get(getProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue); .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) { } else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
@@ -349,6 +358,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @@ -316,6 +325,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
getContext(), getProfile())); PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
} }
+ ChromeSwitchPreference closeTabsOnExitPref = + ChromeSwitchPreference closeTabsOnExitPref =
@@ -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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4918,6 +4918,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da @@ -4805,6 +4805,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
<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."> <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 IMAGE
</message> </message>
@@ -23,15 +23,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
@@ -26,6 +26,7 @@ import org.chromium.base.task.TaskTraits; @@ -22,6 +22,7 @@ import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.chrome.browser.data_sharing.DataSharingNotificationManager; import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.browser.data_sharing.SharedImageTilesCoordinator; import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.base.task.TaskTraits;
+import org.chromium.chrome.browser.homepage.HomepageManager; +import org.chromium.chrome.browser.homepage.HomepageManager;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabCreationState; import org.chromium.chrome.browser.tab.TabCreationState;
import org.chromium.chrome.browser.tab.TabLaunchType; import org.chromium.chrome.browser.tab.TabLaunchType;
@@ -58,6 +59,7 @@ import org.chromium.ui.KeyboardVisibilityDelegate; @@ -47,6 +48,7 @@ import org.chromium.ui.KeyboardVisibilityDelegate;
import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.text.EmptyTextWatcher; import org.chromium.ui.text.EmptyTextWatcher;
@@ -39,7 +39,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -697,11 +699,16 @@ public class TabGridDialogMediator @@ -636,11 +638,16 @@ public class TabGridDialogMediator
assert relatedTabs.size() > 0; assert relatedTabs.size() > 0;
@@ -165,7 +165,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
@@ -111,7 +111,6 @@ public class LaunchMetrics { @@ -112,7 +112,6 @@ public class LaunchMetrics {
public static void recordHomePageLaunchMetrics( public static void recordHomePageLaunchMetrics(
boolean showHomeButton, boolean homepageIsNtp, GURL homepageGurl) { boolean showHomeButton, boolean homepageIsNtp, GURL homepageGurl) {
if (homepageGurl.isEmpty()) { if (homepageGurl.isEmpty()) {
@@ -184,7 +184,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.NewTabPageLaunchOrigin;
import org.chromium.chrome.browser.ntp.NewTabPageUtils; import org.chromium.chrome.browser.ntp.NewTabPageUtils;
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
@@ -485,6 +486,13 @@ public class ChromeTabCreator extends TabCreator { @@ -484,6 +485,13 @@ public class ChromeTabCreator extends TabCreator {
* @return the created tab. * @return the created tab.
*/ */
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) { public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
@@ -201,7 +201,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 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 --- 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 +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -277,6 +277,7 @@ public final class ChromePreferenceKeys { @@ -283,6 +283,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP"; public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP";
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled"; public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
@@ -223,7 +223,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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1377,6 +1377,9 @@ Your Google account may have other forms of browsing history like searches and a @@ -1337,6 +1337,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."> <message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
Last hour Last hour
</message> </message>
@@ -236,21 +236,21 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -85,6 +85,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { @@ -73,6 +73,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref( GetHomeButtonAndHomePageIsNewTabPageFlags());
prefs::kShowForwardButton, true, registry->RegisterBooleanPref(prefs::kShowHomeButton, false,
GetHomeAndForwardButtonAndHomePageIsNewTabPageFlags()); GetHomeButtonAndHomePageIsNewTabPageFlags());
+ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false, + registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false,
+ PrefRegistry::NO_REGISTRATION_FLAGS); + PrefRegistry::NO_REGISTRATION_FLAGS);
registry->RegisterInt64Pref(prefs::kDefaultBrowserLastDeclined, 0); registry->RegisterInt64Pref(prefs::kDefaultBrowserLastDeclined, 0);
registry->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true); bool reset_check_default = false;
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h --- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h
@@ -1280,6 +1280,10 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button"; @@ -1285,6 +1285,10 @@ inline constexpr char kUsedPolicyCertificates[] =
// toolbar. // visible on the toolbar.
inline constexpr char kShowForwardButton[] = "browser.show_forward_button"; inline constexpr char kShowHomeButton[] = "browser.show_home_button";
+// A boolean specifying whether opening a new tab should open the Home page +// A boolean specifying whether opening a new tab should open the Home page
+// instead of the New Tab page. +// instead of the New Tab page.
+29 -69
View File
@@ -8,52 +8,11 @@ Add DuckDuckGo Lite
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
--- ---
.../search_engine_choice/default_favicon.png | Bin 0 -> 903 bytes .../search_engines/prepopulated_engines.json | 31 +++++++++++++++++++
...search_engine_choice_scaled_resources.grdp | 1 + .../search_engines/search_engine_type.h | 5 +++
.../search_engines/prepopulated_engines.json | 31 ++++++++++++++++++ .../template_url_prepopulate_data.cc | 3 ++
.../search_engine_countries-inc.cc | 3 ++ 3 files changed, 39 insertions(+)
.../search_engines/search_engine_type.h | 5 +++
5 files changed, 40 insertions(+)
create mode 100644 components/resources/default_100_percent/search_engine_choice/default_favicon.png
diff --git a/components/resources/default_100_percent/search_engine_choice/default_favicon.png b/components/resources/default_100_percent/search_engine_choice/default_favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..6533419f2d6b40f7735054dec62c51ddf1ee1201
GIT binary patch
literal 903
zcmV;219<$2P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0009{Nkl<Zc-rk*
zHI&>u5dJaD%uTpU6K1Ny)MmAo?2~ki?Li;rI(@haGcz+YGo$8ZtH|rstmUBf-W*z<
z`LqMyjQ;vbR=naxn4FxTa$SOo%Y^Yq3CiCp`IM5k@HhA$JOj`EJVrBqK*>90<Y$Z!
zD&E1~9|C4N=Y0}PoKKzZ=aBLV-UaWB-0*4BX4X}1up41G3JAO#bVTDWd3iku6Hh={
zlma?HmsR5(hfh(b^FD*}4@!0sS4zV2hPiHTHz{QUr=p@EW3ne<xuXf?=gfeJ_n_0B
z@lJY|QARx>G)Ly==Qj#^Pm*zg`6NIm=nm~RX-}Ss_k_usva+)JncnmH^XI=4jNih$
zlz0y|WF4^Se4bG8m@v`L_#mWg6DB6I3T(&-X<X(aWBDC2?f1MT|2uB(BxS%X1$a%k
z;1;{ldEPHo!pWN$|21g&X`3k)RVSdZ`1-to+dxbxpx11tSFj1eY4p>FfHecpOCzcg
zpNwb+@DsmO2`6iI0DN;)MGkB;0q{--kR#0r9={VIfOiJ&qgPlcQV0O=qNN%EZUkK2
zXVWfZ`h5{40I)Gg`DG2UD<uwqtRPHQ`3e=w!vhePgFgO88URJiY>`5mlRG3V0I)IO
z^!VFvHvp@&1;F!4TUc<Tw?P23{124aYG2{<#pZ1%U*J~{i~%4NJtI_HQU19p>56LN
z%3gt$n(-Z(idK@zIi#qli66~IxloAGzuNPP+NSLfTs{_pT7f^J06kI9KUZ>A$&#d(
z+ZUd3gy@cNAuWhQ3vePzWtVK-4H5_<h_y6oOLkRNRsEA)yhw>iqgo-eCg3jF08o2(
zV+xr@B`n6nQmpYnUx3CSsDwu5Yyvoe1poxnZ<>do)Aj_?EW-9wQ^cQO=(N_*SpEcF
zA!n{N_=ZMrDQ)uj`{u@re$c++TFQW?-c&%T<H_NEl62(&6TL7nfTD(I>Jej=5G2dk
zc*-y0$13Q-mVE%=HZZcm54P~5#qa<$Vkc|B{qUnj<Z#y}04P$B=OI-_I^4yL*CEaE
zjS0pJfK7T{VJFY4st5f9G(|wnQru>jUSTzPpE5qa;Lv>bM_w_-mwYy_S=Aoxnl--Y
d#;<tA>kFnu^?NN9uE_uZ002ovPDHLkV1m60sc!%P
literal 0
HcmV?d00001
diff --git a/components/resources/search_engine_choice_scaled_resources.grdp b/components/resources/search_engine_choice_scaled_resources.grdp
--- a/components/resources/search_engine_choice_scaled_resources.grdp
+++ b/components/resources/search_engine_choice_scaled_resources.grdp
@@ -5,6 +5,7 @@
<if expr="_google_chrome">
<structure type="chrome_scaled_image" name="IDR_GOOGLE_COM_PNG" file="google_chrome/google_search_logo.png" />
</if>
+ <structure type="chrome_scaled_image" name="IDR_GOOGLEEN_PNG" file="search_engine_choice/default_favicon.png" />
<structure type="chrome_scaled_image" name="IDR_AR_YAHOO_COM_PNG" file="search_engine_choice/yahoo_com.png" />
<structure type="chrome_scaled_image" name="IDR_AT_YAHOO_COM_PNG" file="search_engine_choice/yahoo_com.png" />
<structure type="chrome_scaled_image" name="IDR_AU_YAHOO_COM_PNG" file="search_engine_choice/yahoo_com.png" />
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
--- a/components/search_engines/prepopulated_engines.json --- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json +++ b/components/search_engines/prepopulated_engines.json
@@ -74,7 +33,7 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
"ecosia": { "ecosia": {
"name": "Ecosia", "name": "Ecosia",
"keyword": "ecosia.org", "keyword": "ecosia.org",
@@ -174,6 +184,27 @@ @@ -171,6 +181,27 @@
"id": 111 "id": 111
}, },
@@ -102,34 +61,15 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
"mail_ru": { "mail_ru": {
"name": "@MAIL.RU", "name": "@MAIL.RU",
"keyword": "mail.ru", "keyword": "mail.ru",
diff --git a/components/search_engines/search_engine_countries-inc.cc b/components/search_engines/search_engine_countries-inc.cc
--- a/components/search_engines/search_engine_countries-inc.cc
+++ b/components/search_engines/search_engine_countries-inc.cc
@@ -33,6 +33,7 @@ struct EngineAndTier {
// Default (for countries with no better engine set)
constexpr EngineAndTier engines_default[] = {
+ {SearchEngineTier::kTopEngines, &googleen},
{SearchEngineTier::kTopEngines, &google},
{SearchEngineTier::kTopEngines, &bing},
{SearchEngineTier::kTopEngines, &yahoo},
@@ -1449,5 +1450,7 @@ const std::vector<EngineAndTier> GetPrepopulationSetFromCountryID(
for (size_t i = 0; i < num_engines; i++) {
t_url.push_back(engines[i]);
}
+ t_url.push_back({SearchEngineTier::kTopEngines, &googleen});
+ t_url.push_back({SearchEngineTier::kTopEngines, &duckduckgo_light});
return t_url;
}
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
--- a/components/search_engines/search_engine_type.h --- a/components/search_engines/search_engine_type.h
+++ b/components/search_engines/search_engine_type.h +++ b/components/search_engines/search_engine_type.h
@@ -91,10 +91,15 @@ enum SearchEngineType { @@ -90,10 +90,15 @@ enum SearchEngineType {
SEARCH_ENGINE_KARMA = 71,
SEARCH_ENGINE_YOU = 72, SEARCH_ENGINE_YOU = 72,
SEARCH_ENGINE_STARTER_PACK_ASK_GOOGLE = 73, SEARCH_ENGINE_STARTER_PACK_ASK_GOOGLE = 73,
SEARCH_ENGINE_LILO = 74, + SEARCH_ENGINE_GOOGLE_EN = 74,
+ SEARCH_ENGINE_GOOGLE_EN = 75, + SEARCH_ENGINE_DUCKDUCKGOLIGHT = 75,
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 76,
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro. SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
}; };
@@ -140,4 +80,24 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_
// Enum to record the type of search engine a user used in keyword mode. This // Enum to record the type of search engine a user used in keyword mode. This
// should be kept aligned with the `OmniboxBuiltinEngineType` enum in enums.xml. // should be kept aligned with the `OmniboxBuiltinEngineType` enum in enums.xml.
// Entries should not be renumbered and numeric values should never be reused. // Entries should not be renumbered and numeric values should never be reused.
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -63,6 +63,7 @@ struct EngineAndTier {
// Default (for countries with no better engine set)
constexpr EngineAndTier engines_default[] = {
+ {SearchEngineTier::kTopEngines, &googleen},
{SearchEngineTier::kTopEngines, &google},
{SearchEngineTier::kTopEngines, &bing},
{SearchEngineTier::kTopEngines, &yahoo},
@@ -1683,6 +1684,8 @@ const std::vector<EngineAndTier> GetPrepopulationSetFromCountryID(
for (size_t i = 0; i < num_engines; i++) {
t_url.push_back(engines[i]);
}
+ t_url.push_back({SearchEngineTier::kTopEngines, &googleen});
+ t_url.push_back({SearchEngineTier::kTopEngines, &duckduckgo_light});
return t_url;
}
-- --
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/app/settings_strings.grdp | 10 +++ chrome/app/settings_strings.grdp | 10 +++
.../browsing_data/browsing_data_bridge.cc | 2 +- .../browsing_data/browsing_data_bridge.cc | 2 +-
.../chrome_browsing_data_lifetime_manager.cc | 22 +++++- .../chrome_browsing_data_lifetime_manager.cc | 22 +++++-
.../chrome_browsing_data_remover_delegate.cc | 13 ++++ .../chrome_browsing_data_remover_delegate.cc | 11 +++
.../api/settings_private/prefs_util.cc | 17 +++++ .../api/settings_private/prefs_util.cc | 17 +++++
.../browser/profiles/ProfileManagerUtils.java | 5 ++ .../browser/profiles/ProfileManagerUtils.java | 5 ++
.../profiles/android/profile_manager_utils.cc | 5 ++ .../profiles/android/profile_manager_utils.cc | 5 ++
@@ -24,19 +24,18 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../settings_localized_strings_provider.cc | 1 + .../settings_localized_strings_provider.cc | 1 +
.../core/browsing_data_policies_utils.cc | 20 ++--- .../core/browsing_data_policies_utils.cc | 20 ++---
.../core/browsing_data_policies_utils.h | 11 +++ .../core/browsing_data_policies_utils.h | 11 +++
.../browsing_data/core/browsing_data_utils.cc | 31 ++++++++ .../browsing_data/core/browsing_data_utils.cc | 34 +++++++++
.../core/clear_browsing_data_tab.h | 2 +- .../core/clear_browsing_data_tab.h | 2 +-
components/browsing_data/core/pref_names.cc | 17 +++++ components/browsing_data/core/pref_names.cc | 17 +++++
components/browsing_data/core/pref_names.h | 10 +++ components/browsing_data/core/pref_names.h | 10 +++
.../search_engines/template_url_service.cc | 1 +
content/browser/storage_partition_impl.cc | 1 + content/browser/storage_partition_impl.cc | 1 +
26 files changed, 312 insertions(+), 17 deletions(-) 25 files changed, 312 insertions(+), 17 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java 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 diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni
@@ -308,6 +308,7 @@ chrome_java_sources = [ @@ -307,6 +307,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAdvanced.java", "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/ClearBrowsingDataFragmentBasic.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java",
@@ -47,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 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -172,6 +172,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider; @@ -169,6 +169,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider;
import org.chromium.chrome.browser.quick_delete.QuickDeleteController; import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl; import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate; import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate;
@@ -71,7 +70,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
@@ -448,6 +448,10 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat @@ -435,6 +435,10 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
/** Returns whether is a basic or advanced Clear Browsing Data tab. */ /** Returns whether is a basic or advanced Clear Browsing Data tab. */
protected abstract @ClearBrowsingDataTab int getClearBrowsingDataTabType(); protected abstract @ClearBrowsingDataTab int getClearBrowsingDataTabType();
@@ -82,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
/** /**
* Decides whether a given dialog option should be selected when the dialog is initialized. * Decides whether a given dialog option should be selected when the dialog is initialized.
* *
@@ -528,6 +532,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat @@ -514,6 +518,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
* options. * options.
*/ */
private void onClearButtonClicked() { private void onClearButtonClicked() {
@@ -90,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
if (shouldShowImportantSitesDialog()) { if (shouldShowImportantSitesDialog()) {
showImportantDialogThenClear(); showImportantDialogThenClear();
return; return;
@@ -560,6 +565,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat @@ -546,6 +551,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
Button clearButton = (Button) getView().findViewById(R.id.clear_button); Button clearButton = (Button) getView().findViewById(R.id.clear_button);
boolean isEnabled = !getSelectedOptions().isEmpty(); boolean isEnabled = !getSelectedOptions().isEmpty();
clearButton.setEnabled(isEnabled); clearButton.setEnabled(isEnabled);
@@ -211,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 diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
--- a/chrome/app/settings_strings.grdp --- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp
@@ -2294,6 +2294,16 @@ @@ -2244,6 +2244,16 @@
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for clear browsing data button in Privacy options"> <message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for clear browsing data button in Privacy options">
Clear browsing data Clear browsing data
</message> </message>
@@ -231,7 +230,7 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chrome/browser/android/browsing_data/browsing_data_bridge.cc diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chrome/browser/android/browsing_data/browsing_data_bridge.cc
--- a/chrome/browser/android/browsing_data/browsing_data_bridge.cc --- a/chrome/browser/android/browsing_data/browsing_data_bridge.cc
+++ b/chrome/browser/android/browsing_data/browsing_data_bridge.cc +++ b/chrome/browser/android/browsing_data/browsing_data_bridge.cc
@@ -339,7 +339,7 @@ static void JNI_BrowsingDataBridge_SetLastClearBrowsingDataTab( @@ -331,7 +331,7 @@ static void JNI_BrowsingDataBridge_SetLastClearBrowsingDataTab(
const JavaParamRef<jobject>& jprofile, const JavaParamRef<jobject>& jprofile,
jint tab_index) { jint tab_index) {
DCHECK_GE(tab_index, 0); DCHECK_GE(tab_index, 0);
@@ -282,7 +281,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc 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 --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -440,6 +440,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( @@ -436,6 +436,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
CreateTaskCompletionClosure(TracingDataType::kHistory), CreateTaskCompletionClosure(TracingDataType::kHistory),
&history_task_tracker_); &history_task_tracker_);
} }
@@ -292,7 +291,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
if (ClipboardRecentContent::GetInstance()) if (ClipboardRecentContent::GetInstance())
ClipboardRecentContent::GetInstance()->SuppressClipboardContent(); ClipboardRecentContent::GetInstance()->SuppressClipboardContent();
@@ -490,7 +493,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( @@ -486,7 +489,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS | prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS |
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY); prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY);
} }
@@ -302,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 // 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 // which these profiles and credit cards were learned. These are a form of
// history, so clear them as well. // history, so clear them as well.
@@ -511,7 +516,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( @@ -507,7 +512,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
if (data_manager) if (data_manager)
data_manager->Refresh(); data_manager->Refresh();
} }
@@ -312,7 +311,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
base::ThreadPool::PostTaskAndReply( base::ThreadPool::PostTaskAndReply(
FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()}, FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()},
base::BindOnce( base::BindOnce(
@@ -586,9 +593,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( @@ -582,9 +589,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
} }
device_event_log::Clear(delete_begin_, delete_end_); device_event_log::Clear(delete_begin_, delete_end_);
@@ -326,19 +325,10 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange( content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange(
delete_begin_, delete_end_); delete_begin_, delete_end_);
@@ -1245,6 +1256,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
if (should_clear_zero_suggest_and_session_token && template_url_service)
template_url_service->ClearSessionToken();
+
+ template_url_service->RemoveAutoGeneratedBetween(delete_begin_, delete_end_);
}
//////////////////////////////////////////////////////////////////////////////
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc 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 --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -520,6 +520,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { @@ -513,6 +513,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] = (*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] =
settings_api::PrefType::kNumber; settings_api::PrefType::kNumber;
@@ -396,7 +386,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 diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
--- a/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc
@@ -1481,6 +1481,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, @@ -1488,6 +1488,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
} }
} }
@@ -416,7 +406,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
void ProfileManager::DoFinalInitForServices(Profile* profile, void ProfileManager::DoFinalInitForServices(Profile* profile,
bool go_off_the_record) { bool go_off_the_record) {
if (!do_final_services_init_ || if (!do_final_services_init_ ||
@@ -2141,7 +2154,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) { @@ -2155,7 +2168,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) {
Profile* original_profile = profile->GetOriginalProfile(); Profile* original_profile = profile->GetOriginalProfile();
// Do nothing if the closed window is not the last window of the same profile. // Do nothing if the closed window is not the last window of the same profile.
for (Browser* browser_iter : *BrowserList::GetInstance()) { for (Browser* browser_iter : *BrowserList::GetInstance()) {
@@ -440,7 +430,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 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 --- 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 +++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
@@ -317,6 +317,50 @@ @@ -305,6 +305,50 @@
disabled="[[clearingInProgress_]]" no-set-pref> disabled="[[clearingInProgress_]]" no-set-pref>
</settings-checkbox> </settings-checkbox>
</div> </div>
@@ -494,7 +484,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 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 --- 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 +++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
@@ -304,6 +304,7 @@ export class SettingsClearBrowsingDataDialogElement extends @@ -302,6 +302,7 @@ export class SettingsClearBrowsingDataDialogElement extends
value: () => value: () =>
[loadTimeData.getString('basicPageTitle'), [loadTimeData.getString('basicPageTitle'),
loadTimeData.getString('advancedPageTitle'), loadTimeData.getString('advancedPageTitle'),
@@ -502,20 +492,20 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
], ],
}, },
@@ -427,6 +428,7 @@ export class SettingsClearBrowsingDataDialogElement extends @@ -425,6 +426,7 @@ export class SettingsClearBrowsingDataDialogElement extends
} }
this.clearButtonDisabled_ = this.clearButtonDisabled_ =
this.getSelectedDataTypes_(page as HTMLElement).length === 0; this.getSelectedDataTypes_(tab as HTMLElement).length === 0;
+ if ((page as HTMLElement).id == "atstart-tab") this.clearButtonDisabled_ = true; + 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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1481,6 +1481,9 @@ Your Google account may have other forms of browsing history like searches and a @@ -1432,6 +1432,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_ANDROID_APP_HISTORY_OPEN_FULL_OTHER_FORMS" desc="The informational message at the top of the history page letting users know that app-specific history may be missing some entries, followed by the info on the other forms of browing history."> <message name="IDS_CLEAR_BROWSING_DATA_BASIC_TAB_TITLE" desc="The title of the tab showing the basic clear browsing data options.">
Some of your web history might not show up here. If needed, tap Open full Chrome history. Also, Your Google Account may have other forms of browsing history at <ph name="BEGIN_LINK">&lt;link&gt;</ph>myactivity.google.com<ph name="END_LINK">&lt;/link&gt;</ph>. Basic
</message> </message>
+ <message name="IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE" desc="The title of the tab showing the at start clear browsing data options."> + <message name="IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE" desc="The title of the tab showing the at start clear browsing data options.">
+ At Startup + At Startup
@@ -526,7 +516,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 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 --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1689,6 +1689,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, @@ -1674,6 +1674,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"clearedData", IDS_SETTINGS_CLEARED_DATA}, {"clearedData", IDS_SETTINGS_CLEARED_DATA},
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA}, {"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION}, {"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
@@ -537,7 +527,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
diff --git a/components/browsing_data/core/browsing_data_policies_utils.cc b/components/browsing_data/core/browsing_data_policies_utils.cc diff --git a/components/browsing_data/core/browsing_data_policies_utils.cc b/components/browsing_data/core/browsing_data_policies_utils.cc
--- a/components/browsing_data/core/browsing_data_policies_utils.cc --- a/components/browsing_data/core/browsing_data_policies_utils.cc
+++ b/components/browsing_data/core/browsing_data_policies_utils.cc +++ b/components/browsing_data/core/browsing_data_policies_utils.cc
@@ -16,21 +16,21 @@ @@ -17,21 +17,21 @@
namespace browsing_data { namespace browsing_data {
@@ -593,7 +583,7 @@ diff --git a/components/browsing_data/core/browsing_data_policies_utils.h b/comp
diff --git a/components/browsing_data/core/browsing_data_utils.cc b/components/browsing_data/core/browsing_data_utils.cc diff --git a/components/browsing_data/core/browsing_data_utils.cc b/components/browsing_data/core/browsing_data_utils.cc
--- a/components/browsing_data/core/browsing_data_utils.cc --- a/components/browsing_data/core/browsing_data_utils.cc
+++ b/components/browsing_data/core/browsing_data_utils.cc +++ b/components/browsing_data/core/browsing_data_utils.cc
@@ -318,6 +318,37 @@ bool GetDeletionPreferenceFromDataType( @@ -318,6 +318,40 @@ bool GetDeletionPreferenceFromDataType(
BrowsingDataType data_type, BrowsingDataType data_type,
ClearBrowsingDataTab clear_browsing_data_tab, ClearBrowsingDataTab clear_browsing_data_tab,
std::string* out_pref) { std::string* out_pref) {
@@ -605,7 +595,7 @@ diff --git a/components/browsing_data/core/browsing_data_utils.cc b/components/b
+ case BrowsingDataType::CACHE: + case BrowsingDataType::CACHE:
+ *out_pref = prefs::kDeleteCacheAtStart; + *out_pref = prefs::kDeleteCacheAtStart;
+ return true; + return true;
+ case BrowsingDataType::SITE_DATA: + case BrowsingDataType::COOKIES:
+ *out_pref = prefs::kDeleteCookiesAtStart; + *out_pref = prefs::kDeleteCookiesAtStart;
+ return true; + return true;
+ case BrowsingDataType::PASSWORDS: + case BrowsingDataType::PASSWORDS:
@@ -614,6 +604,8 @@ diff --git a/components/browsing_data/core/browsing_data_utils.cc b/components/b
+ case BrowsingDataType::FORM_DATA: + case BrowsingDataType::FORM_DATA:
+ *out_pref = prefs::kDeleteFormDataAtStart; + *out_pref = prefs::kDeleteFormDataAtStart;
+ return true; + return true;
+ case BrowsingDataType::BOOKMARKS:
+ return false;
+ case BrowsingDataType::SITE_SETTINGS: + case BrowsingDataType::SITE_SETTINGS:
+ *out_pref = prefs::kDeleteSiteSettingsAtStart; + *out_pref = prefs::kDeleteSiteSettingsAtStart;
+ return true; + return true;
@@ -623,7 +615,8 @@ diff --git a/components/browsing_data/core/browsing_data_utils.cc b/components/b
+ case BrowsingDataType::HOSTED_APPS_DATA: + case BrowsingDataType::HOSTED_APPS_DATA:
+ *out_pref = prefs::kDeleteHostedAppsDataAtStart; + *out_pref = prefs::kDeleteHostedAppsDataAtStart;
+ return true; + return true;
+ case BrowsingDataType::TABS: + case BrowsingDataType::NUM_TYPES:
+ NOTREACHED(); // This is not an actual type.
+ return false; + return false;
+ } + }
+ } + }
@@ -638,15 +631,15 @@ diff --git a/components/browsing_data/core/clear_browsing_data_tab.h b/component
// //
// A Java counterpart will be generated for this enum. // A Java counterpart will be generated for this enum.
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.browsing_data // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.browsing_data
-enum class ClearBrowsingDataTab { BASIC, ADVANCED, MAX_VALUE = ADVANCED }; -enum class ClearBrowsingDataTab { BASIC, ADVANCED, NUM_TYPES };
+enum class ClearBrowsingDataTab { BASIC, ADVANCED, AT_START, MAX_VALUE = AT_START }; +enum class ClearBrowsingDataTab { BASIC, ADVANCED, AT_START, NUM_TYPES };
} // namespace browsing_data } // namespace browsing_data
diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_data/core/pref_names.cc diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_data/core/pref_names.cc
--- a/components/browsing_data/core/pref_names.cc --- a/components/browsing_data/core/pref_names.cc
+++ b/components/browsing_data/core/pref_names.cc +++ b/components/browsing_data/core/pref_names.cc
@@ -29,6 +29,23 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { @@ -47,6 +47,23 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterIntegerPref( registry->RegisterIntegerPref(
kClearBrowsingDataHistoryNoticeShownTimes, 0); kClearBrowsingDataHistoryNoticeShownTimes, 0);
@@ -668,8 +661,8 @@ diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_d
+ kDeleteSiteSettingsAtStart, false); + kDeleteSiteSettingsAtStart, false);
+ +
#if !BUILDFLAG(IS_IOS) #if !BUILDFLAG(IS_IOS)
registry->RegisterBooleanPref(kDeleteDownloadHistory, true); registry->RegisterBooleanPref(
registry->RegisterBooleanPref(kDeleteHostedAppsData, false); kDeleteDownloadHistory, true,
diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_data/core/pref_names.h diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_data/core/pref_names.h
--- a/components/browsing_data/core/pref_names.h --- a/components/browsing_data/core/pref_names.h
+++ b/components/browsing_data/core/pref_names.h +++ b/components/browsing_data/core/pref_names.h
@@ -690,21 +683,10 @@ diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_da
// Clear browsing data deletion time period. // Clear browsing data deletion time period.
inline constexpr char kDeleteTimePeriod[] = "browser.clear_data.time_period"; inline constexpr char kDeleteTimePeriod[] = "browser.clear_data.time_period";
inline constexpr char kDeleteTimePeriodBasic[] = inline constexpr char kDeleteTimePeriodBasic[] =
diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc
--- a/components/search_engines/template_url_service.cc
+++ b/components/search_engines/template_url_service.cc
@@ -764,6 +764,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween(
if (turl->date_created() >= created_after &&
(created_before.is_null() || turl->date_created() < created_before) &&
turl->safe_for_autoreplace() && turl->prepopulate_id() == 0 &&
+ turl->is_active() != TemplateURLData::ActiveStatus::kTrue &&
turl->starter_pack_id() == 0 && !MatchesDefaultSearchProvider(turl) &&
(url_filter.is_null() ||
url_filter.Run(turl->GenerateSearchURL(search_terms_data())))) {
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
--- a/content/browser/storage_partition_impl.cc --- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc +++ b/content/browser/storage_partition_impl.cc
@@ -1497,6 +1497,7 @@ void StoragePartitionImpl::Initialize( @@ -1488,6 +1488,7 @@ void StoragePartitionImpl::Initialize(
.AppendASCII("Code Cache"); .AppendASCII("Code Cache");
} }
DCHECK_GE(settings.size_in_bytes(), 0); DCHECK_GE(settings.size_in_bytes(), 0);
@@ -9,7 +9,6 @@ Need: bromite-build-utils.patch
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
--- ---
chrome/android/java/res/values/ids.xml | 1 + chrome/android/java/res/values/ids.xml | 1 +
.../settings/AccessibilitySettings.java | 12 +++++++
.../ChromeAccessibilitySettingsDelegate.java | 18 ++++++++++ .../ChromeAccessibilitySettingsDelegate.java | 18 ++++++++++
.../contextmenu/ChromeContextMenuItem.java | 5 ++- .../contextmenu/ChromeContextMenuItem.java | 5 ++-
.../ChromeContextMenuPopulator.java | 5 +++ .../ChromeContextMenuPopulator.java | 5 +++
@@ -19,17 +18,18 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../browser/flags/ChromeFeatureList.java | 5 +++ .../browser/flags/ChromeFeatureList.java | 5 +++
.../strings/android_chrome_strings.grd | 9 +++++ .../strings/android_chrome_strings.grd | 9 +++++
.../res/xml/accessibility_preferences.xml | 5 +++ .../res/xml/accessibility_preferences.xml | 5 +++
.../accessibility/AccessibilitySettings.java | 11 ++++++
.../AccessibilitySettingsDelegate.java | 2 ++ .../AccessibilitySettingsDelegate.java | 2 ++
...Add-setting-to-invert-tap-and-long-tap.inc | 8 +++++ ...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 | 3 ++
...Add-setting-to-invert-tap-and-long-tap.inc | 1 + ...Add-setting-to-invert-tap-and-long-tap.inc | 1 +
.../renderer/core/html/html_anchor_element.cc | 36 +++++++++++++++---- .../renderer/core/html/html_anchor_element.cc | 36 +++++++++++++++----
.../renderer/core/html/html_anchor_element.h | 7 +++- .../renderer/core/html/html_anchor_element.h | 9 +++--
.../renderer/core/html/html_image_element.cc | 17 +++++++++ .../renderer/core/html/html_image_element.cc | 17 +++++++++
.../renderer/core/html/html_image_element.h | 2 ++ .../renderer/core/html/html_image_element.h | 2 ++
.../core/page/context_menu_controller.cc | 33 ++++++++++++----- .../core/page/context_menu_controller.cc | 32 ++++++++++++-----
.../core/page/context_menu_controller.h | 5 +-- .../core/page/context_menu_controller.h | 5 +--
21 files changed, 165 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/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_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 create mode 100644 cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc
@@ -45,46 +45,10 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va
<!-- Tags --> <!-- Tags -->
<item type="id" name="highlight_color" /> <item type="id" name="highlight_color" />
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
@@ -55,6 +55,9 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate;
private BooleanPreferenceDelegate mDisableToolbarSwipeUpDelegate;
+ static final String PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS = "always_show_contextmenu_on_links";
+ private BooleanPreferenceDelegate mShowAlwaysContextMenuOnLinksDelegate;
+
private TextScalePreference mTextScalePref;
private PageZoomPreference mPageZoomDefaultZoomPref;
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
@@ -174,6 +177,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.isEnabled());
mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this);
+ ChromeSwitchPreference mShowAlwaysContextMenuOnLinksPref =
+ (ChromeSwitchPreference) findPreference(PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS);
+ mShowAlwaysContextMenuOnLinksDelegate = mDelegate.getShowAlwaysContextMenuOnLinksDelegate();
+ mShowAlwaysContextMenuOnLinksPref.setChecked(mShowAlwaysContextMenuOnLinksDelegate.isEnabled());
+ mShowAlwaysContextMenuOnLinksPref.setOnPreferenceChangeListener(this);
+
Preference captions = findPreference(PREF_CAPTIONS);
captions.setOnPreferenceClickListener(
preference -> {
@@ -262,6 +271,9 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
mDelegate.requestRestart(getActivity());
} else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) {
mDisableToolbarSwipeUpDelegate.setEnabled((Boolean) newValue);
+ } else if (PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS.equals(preference.getKey())) {
+ mShowAlwaysContextMenuOnLinksDelegate.setEnabled((Boolean) newValue);
+ mDelegate.requestRestart(getActivity());
} else if (PREF_PAGE_ZOOM_INCLUDE_OS_ADJUSTMENT.equals(preference.getKey())) {
// TODO(mschillaci): Implement the override behavior for OS level.
}
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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@@ -136,6 +136,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting @@ -163,6 +163,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
mSnackbarManager.showSnackbar(mSnackbar); mSnackbarManager.showSnackbar(mSnackbar);
} }
@@ -107,8 +71,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+ } + }
+ +
@Override @Override
public BrowserContextHandle getBrowserContextHandle() { public void addExtraPreferences(PreferenceFragmentCompat fragment) {
return mProfile; if (ImageDescriptionsController.getInstance().shouldShowImageDescriptionsMenuItem()) {
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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
@@ -194,8 +158,8 @@ diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/con
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -287,6 +287,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { @@ -280,6 +280,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kTabIdMapAndroid, &kTabGroupParityAndroid,
&kTabletTabSwitcherLongPressMenu, &kTabletTabSwitcherLongPressMenu,
&kTabletToolbarIncognitoStatus, &kTabletToolbarIncognitoStatus,
+ &blink::features::kShowAlwaysContextMenuOnLinks, + &blink::features::kShowAlwaysContextMenuOnLinks,
@@ -205,8 +169,8 @@ 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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -348,6 +348,8 @@ public abstract class ChromeFeatureList { @@ -342,6 +342,8 @@ public abstract class ChromeFeatureList {
"DisableToolbarSwipeUp"; public static final String NOTIFICATION_ONE_TAP_UNSUBSCRIBE = "NotificationOneTapUnsubscribe";
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM = public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
"MoveTopToolbarToBottom"; "MoveTopToolbarToBottom";
+ public static final String SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS = + public static final String SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS =
@@ -214,8 +178,8 @@ 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_VARIANT = "NotificationPermissionVariant";
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET = public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
"NotificationPermissionBottomSheet"; "NotificationPermissionBottomSheet";
@@ -630,6 +632,8 @@ public abstract class ChromeFeatureList { @@ -619,6 +621,8 @@ public abstract class ChromeFeatureList {
newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false); newCachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
public static final CachedFlag sMoveTopToolbarToBottom = public static final CachedFlag sMoveTopToolbarToBottom =
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false); newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
+ public static final CachedFlag sShowAlwaysContextMenuOnLinks = + public static final CachedFlag sShowAlwaysContextMenuOnLinks =
@@ -223,9 +187,9 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sOmniboxModernizeVisualUpdate = public static final CachedFlag sOmniboxModernizeVisualUpdate =
newCachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, true); newCachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, true);
public static final CachedFlag sOptimizationGuidePushNotifications = public static final CachedFlag sOptimizationGuidePushNotifications =
@@ -786,6 +790,7 @@ public abstract class ChromeFeatureList { @@ -771,6 +775,7 @@ public abstract class ChromeFeatureList {
sTabWindowManagerIndexReassignmentActivityNotInAppTasks,
sTabWindowManagerReportIndicesMismatch, sTabWindowManagerReportIndicesMismatch,
sToolbarUseHardwareBitmapDraw,
sUseChimeAndroidSdk, sUseChimeAndroidSdk,
+ sShowAlwaysContextMenuOnLinks, + sShowAlwaysContextMenuOnLinks,
sUseLibunwindstackNativeUnwinderAndroid, sUseLibunwindstackNativeUnwinderAndroid,
@@ -234,9 +198,9 @@ 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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1692,6 +1692,12 @@ Your Google account may have other forms of browsing history like searches and a @@ -1638,6 +1638,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_DISABLE_TOOLBAR_SWIPE_UP" desc="Summary of the preference that allows the user to disable toolbar swipeup."> <message name="IDS_MOVE_TOOLBAR_BOTTOM_SUMMARY" desc="Summary of the preference that allows the user to move toolbar on bottom.">
Disable toolbar swipe up Move toolbar to bottom
</message> </message>
+ <message name="IDS_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS_TITLE" desc="Title of the preference that open the context menu in links."> + <message name="IDS_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS_TITLE" desc="Title of the preference that open the context menu in links.">
+ Always open the context menu in the links + Always open the context menu in the links
@@ -247,7 +211,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Safety check --> <!-- 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]"> <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]">
@@ -2871,6 +2877,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da @@ -2779,6 +2785,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
<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]"> <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 Open in new Chrome tab
</message> </message>
@@ -272,12 +236,54 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
android:key="force_enable_zoom" android:key="force_enable_zoom"
android:summary="@string/force_enable_zoom_summary" android:summary="@string/force_enable_zoom_summary"
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
@@ -35,6 +35,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
private BooleanPreferenceDelegate mForceTabletUIDelegate;
static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
static final String PREF_MOVE_TOOLBAR_TO_BOTTOM = "move_toolbar_bottom";
+ static final String PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS = "always_show_contextmenu_on_links";
private TextScalePreference mTextScalePref;
private PageZoomPreference mPageZoomDefaultZoomPref;
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
@@ -45,6 +46,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
private BooleanPreferenceDelegate mReaderForAccessibilityDelegate;
private double mPageZoomLatestDefaultZoomPrefValue;
private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate;
+ private BooleanPreferenceDelegate mShowAlwaysContextMenuOnLinksDelegate;
private FontSizePrefs mFontSizePrefs;
private FontSizePrefsObserver mFontSizePrefsObserver =
@@ -149,6 +151,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
mMoveToolbarToBottomPref.setChecked(mMoveTopToolbarToBottomDelegate.isEnabled());
mMoveToolbarToBottomPref.setOnPreferenceChangeListener(this);
+ ChromeSwitchPreference mShowAlwaysContextMenuOnLinksPref =
+ (ChromeSwitchPreference) findPreference(PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS);
+ mShowAlwaysContextMenuOnLinksDelegate = mDelegate.getShowAlwaysContextMenuOnLinksDelegate();
+ mShowAlwaysContextMenuOnLinksPref.setChecked(mShowAlwaysContextMenuOnLinksDelegate.isEnabled());
+ mShowAlwaysContextMenuOnLinksPref.setOnPreferenceChangeListener(this);
+
Preference captions = findPreference(PREF_CAPTIONS);
captions.setOnPreferenceClickListener(
preference -> {
@@ -226,6 +234,9 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
} else if (PREF_MOVE_TOOLBAR_TO_BOTTOM.equals(preference.getKey())) {
mMoveTopToolbarToBottomDelegate.setEnabled((Boolean) newValue);
mDelegate.requestRestart(getActivity());
+ } else if (PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS.equals(preference.getKey())) {
+ mShowAlwaysContextMenuOnLinksDelegate.setEnabled((Boolean) newValue);
+ mDelegate.requestRestart(getActivity());
} else if (PREF_PAGE_ZOOM_INCLUDE_OS_ADJUSTMENT.equals(preference.getKey())) {
// TODO(mschillaci): Implement the override behavior for OS level.
}
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
@@ -39,6 +39,8 @@ public interface AccessibilitySettingsDelegate { @@ -43,6 +43,8 @@ public interface AccessibilitySettingsDelegate {
BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate(); BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate();
BooleanPreferenceDelegate getDisableToolbarSwipeUpDelegate();
+ BooleanPreferenceDelegate getShowAlwaysContextMenuOnLinksDelegate(); + BooleanPreferenceDelegate getShowAlwaysContextMenuOnLinksDelegate();
+ +
@@ -314,15 +320,15 @@ new file mode 100644
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc
--- a/third_party/blink/renderer/core/html/html_anchor_element.cc --- a/third_party/blink/renderer/core/html/html_anchor_element.cc
+++ b/third_party/blink/renderer/core/html/html_anchor_element.cc +++ b/third_party/blink/renderer/core/html/html_anchor_element.cc
@@ -63,6 +63,7 @@ @@ -59,6 +59,7 @@
#include "third_party/blink/renderer/core/loader/render_blocking_resource_manager.h" #include "third_party/blink/renderer/core/loader/ping_loader.h"
#include "third_party/blink/renderer/core/navigation_api/navigation_api.h" #include "third_party/blink/renderer/core/navigation_api/navigation_api.h"
#include "third_party/blink/renderer/core/page/chrome_client.h" #include "third_party/blink/renderer/core/page/chrome_client.h"
+#include "third_party/blink/renderer/core/page/context_menu_controller.h" +#include "third_party/blink/renderer/core/page/context_menu_controller.h"
#include "third_party/blink/renderer/core/page/page.h" #include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h" #include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
@@ -518,6 +519,17 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request, @@ -467,6 +468,17 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
bool is_trusted, bool is_trusted,
base::TimeTicks platform_time_stamp, base::TimeTicks platform_time_stamp,
KURL completed_url) { KURL completed_url) {
@@ -340,7 +346,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
LocalDOMWindow* window = GetDocument().domWindow(); LocalDOMWindow* window = GetDocument().domWindow();
if (!window) { if (!window) {
return; return;
@@ -578,6 +590,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request, @@ -527,6 +539,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
/*element=*/this, request.HasUserGesture())); /*element=*/this, request.HasUserGesture()));
} }
@@ -356,16 +362,16 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
Frame* target_frame = Frame* target_frame =
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame; frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
@@ -631,7 +652,7 @@ AtomicString HTMLAnchorElement::interestAction() const { @@ -559,7 +580,7 @@ void HTMLAnchorElement::SetHovered(bool hovered) {
return g_empty_atom; HTMLElement::SetHovered(hovered);
} }
-void HTMLAnchorElement::HandleClick(MouseEvent& event) { -void HTMLAnchorElement::HandleClick(Event& event) {
+void HTMLAnchorElement::HandleClick(MouseEvent& event, bool do_not_show_context_menu) { +void HTMLAnchorElement::HandleClick(Event& event, bool do_not_show_context_menu) {
event.SetDefaultHandled(); event.SetDefaultHandled();
LocalDOMWindow* window = GetDocument().domWindow(); LocalDOMWindow* window = GetDocument().domWindow();
@@ -727,13 +748,12 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) { @@ -656,13 +677,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
return; return;
} }
@@ -383,7 +389,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
// We distinguish single/double click with some modifiers. // We distinguish single/double click with some modifiers.
// See the comment of `EventHandler.delayed_navigation_task_handle_`. // See the comment of `EventHandler.delayed_navigation_task_handle_`.
auto task_handle = PostDelayedCancellableTask( auto task_handle = PostDelayedCancellableTask(
@@ -743,7 +763,9 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) { @@ -672,7 +692,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
frame->GetEventHandler().SetDelayedNavigationTaskHandle( frame->GetEventHandler().SetDelayedNavigationTaskHandle(
std::move(task_handle)); std::move(task_handle));
} else { } else {
@@ -397,24 +403,30 @@ 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 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 --- a/third_party/blink/renderer/core/html/html_anchor_element.h
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h +++ b/third_party/blink/renderer/core/html/html_anchor_element.h
@@ -112,6 +112,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { @@ -106,6 +106,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
AtomicString interestAction() const override; void SetHovered(bool hovered) override;
void Trace(Visitor*) const override; void Trace(Visitor*) const override;
+ void HandleClick(MouseEvent&, bool do_not_show_context_menu = false); + void HandleClick(Event&, bool do_not_show_context_menu = false);
protected: protected:
void ParseAttribute(const AttributeModificationParams&) override; void ParseAttribute(const AttributeModificationParams&) override;
@@ -143,7 +144,11 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { @@ -130,12 +131,16 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
bool is_trusted, bool IsInteractiveContent() const final;
base::TimeTicks platform_time_stamp, InsertionNotificationRequest InsertedInto(ContainerNode&) override;
KURL); void RemovedFrom(ContainerNode&) override;
- void HandleClick(MouseEvent&); + void NavigateToHyperlink2(ResourceRequest,
+ void NavigateToHyperlink2(ResourceRequest,
+ NavigationPolicy, + NavigationPolicy,
+ bool is_trusted, + bool is_trusted,
+ base::TimeTicks platform_time_stamp, + base::TimeTicks platform_time_stamp,
+ KURL, Event&, bool do_not_show_context_menu); + KURL, Event&, bool do_not_show_context_menu);
void NavigateToHyperlink(ResourceRequest,
NavigationPolicy,
bool is_trusted,
base::TimeTicks platform_time_stamp,
- KURL);
- void HandleClick(Event&);
+ KURL completed_url);
unsigned link_relations_ : 31; unsigned link_relations_ : 31;
mutable LinkHash cached_visited_link_hash_; mutable LinkHash cached_visited_link_hash_;
@@ -437,7 +449,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h" #include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
#include "third_party/blink/renderer/core/probe/core_probes.h" #include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/core/resize_observer/resize_observer_entry.h" #include "third_party/blink/renderer/core/resize_observer/resize_observer_entry.h"
@@ -799,6 +801,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate( @@ -803,6 +805,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
} }
} }
@@ -474,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 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 --- a/third_party/blink/renderer/core/page/context_menu_controller.cc
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc +++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
@@ -228,14 +228,16 @@ void ContextMenuController::DocumentDetached(Document* document) { @@ -225,14 +225,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
} }
} }
@@ -494,7 +506,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
mouse_event->SetDefaultHandled(); mouse_event->SetDefaultHandled();
} }
@@ -453,7 +455,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch( @@ -450,7 +452,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
bool ContextMenuController::ShowContextMenu(LocalFrame* frame, bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
const PhysicalOffset& point, const PhysicalOffset& point,
WebMenuSourceType source_type, WebMenuSourceType source_type,
@@ -504,15 +516,14 @@ 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 // 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 // have context, i.e. whether this is being invoked via a script or in
// response to user input (Mouse event WM_RBUTTONDOWN, // response to user input (Mouse event WM_RBUTTONDOWN,
@@ -476,6 +479,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, @@ -473,6 +476,15 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
if (!result.InnerNodeOrImageMapImage()) if (!result.InnerNodeOrImageMapImage())
return false; return false;
+ if (!do_not_show_context_menu && + if (!do_not_show_context_menu &&
+ base::FeatureList::IsEnabled(features::kShowAlwaysContextMenuOnLinks)) { + base::FeatureList::IsEnabled(features::kShowAlwaysContextMenuOnLinks)) {
+ if (auto* anchor_element = DynamicTo<HTMLAnchorElement>(result.URLElement())) { + if (auto* anchor_element = DynamicTo<HTMLAnchorElement>(result.URLElement())) {
+ MouseEvent event; + Event event;
+ event.SetTarget(mouse_event->target());
+ anchor_element->HandleClick(event, /*do_not_show_context_menu*/true); + anchor_element->HandleClick(event, /*do_not_show_context_menu*/true);
+ return true; + return true;
+ } + }
@@ -521,7 +532,7 @@ 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 // Clear any previously set cached results if we are resetting the hit test
// result. // result.
image_selection_cached_result_ = nullptr; image_selection_cached_result_ = nullptr;
@@ -830,11 +843,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, @@ -831,11 +843,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
SetAutofillData(result.InnerNode(), data); SetAutofillData(result.InnerNode(), data);
SetPasswordManagerData(result.InnerElement(), data); SetPasswordManagerData(result.InnerElement(), data);
+9 -9
View File
@@ -24,7 +24,7 @@ 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 diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -155,6 +155,7 @@ @@ -153,6 +153,7 @@
#include "components/send_tab_to_self/features.h" #include "components/send_tab_to_self/features.h"
#include "components/services/heap_profiling/public/cpp/switches.h" #include "components/services/heap_profiling/public/cpp/switches.h"
#include "components/services/storage/public/cpp/buckets/bucket_info.h" #include "components/services/storage/public/cpp/buckets/bucket_info.h"
@@ -35,7 +35,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
--- a/chrome/browser/engagement/important_sites_util.cc --- a/chrome/browser/engagement/important_sites_util.cc
+++ b/chrome/browser/engagement/important_sites_util.cc +++ b/chrome/browser/engagement/important_sites_util.cc
@@ -33,6 +33,7 @@ @@ -32,6 +32,7 @@
#include "components/prefs/scoped_user_pref_update.h" #include "components/prefs/scoped_user_pref_update.h"
#include "components/site_engagement/content/site_engagement_score.h" #include "components/site_engagement/content/site_engagement_score.h"
#include "components/site_engagement/content/site_engagement_service.h" #include "components/site_engagement/content/site_engagement_service.h"
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
#include "components/site_engagement/core/mojom/site_engagement_details.mojom.h" #include "components/site_engagement/core/mojom/site_engagement_details.mojom.h"
#include "components/webapps/browser/banners/app_banner_settings_helper.h" #include "components/webapps/browser/banners/app_banner_settings_helper.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h" #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
@@ -388,6 +389,10 @@ void ImportantSitesUtil::RegisterProfilePrefs( @@ -387,6 +388,10 @@ void ImportantSitesUtil::RegisterProfilePrefs(
// static // static
std::set<std::string> ImportantSitesUtil::GetInstalledRegisterableDomains( std::set<std::string> ImportantSitesUtil::GetInstalledRegisterableDomains(
Profile* profile) { Profile* profile) {
@@ -54,7 +54,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
std::set<GURL> installed_origins = GetOriginsWithInstalledWebApps(profile); std::set<GURL> installed_origins = GetOriginsWithInstalledWebApps(profile);
std::set<std::string> registerable_domains; std::set<std::string> registerable_domains;
@@ -402,6 +407,10 @@ std::vector<ImportantDomainInfo> @@ -401,6 +406,10 @@ std::vector<ImportantDomainInfo>
ImportantSitesUtil::GetImportantRegisterableDomains(Profile* profile, ImportantSitesUtil::GetImportantRegisterableDomains(Profile* profile,
size_t max_results) { size_t max_results) {
SCOPED_UMA_HISTOGRAM_TIMER("Storage.ImportantSites.GenerationTime"); SCOPED_UMA_HISTOGRAM_TIMER("Storage.ImportantSites.GenerationTime");
@@ -68,15 +68,15 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components/feature_engagement/internal/tracker_impl.cc 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 --- a/components/feature_engagement/internal/tracker_impl.cc
+++ b/components/feature_engagement/internal/tracker_impl.cc +++ b/components/feature_engagement/internal/tracker_impl.cc
@@ -24,6 +24,7 @@ @@ -23,6 +23,7 @@
#include "base/task/single_thread_task_runner.h"
#include "base/time/clock.h" #include "base/time/clock.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "build/chromeos_buildflags.h"
+#include "components/site_engagement/core/features.h" +#include "components/site_engagement/core/features.h"
#include "components/feature_engagement/internal/availability_model_impl.h" #include "components/feature_engagement/internal/availability_model_impl.h"
#include "components/feature_engagement/internal/blocked_iph_features.h" #include "components/feature_engagement/internal/blocked_iph_features.h"
#include "components/feature_engagement/internal/chrome_variations_configuration.h" #include "components/feature_engagement/internal/chrome_variations_configuration.h"
@@ -212,6 +213,8 @@ TrackerImpl::TrackerImpl( @@ -211,6 +212,8 @@ TrackerImpl::TrackerImpl(
TrackerImpl::~TrackerImpl() = default; TrackerImpl::~TrackerImpl() = default;
void TrackerImpl::NotifyEvent(const std::string& event) { void TrackerImpl::NotifyEvent(const std::string& event) {
@@ -96,12 +96,12 @@ diff --git a/components/feature_engagement/public/feature_configurations.cc b/co
#include "components/feature_engagement/public/configuration.h" #include "components/feature_engagement/public/configuration.h"
#include "components/feature_engagement/public/event_constants.h" #include "components/feature_engagement/public/event_constants.h"
#include "components/feature_engagement/public/feature_constants.h" #include "components/feature_engagement/public/feature_constants.h"
@@ -112,6 +113,12 @@ std::optional<FeatureConfig> GetClientSideFeatureConfig( @@ -111,6 +112,12 @@ std::optional<FeatureConfig> GetClientSideFeatureConfig(
} }
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+ if (!base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement)) { + if (!base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement)) {
+ std::optional<FeatureConfig> config = FeatureConfig(); + absl::optional<FeatureConfig> config = FeatureConfig();
+ config->valid = false; + config->valid = false;
+ return config; + return config;
+ } + }
@@ -12,7 +12,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/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -88,6 +88,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment; @@ -86,6 +86,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment;
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher; import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
import org.chromium.components.browser_ui.settings.PaddedItemDecorationWithDivider; import org.chromium.components.browser_ui.settings.PaddedItemDecorationWithDivider;
import org.chromium.components.browser_ui.settings.SettingsLauncher; import org.chromium.components.browser_ui.settings.SettingsLauncher;
@@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment; import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment;
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory; import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat; import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
@@ -460,8 +461,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity @@ -457,8 +458,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
finish(); finish();
return true; return true;
} else if (item.getItemId() == R.id.menu_id_general_help) { } else if (item.getItemId() == R.id.menu_id_general_help) {
File diff suppressed because it is too large Load Diff
+32 -34
View File
@@ -36,7 +36,7 @@ Enabled by default
.../platform/graphics/bitmap_image_metrics.h | 4 +- .../platform/graphics/bitmap_image_metrics.h | 4 +-
.../renderer/platform/image-decoders/BUILD.gn | 9 + .../renderer/platform/image-decoders/BUILD.gn | 9 +
.../platform/image-decoders/image_decoder.cc | 23 + .../platform/image-decoders/image_decoder.cc | 23 +
.../image-decoders/jxl/jxl_image_decoder.cc | 685 ++++++++++++++++++ .../image-decoders/jxl/jxl_image_decoder.cc | 683 ++++++++++++++++++
.../image-decoders/jxl/jxl_image_decoder.h | 123 ++++ .../image-decoders/jxl/jxl_image_decoder.h | 123 ++++
.../jxl/jxl_image_decoder_test.cc | 626 ++++++++++++++++ .../jxl/jxl_image_decoder_test.cc | 626 ++++++++++++++++
.../blink/tools/commit_stats/git-dirs.txt | 1 + .../blink/tools/commit_stats/git-dirs.txt | 1 +
@@ -58,7 +58,7 @@ Enabled by default
.../libjxl/gen_headers/jxl/jxl_export.h | 11 + .../libjxl/gen_headers/jxl/jxl_export.h | 11 +
tools/metrics/histograms/enums.xml | 1 + tools/metrics/histograms/enums.xml | 1 +
.../histograms/metadata/blink/enums.xml | 2 +- .../histograms/metadata/blink/enums.xml | 2 +-
53 files changed, 1997 insertions(+), 17 deletions(-) 53 files changed, 1995 insertions(+), 17 deletions(-)
create mode 100644 build/linux/unbundle/libjxl.gn create mode 100644 build/linux/unbundle/libjxl.gn
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-support-to-jxl.inc create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-support-to-jxl.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-support-to-jxl.inc create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-support-to-jxl.inc
@@ -84,7 +84,7 @@ Enabled by default
diff --git a/DEPS b/DEPS diff --git a/DEPS b/DEPS
--- a/DEPS --- a/DEPS
+++ b/DEPS +++ b/DEPS
@@ -491,6 +491,10 @@ vars = { @@ -489,6 +489,10 @@ vars = {
# Three lines of non-changing comments so that # Three lines of non-changing comments so that
# the commit queue can handle CLs rolling feed # the commit queue can handle CLs rolling feed
# and whatever else without interference from each other. # and whatever else without interference from each other.
@@ -95,7 +95,7 @@ diff --git a/DEPS b/DEPS
'highway_revision': '8f20644eca693cfb74aa795b0006b6779c370e7a', 'highway_revision': '8f20644eca693cfb74aa795b0006b6779c370e7a',
# Three lines of non-changing comments so that # Three lines of non-changing comments so that
# the commit queue can handle CLs rolling ffmpeg # the commit queue can handle CLs rolling ffmpeg
@@ -1102,6 +1106,9 @@ deps = { @@ -1107,6 +1111,9 @@ deps = {
'src/third_party/dawn': 'src/third_party/dawn':
Var('dawn_git') + '/dawn.git' + '@' + Var('dawn_revision'), Var('dawn_git') + '/dawn.git' + '@' + Var('dawn_revision'),
@@ -147,7 +147,7 @@ new file mode 100644
diff --git a/build/linux/unbundle/replace_gn_files.py b/build/linux/unbundle/replace_gn_files.py 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 --- a/build/linux/unbundle/replace_gn_files.py
+++ b/build/linux/unbundle/replace_gn_files.py +++ b/build/linux/unbundle/replace_gn_files.py
@@ -56,6 +56,7 @@ REPLACEMENTS = { @@ -55,6 +55,7 @@ REPLACEMENTS = {
'libdrm': 'third_party/libdrm/BUILD.gn', 'libdrm': 'third_party/libdrm/BUILD.gn',
'libevent': 'third_party/libevent/BUILD.gn', 'libevent': 'third_party/libevent/BUILD.gn',
'libjpeg': 'third_party/libjpeg.gni', 'libjpeg': 'third_party/libjpeg.gni',
@@ -375,7 +375,7 @@ diff --git a/net/base/mime_util_unittest.cc b/net/base/mime_util_unittest.cc
diff --git a/third_party/.gitignore b/third_party/.gitignore diff --git a/third_party/.gitignore b/third_party/.gitignore
--- a/third_party/.gitignore --- a/third_party/.gitignore
+++ b/third_party/.gitignore +++ b/third_party/.gitignore
@@ -91,6 +91,7 @@ @@ -90,6 +90,7 @@
/libgifcodec /libgifcodec
/libjingle/source /libjingle/source
/libupnp /libupnp
@@ -467,7 +467,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 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 --- a/third_party/blink/public/devtools_protocol/browser_protocol.pdl
+++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl +++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
@@ -4346,6 +4346,7 @@ domain Emulation @@ -4294,6 +4294,7 @@ domain Emulation
experimental type DisabledImageType extends string experimental type DisabledImageType extends string
enum enum
avif avif
@@ -478,7 +478,7 @@ diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/t
diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
--- a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc --- a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
+++ b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc +++ b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
@@ -500,10 +500,10 @@ AtomicString InspectorEmulationAgent::OverrideAcceptImageHeader( @@ -502,10 +502,10 @@ AtomicString InspectorEmulationAgent::OverrideAcceptImageHeader(
String header(network_utils::ImageAcceptHeader()); String header(network_utils::ImageAcceptHeader());
for (String type : *disabled_image_types) { for (String type : *disabled_image_types) {
// The header string is expected to be like // The header string is expected to be like
@@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent
header.Replace(String(type + ","), ""); header.Replace(String(type + ","), "");
} }
return AtomicString(header); return AtomicString(header);
@@ -848,6 +848,7 @@ protocol::Response InspectorEmulationAgent::setDisabledImageTypes( @@ -850,6 +850,7 @@ protocol::Response InspectorEmulationAgent::setDisabledImageTypes(
namespace DisabledImageTypeEnum = protocol::Emulation::DisabledImageTypeEnum; namespace DisabledImageTypeEnum = protocol::Emulation::DisabledImageTypeEnum;
for (protocol::Emulation::DisabledImageType type : *disabled_types) { for (protocol::Emulation::DisabledImageType type : *disabled_types) {
if (DisabledImageTypeEnum::Avif == type || if (DisabledImageTypeEnum::Avif == type ||
@@ -608,7 +608,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 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 --- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -2327,6 +2327,10 @@ source_set("blink_platform_unittests_sources") { @@ -2280,6 +2280,10 @@ source_set("blink_platform_unittests_sources") {
sources += [ "text/locale_icu_test.cc" ] sources += [ "text/locale_icu_test.cc" ]
} }
@@ -619,10 +619,10 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
sources += [ "testing/run_all_tests.cc" ] sources += [ "testing/run_all_tests.cc" ]
configs += [ configs += [
@@ -2369,6 +2373,7 @@ source_set("blink_platform_unittests_sources") { @@ -2323,6 +2327,7 @@ source_set("blink_platform_unittests_sources") {
"//third_party/blink/renderer/platform/network:unit_tests",
"//third_party/blink/renderer/platform/scheduler:unit_tests", "//third_party/blink/renderer/platform/scheduler:unit_tests",
"//third_party/blink/renderer/platform/wtf", "//third_party/blink/renderer/platform/wtf",
"//third_party/libavif:libavif",
+ "//third_party/libjxl:libjxl", + "//third_party/libjxl:libjxl",
"//third_party/libyuv", "//third_party/libyuv",
"//third_party/webrtc/api/task_queue:task_queue_test", "//third_party/webrtc/api/task_queue:task_queue_test",
@@ -663,7 +663,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.c
diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h b/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h b/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h
--- a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h --- a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h
+++ b/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h +++ b/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h
@@ -32,8 +32,8 @@ class PLATFORM_EXPORT BitmapImageMetrics { @@ -29,8 +29,8 @@ class PLATFORM_EXPORT BitmapImageMetrics {
kICO = 5, kICO = 5,
kBMP = 6, kBMP = 6,
kAVIF = 7, kAVIF = 7,
@@ -696,15 +696,15 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/BUILD.gn b/third
diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
--- a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc --- a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
+++ b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc +++ b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
@@ -24,6 +24,7 @@ @@ -23,6 +23,7 @@
#include <memory>
#include "base/containers/heap_array.h"
#include "base/logging.h" #include "base/logging.h"
+#include "base/feature_list.h" +#include "base/feature_list.h"
#include "base/numerics/byte_conversions.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/sys_byteorder.h"
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
@@ -31,6 +32,7 @@ @@ -30,6 +31,7 @@
#include "media/media_buildflags.h" #include "media/media_buildflags.h"
#include "skia/ext/cicp.h" #include "skia/ext/cicp.h"
#include "third_party/blink/public/common/buildflags.h" #include "third_party/blink/public/common/buildflags.h"
@@ -712,7 +712,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
#include "third_party/blink/public/platform/platform.h" #include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/platform/image-decoders/bmp/bmp_image_decoder.h" #include "third_party/blink/renderer/platform/image-decoders/bmp/bmp_image_decoder.h"
#include "third_party/blink/renderer/platform/image-decoders/exif_reader.h" #include "third_party/blink/renderer/platform/image-decoders/exif_reader.h"
@@ -48,6 +50,9 @@ @@ -47,6 +49,9 @@
#include "third_party/blink/renderer/platform/image-decoders/avif/avif_image_decoder.h" #include "third_party/blink/renderer/platform/image-decoders/avif/avif_image_decoder.h"
#endif #endif
@@ -722,7 +722,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
namespace blink { namespace blink {
namespace { namespace {
@@ -75,6 +80,11 @@ cc::ImageType FileExtensionToImageType(String image_extension) { @@ -74,6 +79,11 @@ cc::ImageType FileExtensionToImageType(String image_extension) {
if (image_extension == "avif") { if (image_extension == "avif") {
return cc::ImageType::kAVIF; return cc::ImageType::kAVIF;
} }
@@ -734,7 +734,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
#endif #endif
return cc::ImageType::kInvalid; return cc::ImageType::kInvalid;
} }
@@ -192,6 +202,12 @@ String SniffMimeTypeInternal(scoped_refptr<SegmentReader> reader) { @@ -191,6 +201,12 @@ String SniffMimeTypeInternal(scoped_refptr<SegmentReader> reader) {
return "image/avif"; return "image/avif";
} }
#endif #endif
@@ -747,7 +747,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
return String(); return String();
} }
@@ -297,6 +313,13 @@ std::unique_ptr<ImageDecoder> ImageDecoder::CreateByMimeType( @@ -296,6 +312,13 @@ std::unique_ptr<ImageDecoder> ImageDecoder::CreateByMimeType(
decoder = std::make_unique<AVIFImageDecoder>( decoder = std::make_unique<AVIFImageDecoder>(
alpha_option, high_bit_depth_decoding_option, color_behavior, alpha_option, high_bit_depth_decoding_option, color_behavior,
max_decoded_bytes, animation_option); max_decoded_bytes, animation_option);
@@ -765,7 +765,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/jxl/jxl_image_de
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/third_party/blink/renderer/platform/image-decoders/jxl/jxl_image_decoder.cc +++ b/third_party/blink/renderer/platform/image-decoders/jxl/jxl_image_decoder.cc
@@ -0,0 +1,685 @@ @@ -0,0 +1,683 @@
+// Copyright 2021 The Chromium Authors +// Copyright 2021 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be +// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file. +// found in the LICENSE file.
@@ -815,12 +815,11 @@ new file mode 100644
+ // The input ColorProfile owns the buffer memory, make a new copy for + // The input ColorProfile owns the buffer memory, make a new copy for
+ // the newly created one and pass the ownership of the new copy to the new + // the newly created one and pass the ownership of the new copy to the new
+ // color profile. + // color profile.
+ auto owned_buffer = base::HeapArray<uint8_t>::Uninit(buffer_donor.GetProfile()->size); + std::unique_ptr<uint8_t[]> owned_buffer(
+ owned_buffer.copy_from( + new uint8_t[buffer_donor.GetProfile()->size]);
+ base::span<const uint8_t>( + memcpy(owned_buffer.get(), buffer_donor.GetProfile()->buffer,
+ static_cast<const uint8_t*>(buffer_donor.GetProfile()->buffer), + buffer_donor.GetProfile()->size);
+ buffer_donor.GetProfile()->size)); + new_profile.buffer = owned_buffer.get();
+ new_profile.buffer = std::move(owned_buffer.data());
+ return std::make_unique<ColorProfile>(new_profile, std::move(owned_buffer)); + return std::make_unique<ColorProfile>(new_profile, std::move(owned_buffer));
+} +}
+} // namespace +} // namespace
@@ -1145,8 +1144,7 @@ new file mode 100644
+ JXL_COLOR_PROFILE_TARGET_DATA, + JXL_COLOR_PROFILE_TARGET_DATA,
+ icc_profile.data(), icc_profile.size())) { + icc_profile.data(), icc_profile.size())) {
+ profile = + profile =
+ ColorProfile::Create( + ColorProfile::Create(icc_profile.data(), icc_profile.size());
+ base::span(icc_profile.data(), icc_profile.size()));
+ have_data_profile = true; + have_data_profile = true;
+ +
+ // Detect whether the ICC profile approximately equals PQ or HLG, + // Detect whether the ICC profile approximately equals PQ or HLG,
@@ -2224,7 +2222,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 diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
--- a/third_party/blink/web_tests/TestExpectations --- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations +++ b/third_party/blink/web_tests/TestExpectations
@@ -4717,6 +4717,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai @@ -4559,6 +4559,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 # Started failing after rolling new version of check-layout-th.js
css3/flexbox/perpendicular-writing-modes-inside-flex-item.html [ Failure ] css3/flexbox/perpendicular-writing-modes-inside-flex-item.html [ Failure ]
@@ -2240,7 +2238,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 diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites
--- a/third_party/blink/web_tests/VirtualTestSuites --- a/third_party/blink/web_tests/VirtualTestSuites
+++ b/third_party/blink/web_tests/VirtualTestSuites +++ b/third_party/blink/web_tests/VirtualTestSuites
@@ -103,6 +103,15 @@ @@ -102,6 +102,15 @@
"--disable-threaded-compositing", "--disable-threaded-animation"], "--disable-threaded-compositing", "--disable-threaded-animation"],
"expires": "Jul 1, 2023" "expires": "Jul 1, 2023"
}, },
@@ -2655,7 +2653,7 @@ new file mode 100644
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
--- a/tools/metrics/histograms/enums.xml --- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml
@@ -21593,6 +21593,7 @@ from previous Chrome versions. @@ -21104,6 +21104,7 @@ from previous Chrome versions.
<int value="188610022" label="NewMessageListView:enabled"/> <int value="188610022" label="NewMessageListView:enabled"/>
<int value="189728101" label="FasterLocationReload:disabled"/> <int value="189728101" label="FasterLocationReload:disabled"/>
<int value="189777537" label="DisableInitialMostVisitedFadeIn:enabled"/> <int value="189777537" label="DisableInitialMostVisitedFadeIn:enabled"/>
@@ -2674,5 +2672,5 @@ diff --git a/tools/metrics/histograms/metadata/blink/enums.xml b/tools/metrics/h
+ <int value="8" label="kImageJXL"/> + <int value="8" label="kImageJXL"/>
</enum> </enum>
<enum name="DigitalIdentityRequestStatus"> <enum name="FedCmAccountsResponseInvalidReason">
-- --
+4 -4
View File
@@ -218,7 +218,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 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 --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -313,6 +313,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits( @@ -311,6 +311,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
} }
} }
@@ -232,7 +232,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() { unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
base::AutoLock locker(WebGLContextLimitLock()); base::AutoLock locker(WebGLContextLimitLock());
DCHECK(webgl_context_limits_initialized_); DCHECK(webgl_context_limits_initialized_);
@@ -586,25 +593,6 @@ static String ExtractWebGLContextCreationError( @@ -584,25 +591,6 @@ static String ExtractWebGLContextCreationError(
const Platform::GraphicsInfo& info) { const Platform::GraphicsInfo& info) {
StringBuilder builder; StringBuilder builder;
builder.Append("Could not create a WebGL context"); builder.Append("Could not create a WebGL context");
@@ -258,7 +258,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(), FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
builder); builder);
builder.Append('.'); builder.Append('.');
@@ -664,6 +652,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( @@ -662,6 +650,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
const CanvasContextCreationAttributesCore& attributes, const CanvasContextCreationAttributesCore& attributes,
Platform::ContextType context_type, Platform::ContextType context_type,
Platform::GraphicsInfo* graphics_info) { Platform::GraphicsInfo* graphics_info) {
@@ -274,7 +274,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 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 --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
@@ -1978,6 +1978,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext, @@ -1960,6 +1960,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
DOMArrayBufferView* pixels, DOMArrayBufferView* pixels,
int64_t offset); int64_t offset);
+3 -3
View File
@@ -195,7 +195,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d
#include "third_party/blink/public/platform/web_url.h" #include "third_party/blink/public/platform/web_url.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
#include "third_party/blink/public/web/web_document.h" #include "third_party/blink/public/web/web_document.h"
@@ -838,6 +839,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( @@ -847,6 +848,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
// origin. // origin.
WebRTCIPHandlingPolicy policy = WebRTCIPHandlingPolicy policy =
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy); GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);
@@ -219,7 +219,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_rtcp_parameters.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_rtcp_parameters.h"
@@ -312,6 +314,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state, @@ -287,6 +289,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state,
if (kind != "audio" && kind != "video") if (kind != "audio" && kind != "video")
return nullptr; return nullptr;
@@ -246,7 +246,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_encoding_options.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_encoding_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h"
@@ -1070,6 +1072,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state, @@ -1062,6 +1064,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state,
if (kind != "audio" && kind != "video") if (kind != "audio" && kind != "video")
return nullptr; return nullptr;
@@ -41,7 +41,7 @@ diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chr
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
--- a/content/browser/devtools/protocol/network_handler.cc --- a/content/browser/devtools/protocol/network_handler.cc
+++ b/content/browser/devtools/protocol/network_handler.cc +++ b/content/browser/devtools/protocol/network_handler.cc
@@ -1417,6 +1417,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { @@ -1400,6 +1400,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
} }
} }
@@ -49,7 +49,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) { std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
std::vector<GURL> urls; std::vector<GURL> urls;
frame_host->ForEachRenderFrameHostWithAction( frame_host->ForEachRenderFrameHostWithAction(
@@ -1430,6 +1431,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) { @@ -1413,6 +1414,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
}); });
return urls; return urls;
} }
@@ -65,19 +65,19 @@ diff --git a/content/browser/network/cross_origin_embedder_policy_reporter.cc b/
#include "content/browser/network/cross_origin_embedder_policy_reporter.h" #include "content/browser/network/cross_origin_embedder_policy_reporter.h"
+#include "net/base/features.h" +#include "net/base/features.h"
#include <string_view> #include "base/strings/string_piece.h"
#include "base/values.h" #include "base/values.h"
@@ -96,8 +97,6 @@ void CrossOriginEmbedderPolicyReporter::Clone( #include "content/public/browser/storage_partition.h"
@@ -95,8 +96,6 @@ void CrossOriginEmbedderPolicyReporter::Clone(
void CrossOriginEmbedderPolicyReporter::QueueAndNotify( void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
std::initializer_list<std::pair<std::string_view, std::string_view>> body, std::initializer_list<std::pair<base::StringPiece, base::StringPiece>> body,
bool report_only) { bool report_only) {
- const std::optional<std::string>& endpoint = - const std::optional<std::string>& endpoint =
- report_only ? report_only_endpoint_ : endpoint_; - report_only ? report_only_endpoint_ : endpoint_;
const char* const disposition = report_only ? "reporting" : "enforce"; const char* const disposition = report_only ? "reporting" : "enforce";
if (observer_) { if (observer_) {
std::vector<blink::mojom::ReportBodyElementPtr> list; std::vector<blink::mojom::ReportBodyElementPtr> list;
@@ -112,6 +111,9 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify( @@ -111,6 +110,9 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
observer_->Notify(blink::mojom::Report::New( observer_->Notify(blink::mojom::Report::New(
kType, context_url_, blink::mojom::ReportBody::New(std::move(list)))); kType, context_url_, blink::mojom::ReportBody::New(std::move(list))));
} }
@@ -87,7 +87,7 @@ diff --git a/content/browser/network/cross_origin_embedder_policy_reporter.cc b/
if (endpoint) { if (endpoint) {
base::Value::Dict body_to_pass; base::Value::Dict body_to_pass;
for (const auto& pair : body) { for (const auto& pair : body) {
@@ -126,6 +128,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify( @@ -125,6 +127,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
/*user_agent=*/std::nullopt, std::move(body_to_pass)); /*user_agent=*/std::nullopt, std::move(body_to_pass));
} }
} }
@@ -201,16 +201,16 @@ 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 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 --- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -14056,12 +14056,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( @@ -13787,12 +13787,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
} base::Value::Dict body;
} if (!reason.empty())
} body.Set("reason", reason);
- -
- // Send the crash report to the Reporting API. - // Send the crash report to the Reporting API.
- GetProcess()->GetStoragePartition()->GetNetworkContext()->QueueReport( - GetProcess()->GetStoragePartition()->GetNetworkContext()->QueueReport(
- /*type=*/"crash", /*group=*/"default", last_committed_url_, - /*type=*/"crash", /*group=*/"default", last_committed_url_,
- GetReportingSource(), isolation_info_.network_anonymization_key(), - GetReportingSource(), isolation_info_.network_anonymization_key(),
- /*user_agent=*/std::nullopt, std::move(body)); - std::nullopt /* user_agent */, std::move(body));
} }
void RenderFrameHostImpl::SendCommitNavigation( void RenderFrameHostImpl::SendCommitNavigation(
@@ -254,7 +254,7 @@ new file mode 100644
diff --git a/net/base/features.cc b/net/base/features.cc diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc --- a/net/base/features.cc
+++ b/net/base/features.cc +++ b/net/base/features.cc
@@ -222,6 +222,7 @@ extern const base::FeatureParam<base::TimeDelta> kTimeoutTcpConnectAttemptMax( @@ -229,6 +229,7 @@ extern const base::FeatureParam<base::TimeDelta> kTimeoutTcpConnectAttemptMax(
base::Seconds(30)); base::Seconds(30));
#if BUILDFLAG(ENABLE_REPORTING) #if BUILDFLAG(ENABLE_REPORTING)
@@ -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 diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
--- a/services/network/public/mojom/BUILD.gn --- a/services/network/public/mojom/BUILD.gn
+++ b/services/network/public/mojom/BUILD.gn +++ b/services/network/public/mojom/BUILD.gn
@@ -1467,7 +1467,6 @@ mojom("mojom") { @@ -1443,7 +1443,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1" export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h" export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) { 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 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 --- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom
@@ -1221,6 +1221,7 @@ interface NetworkContext { @@ -1206,6 +1206,7 @@ interface NetworkContext {
// provided |network_isolation_key|. // provided |network_isolation_key|.
// //
// Spec: https://w3c.github.io/reporting/#concept-reports // 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, QueueReport(string type,
string group, string group,
url.mojom.Url url, url.mojom.Url url,
@@ -1234,6 +1235,7 @@ interface NetworkContext { @@ -1219,6 +1220,7 @@ interface NetworkContext {
// Note that this queued report will never be delivered if no reporting // Note that this queued report will never be delivered if no reporting
// endpoint matching is registered for with the provided // endpoint matching is registered for with the provided
// |network_isolation_key|. // |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/containers/contains.h"
#include "base/debug/dump_without_crashing.h" #include "base/debug/dump_without_crashing.h"
#include "base/ranges/algorithm.h" #include "base/ranges/algorithm.h"
@@ -1215,6 +1216,7 @@ void ContentSecurityPolicy::ReportViolation( @@ -1167,6 +1168,7 @@ void ContentSecurityPolicy::ReportViolation(
return; 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, PostViolationReport(violation_data, context_frame, report_endpoints,
use_reporting_api); use_reporting_api);
@@ -1222,6 +1224,7 @@ void ContentSecurityPolicy::ReportViolation( @@ -1174,6 +1176,7 @@ void ContentSecurityPolicy::ReportViolation(
// `context_frame` (i.e. we're not processing 'frame-ancestors'). // `context_frame` (i.e. we're not processing 'frame-ancestors').
if (delegate_ && !context_frame) if (delegate_ && !context_frame)
delegate_->DispatchViolationEvent(*violation_data, element); delegate_->DispatchViolationEvent(*violation_data, element);
@@ -362,8 +362,8 @@ 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/cpp/features.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.h" #include "services/network/public/mojom/content_security_policy.mojom-blink.h"
#include "services/network/public/mojom/source_location.mojom-blink.h" #include "services/network/public/mojom/source_location.mojom-blink.h"
@@ -2670,9 +2671,11 @@ void LocalFrame::MainFrameFirstMeaningfulPaint() { @@ -2619,9 +2620,11 @@ void LocalFrame::MainFrameInteractive() {
v8_local_compile_hints_producer_->GenerateData(kIsFinalData); v8_local_compile_hints_producer_->GenerateData();
} }
+#if BUILDFLAG(ENABLE_REPORTING) +#if BUILDFLAG(ENABLE_REPORTING)
@@ -385,7 +385,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
#include "mojo/public/cpp/bindings/pending_associated_receiver.h" #include "mojo/public/cpp/bindings/pending_associated_receiver.h"
#include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "services/metrics/public/cpp/ukm_source_id.h" #include "services/metrics/public/cpp/ukm_source_id.h"
@@ -661,8 +662,9 @@ class CORE_EXPORT LocalFrame final @@ -657,8 +658,9 @@ class CORE_EXPORT LocalFrame final
void FinishedScrollSequence(); void FinishedScrollSequence();
SmoothScrollSequencer* GetSmoothScrollSequencer() const; SmoothScrollSequencer* GetSmoothScrollSequencer() const;
@@ -4,33 +4,45 @@ Subject: Allow building without supervised users
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/BUILD.gn | 1 - chrome/android/BUILD.gn | 1 -
.../browser/feed/FeedSurfaceCoordinator.java | 5 +---- chrome/android/chrome_java_sources.gni | 1 -
chrome/browser/BUILD.gn | 2 -- .../chrome/browser/feed/FeedSurfaceCoordinator.java | 5 +----
.../prefs/chrome_pref_service_factory.cc | 2 +- chrome/browser/BUILD.gn | 6 ------
.../profiles/profile_attributes_entry.cc | 2 +- .../browser/extensions/api/settings_private/prefs_util.cc | 2 ++
chrome/browser/profiles/profile_impl.cc | 5 +---- chrome/browser/profiles/profile_impl.cc | 4 ++++
chrome/browser/profiles/profile_manager.cc | 20 ------------------- chrome/browser/profiles/profile_manager.cc | 4 ++++
chrome/browser/ui/webui/managed_ui_handler.cc | 4 ---- chrome/browser/ui/webui/managed_ui_handler.cc | 2 ++
.../webui/management/management_ui_handler.cc | 5 ----- chrome/browser/ui/webui/management/management_ui_handler.cc | 2 ++
.../browser/supervised_user_pref_store.cc | 1 + components/supervised_user/buildflags.gni | 6 +-----
.../browser/supervised_user_preferences.cc | 6 +++++- .../core/browser/supervised_user_preferences.cc | 2 +-
.../core/browser/supervised_user_service.cc | 1 + .../supervised_user/core/browser/supervised_user_utils.cc | 4 ++++
.../core/browser/supervised_user_utils.cc | 1 + components/supervised_user/core/common/features.cc | 1 +
.../supervised_user/core/common/features.cc | 6 ++++++ components/supervised_user/core/common/pref_names.h | 4 ++++
14 files changed, 18 insertions(+), 43 deletions(-) .../core/common/supervised_user_constants.cc | 2 ++
15 files changed, 28 insertions(+), 18 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn
@@ -749,7 +749,6 @@ if (current_toolchain == default_toolchain) { @@ -3697,7 +3697,6 @@ generate_jni("chrome_jni_headers") {
"//components/dom_distiller/core:distiller_type_java", "java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java",
"//components/ntp_tiles:ntp_tiles_enums_java", "java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSites.java",
"//components/offline_pages/core:offline_page_model_enums_java", "java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java",
- "//components/supervised_user/core/browser:supervised_user_utils_enum_javagen", - "java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.java",
"//net:effective_connection_type_java", "java/src/org/chromium/chrome/browser/sync/TrustedVaultClient.java",
] "java/src/org/chromium/chrome/browser/tab/TabBrowserControlsConstraintsHelper.java",
"java/src/org/chromium/chrome/browser/tab/TabFavicon.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
@@ -1085,7 +1085,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",
- "java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.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 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 --- 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 +++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
@@ -42,7 +54,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/
import org.chromium.components.user_prefs.UserPrefs; import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.third_party.android.swiperefresh.SwipeRefreshLayout; import org.chromium.third_party.android.swiperefresh.SwipeRefreshLayout;
import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.DeviceFormFactor;
@@ -753,9 +752,7 @@ public class FeedSurfaceCoordinator @@ -775,9 +774,7 @@ public class FeedSurfaceCoordinator
* Returns true if the supervised user feed should be displayed. * Returns true if the supervised user feed should be displayed.
*/ */
public boolean shouldDisplaySupervisedFeed() { public boolean shouldDisplaySupervisedFeed() {
@@ -56,7 +68,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -3237,8 +3237,6 @@ static_library("browser") { @@ -3165,8 +3165,6 @@ static_library("browser") {
"feed/android/refresh_task_scheduler_impl.cc", "feed/android/refresh_task_scheduler_impl.cc",
"feed/android/refresh_task_scheduler_impl.h", "feed/android/refresh_task_scheduler_impl.h",
"feed/android/web_feed_bridge.cc", "feed/android/web_feed_bridge.cc",
@@ -65,186 +77,215 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"file_select_helper_contacts_android.cc", "file_select_helper_contacts_android.cc",
"file_select_helper_contacts_android.h", "file_select_helper_contacts_android.h",
"first_run/android/first_run_prefs.cc", "first_run/android/first_run_prefs.cc",
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc @@ -3371,10 +3369,6 @@ static_library("browser") {
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc "ssl/chrome_security_state_model_delegate.h",
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc "ssl/known_interception_disclosure_infobar.cc",
@@ -317,7 +317,7 @@ void PrepareFactory( "ssl/known_interception_disclosure_infobar.h",
policy::BrowserPolicyConnector* policy_connector) { - "supervised_user/android/favicon_fetcher.cc",
factory->SetManagedPolicies(policy_service, policy_connector); - "supervised_user/android/favicon_fetcher.h",
factory->SetRecommendedPolicies(policy_service, policy_connector); - "supervised_user/android/supervised_user_web_content_handler_impl.cc",
- if (supervised_user_settings) { - "supervised_user/android/supervised_user_web_content_handler_impl.h",
+ if (((false)) && supervised_user_settings) { "sync/glue/synced_tab_delegate_android.cc",
scoped_refptr<PrefStore> supervised_user_prefs = "sync/glue/synced_tab_delegate_android.h",
base::MakeRefCounted<SupervisedUserPrefStore>(supervised_user_settings); "sync/glue/synced_window_delegate_android.cc",
DCHECK(async || supervised_user_prefs->IsInitializationComplete()); diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/profiles/profile_attributes_entry.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/profiles/profile_attributes_entry.cc @@ -1024,9 +1024,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
@@ -422,7 +422,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const { settings_api::PrefType::kBoolean;
} #endif
std::string ProfileAttributesEntry::GetSupervisedUserId() const { +#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
- return GetString(kSupervisedUserId); // Supervised Users. This setting is queried in our Tast tests (b/241943380).
+ return ""; (*s_allowlist)[::prefs::kSupervisedUserExtensionsMayRequestPermissions] =
} settings_api::PrefType::kBoolean;
+#endif
bool ProfileAttributesEntry::IsEphemeral() const { #if BUILDFLAG(IS_CHROMEOS_LACROS)
(*s_allowlist)[::prefs::kUseAshProxy] = settings_api::PrefType::kBoolean;
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc --- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc
@@ -690,10 +690,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) { @@ -689,10 +689,12 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) {
prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_); prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_);
pref_change_registrar_.Init(prefs); pref_change_registrar_.Init(prefs);
- pref_change_registrar_.Add( +#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
- prefs::kSupervisedUserId, pref_change_registrar_.Add(
- base::BindRepeating(&ProfileImpl::UpdateSupervisedUserIdInStorage, prefs::kSupervisedUserId,
- base::Unretained(this))); base::BindRepeating(&ProfileImpl::UpdateSupervisedUserIdInStorage,
base::Unretained(this)));
+#endif
// Changes in the profile avatar. // Changes in the profile avatar.
pref_change_registrar_.Add( pref_change_registrar_.Add(
@@ -1631,6 +1627,7 @@ GURL ProfileImpl::GetHomePage() { @@ -1627,11 +1629,13 @@ GURL ProfileImpl::GetHomePage() {
} }
void ProfileImpl::UpdateSupervisedUserIdInStorage() { void ProfileImpl::UpdateSupervisedUserIdInStorage() {
+ if ((true)) return; +#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
ProfileManager* profile_manager = g_browser_process->profile_manager(); ProfileManager* profile_manager = g_browser_process->profile_manager();
ProfileAttributesEntry* entry = profile_manager->GetProfileAttributesStorage() ProfileAttributesEntry* entry = profile_manager->GetProfileAttributesStorage()
.GetProfileAttributesWithPath(GetPath()); .GetProfileAttributesWithPath(GetPath());
if (entry)
entry->SetSupervisedUserId(GetPrefs()->GetString(prefs::kSupervisedUserId));
+#endif
}
void ProfileImpl::UpdateNameInStorage() {
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
--- a/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc
@@ -1214,23 +1214,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { @@ -1215,6 +1215,7 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
profile->GetPrefs()->SetString(prefs::kProfileName, profile_name); profile->GetPrefs()->SetString(prefs::kProfileName, profile_name);
} }
- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); +#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
- bool force_supervised_user_id = base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
-#if BUILDFLAG(IS_CHROMEOS_ASH) bool force_supervised_user_id =
- !ash::IsSigninBrowserContext(profile) && #if BUILDFLAG(IS_CHROMEOS_ASH)
- !ash::IsLockScreenAppBrowserContext(profile) && @@ -1236,6 +1237,7 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
-#endif profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
- command_line->HasSwitch(switches::kSupervisedUserId); supervised_user_id);
- }
- if (force_supervised_user_id) { +#endif
- supervised_user_id =
- command_line->GetSwitchValueASCII(switches::kSupervisedUserId);
- }
- if (force_supervised_user_id ||
- !profile->GetPrefs()->HasPrefPath(prefs::kSupervisedUserId)) {
- profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
- supervised_user_id);
- }
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
if (profile->IsNewProfile()) { if (profile->IsNewProfile()) {
profile->GetPrefs()->SetBoolean(prefs::kHasSeenWelcomePage, false); profile->GetPrefs()->SetBoolean(prefs::kHasSeenWelcomePage, false);
@@ -2038,9 +2021,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { @@ -2035,8 +2037,10 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
init_params.icon_index = init_params.icon_index =
profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex); profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex);
- init_params.supervised_user_id = +#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
- profile->GetPrefs()->GetString(prefs::kSupervisedUserId); init_params.supervised_user_id =
- profile->GetPrefs()->GetString(prefs::kSupervisedUserId);
+#endif
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
user_manager::User* user = user_manager::User* user =
ash::ProfileHelper::Get()->GetUserByProfile(profile);
diff --git a/chrome/browser/ui/webui/managed_ui_handler.cc b/chrome/browser/ui/webui/managed_ui_handler.cc diff --git a/chrome/browser/ui/webui/managed_ui_handler.cc b/chrome/browser/ui/webui/managed_ui_handler.cc
--- a/chrome/browser/ui/webui/managed_ui_handler.cc --- a/chrome/browser/ui/webui/managed_ui_handler.cc
+++ b/chrome/browser/ui/webui/managed_ui_handler.cc +++ b/chrome/browser/ui/webui/managed_ui_handler.cc
@@ -89,10 +89,6 @@ void ManagedUIHandler::AddObservers() { @@ -90,9 +90,11 @@ void ManagedUIHandler::AddObservers() {
auto domain = static_cast<policy::PolicyDomain>(i);
policy_service->AddObserver(domain, this); policy_service->AddObserver(domain, this);
} }
-
- pref_registrar_.Add(prefs::kSupervisedUserId, +#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
- base::BindRepeating(&ManagedUIHandler::NotifyIfChanged, pref_registrar_.Add(prefs::kSupervisedUserId,
- base::Unretained(this))); base::BindRepeating(&ManagedUIHandler::NotifyIfChanged,
base::Unretained(this)));
+#endif
} }
void ManagedUIHandler::RemoveObservers() { void ManagedUIHandler::RemoveObservers() {
diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrome/browser/ui/webui/management/management_ui_handler.cc diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrome/browser/ui/webui/management/management_ui_handler.cc
--- a/chrome/browser/ui/webui/management/management_ui_handler.cc --- a/chrome/browser/ui/webui/management/management_ui_handler.cc
+++ b/chrome/browser/ui/webui/management/management_ui_handler.cc +++ b/chrome/browser/ui/webui/management/management_ui_handler.cc
@@ -1496,11 +1496,6 @@ void ManagementUIHandler::AddObservers() { @@ -1507,10 +1507,12 @@ void ManagementUIHandler::AddObservers() {
pref_registrar_.Init(profile->GetPrefs()); pref_registrar_.Init(profile->GetPrefs());
- pref_registrar_.Add( +#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
- prefs::kSupervisedUserId, pref_registrar_.Add(
- base::BindRepeating(&ManagementUIHandler::UpdateManagedState, prefs::kSupervisedUserId,
- base::Unretained(this))); base::BindRepeating(&ManagementUIHandler::UpdateManagedState,
- base::Unretained(this)));
+#endif
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
pref_registrar_.Add( pref_registrar_.Add(
plugin_vm::prefs::kPluginVmDataCollectionAllowed, diff --git a/components/supervised_user/buildflags.gni b/components/supervised_user/buildflags.gni
diff --git a/components/supervised_user/core/browser/supervised_user_pref_store.cc b/components/supervised_user/core/browser/supervised_user_pref_store.cc --- a/components/supervised_user/buildflags.gni
--- a/components/supervised_user/core/browser/supervised_user_pref_store.cc +++ b/components/supervised_user/buildflags.gni
+++ b/components/supervised_user/core/browser/supervised_user_pref_store.cc @@ -4,9 +4,5 @@
@@ -126,6 +126,7 @@ SupervisedUserPrefStore::~SupervisedUserPrefStore() {}
void SupervisedUserPrefStore::OnNewSettingsAvailable( declare_args() {
const base::Value::Dict& settings) { # Enables supervision for Family Link users.
+ if ((true)) return; - enable_supervised_users =
std::unique_ptr<PrefValueMap> old_prefs = std::move(prefs_); - # Platforms which fully support supervision features:
prefs_ = std::make_unique<PrefValueMap>(); - is_android || is_chromeos ||
if (!settings.empty()) { - # Platforms for which support is currently in development:
- is_ios || is_linux || is_mac || is_win
+ enable_supervised_users = false
}
diff --git a/components/supervised_user/core/browser/supervised_user_preferences.cc b/components/supervised_user/core/browser/supervised_user_preferences.cc diff --git a/components/supervised_user/core/browser/supervised_user_preferences.cc b/components/supervised_user/core/browser/supervised_user_preferences.cc
--- a/components/supervised_user/core/browser/supervised_user_preferences.cc --- a/components/supervised_user/core/browser/supervised_user_preferences.cc
+++ b/components/supervised_user/core/browser/supervised_user_preferences.cc +++ b/components/supervised_user/core/browser/supervised_user_preferences.cc
@@ -162,6 +162,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { @@ -173,7 +173,7 @@ bool IsChildAccountStatusKnown(const PrefService& pref_service) {
} }
void EnableParentalControls(PrefService& pref_service) { bool IsChildAccount(const PrefService& pref_service) {
+ if ((true)) {
+ DisableParentalControls(pref_service);
+ return;
+ }
pref_service.SetString(prefs::kSupervisedUserId,
supervised_user::kChildAccountSUID);
SetIsChildAccountStatusKnown(pref_service);
@@ -184,7 +188,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) {
}
bool IsSubjectToParentalControls(const PrefService& pref_service) {
- return pref_service.GetString(prefs::kSupervisedUserId) == kChildAccountSUID; - return pref_service.GetString(prefs::kSupervisedUserId) == kChildAccountSUID;
+ return false; + return false;
} }
bool AreExtensionsPermissionsEnabled(const PrefService& pref_service) { bool IsSafeSitesEnabled(const PrefService& pref_service) {
diff --git a/components/supervised_user/core/browser/supervised_user_service.cc b/components/supervised_user/core/browser/supervised_user_service.cc
--- a/components/supervised_user/core/browser/supervised_user_service.cc
+++ b/components/supervised_user/core/browser/supervised_user_service.cc
@@ -189,6 +189,7 @@ FirstTimeInterstitialBannerState SupervisedUserService::GetUpdatedBannerState(
}
void SupervisedUserService::SetActive(bool active) {
+ active = false;
if (active_ == active) {
return;
}
diff --git a/components/supervised_user/core/browser/supervised_user_utils.cc b/components/supervised_user/core/browser/supervised_user_utils.cc diff --git a/components/supervised_user/core/browser/supervised_user_utils.cc b/components/supervised_user/core/browser/supervised_user_utils.cc
--- a/components/supervised_user/core/browser/supervised_user_utils.cc --- a/components/supervised_user/core/browser/supervised_user_utils.cc
+++ b/components/supervised_user/core/browser/supervised_user_utils.cc +++ b/components/supervised_user/core/browser/supervised_user_utils.cc
@@ -99,6 +99,7 @@ GURL NormalizeUrl(const GURL& url) { @@ -81,11 +81,15 @@ GURL NormalizeUrl(const GURL& url) {
} }
bool AreWebFilterPrefsDefault(const PrefService& pref_service) { bool AreWebFilterPrefsDefault(const PrefService& pref_service) {
+ if ((true)) return true; +#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
return pref_service return pref_service
.FindPreference(prefs::kDefaultSupervisedUserFilteringBehavior) .FindPreference(prefs::kDefaultSupervisedUserFilteringBehavior)
->IsDefaultValue() || ->IsDefaultValue() ||
pref_service.FindPreference(prefs::kSupervisedUserSafeSites)
->IsDefaultValue();
+#else
+ return true;
+#endif
}
bool EmitLogRecordHistograms(
diff --git a/components/supervised_user/core/common/features.cc b/components/supervised_user/core/common/features.cc 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 --- a/components/supervised_user/core/common/features.cc
+++ b/components/supervised_user/core/common/features.cc +++ b/components/supervised_user/core/common/features.cc
@@ -122,4 +122,10 @@ bool IsShadowKidsApiWithSafeSitesEnabled() { @@ -163,4 +163,5 @@ bool IsShadowKidsApiWithSafeSitesEnabled() {
return base::FeatureList::IsEnabled(kShadowKidsApiWithSafeSites); return base::FeatureList::IsEnabled(kShadowKidsApiWithSafeSites);
} }
+SET_CROMITE_FEATURE_DISABLED(kKidFriendlyContentFeed); +SET_CROMITE_FEATURE_DISABLED(kForceGoogleSafeSearchForSupervisedUsers);
+SET_CROMITE_FEATURE_DISABLED(kLocalWebApprovals);
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+SET_CROMITE_FEATURE_DISABLED(kEnableExtensionsPermissionsForSupervisedUsersOnDesktop);
+#endif
+
} // namespace supervised_user } // 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
@@ -5,8 +5,10 @@
#ifndef COMPONENTS_SUPERVISED_USER_CORE_COMMON_PREF_NAMES_H_
#define COMPONENTS_SUPERVISED_USER_CORE_COMMON_PREF_NAMES_H_
+#include "components/supervised_user/core/common/buildflags.h"
#include "extensions/buildflags/buildflags.h"
+#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
namespace prefs {
// A bool pref that keeps whether the child status for this profile was already
@@ -132,4 +134,6 @@ inline constexpr char kFirstTimeInterstitialBannerState[] =
} // namespace prefs
+#endif // BUILDFLAG(ENABLE_SUPERVISED_USERS)
+
#endif // COMPONENTS_SUPERVISED_USER_CORE_COMMON_PREF_NAMES_H_
diff --git a/components/supervised_user/core/common/supervised_user_constants.cc b/components/supervised_user/core/common/supervised_user_constants.cc
--- a/components/supervised_user/core/common/supervised_user_constants.cc
+++ b/components/supervised_user/core/common/supervised_user_constants.cc
@@ -70,6 +70,7 @@ const char kChromeOSAvatarIndex[] = "chromeos-avatar-index";
const char kChromeOSPasswordData[] = "chromeos-password-data";
+#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
const char* const kCustodianInfoPrefs[] = {
prefs::kSupervisedUserCustodianName,
prefs::kSupervisedUserCustodianEmail,
@@ -82,6 +83,7 @@ const char* const kCustodianInfoPrefs[] = {
prefs::kSupervisedUserSecondCustodianProfileURL,
prefs::kSupervisedUserSecondCustodianProfileImageURL,
};
+#endif
const base::FilePath::CharType kSupervisedUserSettingsFilename[] =
FILE_PATH_LITERAL("Managed Mode Settings");
-- --
@@ -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 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 --- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc +++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
@@ -1197,6 +1197,12 @@ bool WebMediaPlayerImpl::HasAudio() const { @@ -1181,6 +1181,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio; 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( void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) { const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread()); DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -3541,7 +3547,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { @@ -3524,7 +3530,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
: HasAudio(); : HasAudio();
// Audio only stream is allowed to play when in background. // Audio only stream is allowed to play when in background.
@@ -39,7 +39,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.h --- a/third_party/blink/renderer/platform/media/web_media_player_impl.h
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h +++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h
@@ -212,6 +212,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl @@ -200,6 +200,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
bool HasVideo() const override; bool HasVideo() const override;
bool HasAudio() const override; bool HasAudio() const override;
@@ -1,64 +0,0 @@
From: uazo <uazo@users.noreply.github.com>
Date: Wed, 22 May 2024 07:41:34 +0000
Subject: Android Toolbar Scroll Ablation setting
Adds a setting for blocking the toolbar hiding
need: Add-cromite-flags-support.patch
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../Toolbar-Scroll-Ablation-flag.grdp | 9 +++++++++
.../java/res/xml/accessibility_preferences.xml | 6 ++++++
.../about_flags_cc/Toolbar-Scroll-Ablation-flag.inc | 12 ++++++++++++
3 files changed, 27 insertions(+)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Toolbar-Scroll-Ablation-flag.inc
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp
new file mode 100644
--- /dev/null
+++ b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<grit-part>
+ <message name="IDS_LOCK_TOOLBAR_TITLE" desc="Text for 'Always show toolbar' settings option.">
+ Always show toolbar
+ </message>
+ <message name="IDS_LOCK_TOOLBAR_SUMMARY" desc="Summary text for 'Always show toolbar' settings option.">
+ Blocks the toolbar's hiding
+ </message>
+</grit-part>
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -73,6 +73,12 @@ found in the LICENSE file.
android:key="disable_toolbar_swipeup"
android:title="@string/disable_toolbar_swipe_up" />
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:title="@string/lock_toolbar_title"
+ android:summary="@string/lock_toolbar_summary"
+ app:featureName="android-toolbar-scroll-ablation"
+ app:needRestart="true" />
+
<PreferenceCategory
android:key="customize_selecton_popup_section"
android:title="@string/customize_selecton_popup_title" />
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Toolbar-Scroll-Ablation-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Toolbar-Scroll-Ablation-flag.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/about_flags_cc/Toolbar-Scroll-Ablation-flag.inc
@@ -0,0 +1,12 @@
+#if BUILDFLAG(IS_ANDROID)
+
+#ifdef FLAG_SECTION
+
+ {"android-toolbar-scroll-ablation",
+ "Android Toolbar Scroll Ablation",
+ "Always shows the toolbar", kOsAndroid,
+ FEATURE_VALUE_TYPE(chrome::android::kAndroidToolbarScrollAblation)},
+
+#endif
+
+#endif
--
@@ -87,15 +87,15 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.h b/third_
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc --- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
@@ -12,6 +12,7 @@ @@ -11,6 +11,7 @@
#include "services/metrics/public/cpp/ukm_recorder.h"
#include "third_party/blink/public/common/browser_interface_broker_proxy.h" #include "third_party/blink/public/common/browser_interface_broker_proxy.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/mediastream/media_devices.h" #include "third_party/blink/public/common/mediastream/media_devices.h"
+#include "third_party/blink/public/common/features.h" +#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h" #include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
#include "third_party/blink/public/platform/web_audio_latency_hint.h" #include "third_party/blink/public/platform/web_audio_latency_hint.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
@@ -582,7 +583,9 @@ double AudioContext::baseLatency() const { @@ -586,7 +587,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread()); DCHECK(IsMainThread());
DCHECK(destination()); DCHECK(destination());
@@ -134,11 +134,11 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b
+ +
void BaseAudioContext::NotifySourceNodeStartedProcessing(AudioNode* node) { void BaseAudioContext::NotifySourceNodeStartedProcessing(AudioNode* node) {
DCHECK(IsMainThread()); DCHECK(IsMainThread());
DeferredTaskHandler::GraphAutoLocker locker(this); GraphAutoLocker locker(this);
diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/third_party/blink/renderer/modules/webaudio/base_audio_context.h diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
--- a/third_party/blink/renderer/modules/webaudio/base_audio_context.h --- a/third_party/blink/renderer/modules/webaudio/base_audio_context.h
+++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.h +++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
@@ -337,6 +337,8 @@ class MODULES_EXPORT BaseAudioContext @@ -339,6 +339,8 @@ class MODULES_EXPORT BaseAudioContext
// if the execution context does not exist. // if the execution context does not exist.
bool CheckExecutionContextAndThrowIfNecessary(ExceptionState&); bool CheckExecutionContextAndThrowIfNecessary(ExceptionState&);
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc
--- a/third_party/blink/renderer/modules/battery/battery_manager.cc --- a/third_party/blink/renderer/modules/battery/battery_manager.cc
+++ b/third_party/blink/renderer/modules/battery/battery_manager.cc +++ b/third_party/blink/renderer/modules/battery/battery_manager.cc
@@ -80,46 +80,28 @@ ScriptPromise<BatteryManager> BatteryManager::StartRequest( @@ -80,46 +80,28 @@ ScriptPromiseTyped<BatteryManager> BatteryManager::StartRequest(
} }
bool BatteryManager::charging() { bool BatteryManager::charging() {
@@ -72,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 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 --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
@@ -590,6 +590,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { @@ -593,6 +593,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request; return should_block_request;
} }
@@ -102,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 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 --- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -166,6 +166,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, @@ -177,6 +177,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override; bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle() std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override; override;
@@ -121,7 +121,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th
#include "third_party/blink/renderer/platform/runtime_enabled_features.h" #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/scheduler/public/virtual_time_controller.h" #include "third_party/blink/renderer/platform/scheduler/public/virtual_time_controller.h"
#include "third_party/blink/renderer/platform/supplementable.h" #include "third_party/blink/renderer/platform/supplementable.h"
@@ -90,6 +91,26 @@ bool WorkerFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { @@ -94,6 +95,26 @@ bool WorkerFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request; return should_block_request;
} }
@@ -177,7 +177,7 @@ diff --git a/third_party/blink/renderer/core/workers/installed_scripts_manager.c
diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
--- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc --- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc +++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
@@ -102,6 +102,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) { @@ -101,6 +101,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
request_url.ProtocolIsInHTTPFamily(); request_url.ProtocolIsInHTTPFamily();
} }
@@ -208,7 +208,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
scoped_refptr<BlobDataHandle> ExtractBlobHandle( scoped_refptr<BlobDataHandle> ExtractBlobHandle(
Request* request, Request* request,
ExceptionState& exception_state) { ExceptionState& exception_state) {
@@ -189,6 +213,13 @@ ScriptPromise<BackgroundFetchRegistration> BackgroundFetchManager::fetch( @@ -188,6 +212,13 @@ ScriptPromise BackgroundFetchManager::fetch(
exception_state); exception_state);
} }
@@ -240,7 +240,7 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_imp
diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b/third_party/blink/renderer/modules/websockets/websocket_common.cc diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b/third_party/blink/renderer/modules/websockets/websocket_common.cc
--- a/third_party/blink/renderer/modules/websockets/websocket_common.cc --- a/third_party/blink/renderer/modules/websockets/websocket_common.cc
+++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc +++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc
@@ -136,9 +136,39 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect( @@ -125,9 +125,39 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
return ConnectResult::kException; return ConnectResult::kException;
} }
@@ -18,16 +18,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
net/url_request/trk_protocol_handler.h | 30 +++++++++++++++++++ net/url_request/trk_protocol_handler.h | 30 +++++++++++++++++++
net/url_request/url_request.cc | 8 +++++ net/url_request/url_request.cc | 8 +++++
.../url_request_context_builder.cc | 3 ++ .../url_request_context_builder.cc | 3 ++
url/url_constants.cc | 1 +
url/url_constants.h | 1 + url/url_constants.h | 1 +
url/url_util.cc | 2 ++ url/url_util.cc | 2 ++
13 files changed, 90 insertions(+), 1 deletion(-) 14 files changed, 91 insertions(+), 1 deletion(-)
create mode 100644 net/url_request/trk_protocol_handler.cc create mode 100644 net/url_request/trk_protocol_handler.cc
create mode 100644 net/url_request/trk_protocol_handler.h create mode 100644 net/url_request/trk_protocol_handler.h
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc b/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc diff --git a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc b/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc --- a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
@@ -56,6 +56,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForScheme( @@ -58,6 +58,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForScheme(
if (base::IsStringASCII(scheme) && if (base::IsStringASCII(scheme) &&
(ProfileIOData::IsHandledProtocol(scheme) || (ProfileIOData::IsHandledProtocol(scheme) ||
base::EqualsCaseInsensitiveASCII(scheme, content::kViewSourceScheme) || base::EqualsCaseInsensitiveASCII(scheme, content::kViewSourceScheme) ||
@@ -107,7 +108,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
--- a/content/browser/child_process_security_policy_impl.cc --- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc +++ b/content/browser/child_process_security_policy_impl.cc
@@ -837,6 +837,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() @@ -849,6 +849,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
RegisterPseudoScheme(url::kJavaScriptScheme); RegisterPseudoScheme(url::kJavaScriptScheme);
RegisterPseudoScheme(kViewSourceScheme); RegisterPseudoScheme(kViewSourceScheme);
RegisterPseudoScheme(kGoogleChromeScheme); RegisterPseudoScheme(kGoogleChromeScheme);
@@ -118,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 diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn --- a/net/BUILD.gn
+++ b/net/BUILD.gn +++ b/net/BUILD.gn
@@ -1012,6 +1012,8 @@ component("net") { @@ -997,6 +997,8 @@ component("net") {
"url_request/url_request_http_job.cc", "url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h", "url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc", "url_request/url_request_interceptor.cc",
@@ -235,7 +236,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
#include "net/url_request/url_request_context.h" #include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_job_factory.h" #include "net/url_request/url_request_job_factory.h"
#include "url/url_constants.h" #include "url/url_constants.h"
@@ -575,6 +576,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() { @@ -559,6 +560,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
job_factory->SetProtocolHandler(scheme_handler.first, job_factory->SetProtocolHandler(scheme_handler.first,
std::move(scheme_handler.second)); std::move(scheme_handler.second));
} }
@@ -244,17 +245,28 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
protocol_handlers_.clear(); protocol_handlers_.clear();
context->set_job_factory(std::move(job_factory)); context->set_job_factory(std::move(job_factory));
diff --git a/url/url_constants.cc b/url/url_constants.cc
--- a/url/url_constants.cc
+++ b/url/url_constants.cc
@@ -29,6 +29,7 @@ const char16_t kDataScheme16[] = u"data";
const char kFileScheme[] = "file";
const char16_t kFileScheme16[] = u"file";
const char kFileSystemScheme[] = "filesystem";
+const char kTraceScheme[] = "trk";
const char16_t kFileSystemScheme16[] = u"filesystem";
const char kFtpScheme[] = "ftp";
const char16_t kFtpScheme16[] = u"ftp";
diff --git a/url/url_constants.h b/url/url_constants.h diff --git a/url/url_constants.h b/url/url_constants.h
--- a/url/url_constants.h --- a/url/url_constants.h
+++ b/url/url_constants.h +++ b/url/url_constants.h
@@ -31,6 +31,7 @@ inline constexpr char kDataScheme[] = "data"; @@ -33,6 +33,7 @@ COMPONENT_EXPORT(URL) extern const char16_t kContentIDScheme16[];
inline constexpr char16_t kDataScheme16[] = u"data"; COMPONENT_EXPORT(URL) extern const char kDataScheme[];
inline constexpr char kFileScheme[] = "file"; COMPONENT_EXPORT(URL) extern const char16_t kDataScheme16[];
inline constexpr char16_t kFileScheme16[] = u"file"; COMPONENT_EXPORT(URL) extern const char kFileScheme[];
+inline constexpr char kTraceScheme[] = "trk"; +COMPONENT_EXPORT(URL) extern const char kTraceScheme[];
inline constexpr char kFileSystemScheme[] = "filesystem"; COMPONENT_EXPORT(URL) extern const char16_t kFileScheme16[];
inline constexpr char16_t kFileSystemScheme16[] = u"filesystem"; COMPONENT_EXPORT(URL) extern const char kFileSystemScheme[];
inline constexpr char kFtpScheme[] = "ftp"; COMPONENT_EXPORT(URL) extern const char16_t kFileSystemScheme16[];
diff --git a/url/url_util.cc b/url/url_util.cc diff --git a/url/url_util.cc b/url/url_util.cc
--- a/url/url_util.cc --- a/url/url_util.cc
+++ b/url/url_util.cc +++ b/url/url_util.cc
@@ -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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -253,6 +253,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]"> <message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR_LIMIT=32]">
Sites Sites
</message> </message>
+133 -47
View File
@@ -18,15 +18,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/omaha/UpdateMenuItemHelper.java | 82 +++++- .../browser/omaha/UpdateMenuItemHelper.java | 82 +++++-
.../browser/omaha/UpdateStatusProvider.java | 165 ++++++++--- .../browser/omaha/UpdateStatusProvider.java | 165 ++++++++---
.../browser/omaha/VersionNumberGetter.java | 3 +- .../browser/omaha/VersionNumberGetter.java | 3 +-
.../inline/BromiteInlineUpdateController.java | 273 ++++++++++++++++++ .../inline/BromiteInlineUpdateController.java | 272 ++++++++++++++++++
.../omaha/inline/InlineUpdateController.java | 51 ++++ .../omaha/inline/InlineUpdateController.java | 51 ++++
.../inline/InlineUpdateControllerFactory.java | 21 ++ .../inline/InlineUpdateControllerFactory.java | 21 ++
chrome/browser/BUILD.gn | 6 + chrome/browser/BUILD.gn | 2 +
chrome/browser/endpoint_fetcher/BUILD.gn | 32 ++ chrome/browser/endpoint_fetcher/BUILD.gn | 32 +++
chrome/browser/endpoint_fetcher/DEPS | 3 + chrome/browser/endpoint_fetcher/DEPS | 3 +
chrome/browser/endpoint_fetcher/OWNERS | 1 + chrome/browser/endpoint_fetcher/OWNERS | 1 +
.../endpoint_fetcher_android.cc | 149 ++++++++++ .../endpoint_fetcher_android.cc | 184 ++++++++++++
.../endpoint_fetcher/EndpointFetcher.java | 116 ++++++++ .../endpoint_fetcher/EndpointFetcher.java | 165 +++++++++++
.../EndpointHeaderResponse.java | 31 ++ .../EndpointHeaderResponse.java | 31 ++
.../endpoint_fetcher/EndpointResponse.java | 30 ++ .../endpoint_fetcher/EndpointResponse.java | 30 ++
.../flags/android/chrome_feature_list.cc | 1 + .../flags/android/chrome_feature_list.cc | 1 +
@@ -36,7 +36,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../endpoint_fetcher/endpoint_fetcher.h | 23 +- .../endpoint_fetcher/endpoint_fetcher.h | 23 +-
.../Bromite-auto-updater.inc | 3 + .../Bromite-auto-updater.inc | 3 +
.../Bromite-auto-updater.inc | 1 + .../Bromite-auto-updater.inc | 1 +
28 files changed, 1189 insertions(+), 52 deletions(-) 28 files changed, 1268 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/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/InlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/build/android/java/templates/BuildConfig.template b/build/android/java/templates/BuildConfig.template diff --git a/build/android/java/templates/BuildConfig.template b/build/android/java/templates/BuildConfig.template
--- a/build/android/java/templates/BuildConfig.template --- a/build/android/java/templates/BuildConfig.template
+++ b/build/android/java/templates/BuildConfig.template +++ b/build/android/java/templates/BuildConfig.template
@@ -94,6 +94,8 @@ public class BuildConfig { @@ -87,6 +87,8 @@ public class BuildConfig {
public static MAYBE_FINAL boolean IS_FOR_TEST MAYBE_FALSE; public static MAYBE_FINAL boolean IS_FOR_TEST MAYBE_FALSE;
#endif #endif
@@ -65,7 +65,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 diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
--- a/build/config/android/rules.gni --- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni +++ b/build/config/android/rules.gni
@@ -1901,6 +1901,9 @@ if (is_robolectric) { @@ -1905,6 +1905,9 @@ if (enable_java_templates && is_android) {
sources = [ "//build/android/java/templates/BuildConfig.template" ] sources = [ "//build/android/java/templates/BuildConfig.template" ]
defines = [] defines = []
@@ -78,7 +78,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 diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni
@@ -884,6 +884,9 @@ chrome_java_sources = [ @@ -883,6 +883,9 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java", "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/UpdateMenuItemHelper.java",
"java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java", "java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java",
@@ -755,7 +755,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/Br
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
@@ -0,0 +1,273 @@ @@ -0,0 +1,272 @@
+// Copyright 2021 The Ungoogled Chromium Authors. All rights reserved. +// Copyright 2021 The Ungoogled Chromium Authors. All rights reserved.
+// +//
+// This file is part of Ungoogled Chromium Android. +// This file is part of Ungoogled Chromium Android.
@@ -796,7 +796,6 @@ new file mode 100644
+import org.chromium.chrome.browser.omaha.UpdateConfigs; +import org.chromium.chrome.browser.omaha.UpdateConfigs;
+import org.chromium.chrome.browser.omaha.UpdateStatusProvider; +import org.chromium.chrome.browser.omaha.UpdateStatusProvider;
+import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.profiles.ProfileManager;
+import org.chromium.chrome.browser.tab.TabLaunchType; +import org.chromium.chrome.browser.tab.TabLaunchType;
+import org.chromium.chrome.browser.tabmodel.TabCreator; +import org.chromium.chrome.browser.tabmodel.TabCreator;
+import org.chromium.content_public.browser.LoadUrlParams; +import org.chromium.content_public.browser.LoadUrlParams;
@@ -993,7 +992,7 @@ new file mode 100644
+ +
+ callback.onResult(null); + callback.onResult(null);
+ }, + },
+ ProfileManager.getLastUsedRegularProfile(), + Profile.getLastUsedRegularProfile(),
+ urlToCheck, /*timeout*/5000, /*follow_redirect*/true, TRAFFIC_ANNOTATION); + urlToCheck, /*timeout*/5000, /*follow_redirect*/true, TRAFFIC_ANNOTATION);
+ } + }
+ +
@@ -1019,7 +1018,7 @@ new file mode 100644
+ +
+ callback.onResult(null); + callback.onResult(null);
+ }, + },
+ ProfileManager.getLastUsedRegularProfile(), + Profile.getLastUsedRegularProfile(),
+ UPSTREAM_VERSION_URL, /*timeout*/5000, /*follow_redirect*/false, TRAFFIC_ANNOTATION); + UPSTREAM_VERSION_URL, /*timeout*/5000, /*follow_redirect*/false, TRAFFIC_ANNOTATION);
+ } + }
+ +
@@ -1114,19 +1113,22 @@ new file mode 100644
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -2761,6 +2761,12 @@ static_library("browser") { @@ -3112,6 +3112,7 @@ static_library("browser") {
} "download/android/service/download_task_scheduler.h",
"download/android/string_utils.cc",
if (is_android) { "download/download_crx_util_android.cc",
+ sources += [
+ "endpoint_fetcher/endpoint_fetcher_android.cc", + "endpoint_fetcher/endpoint_fetcher_android.cc",
+ ] "enterprise/reporting/browser_report_generator_android.cc",
+ deps += [ "enterprise/reporting/browser_report_generator_android.h",
"enterprise/reporting/profile_report_generator_android.cc",
@@ -3451,6 +3452,7 @@ static_library("browser") {
"//chrome/browser/content_extraction/android:jni_headers",
"//chrome/browser/device_reauth/android:jni_headers",
"//chrome/browser/download/internal/android",
+ "//chrome/browser/endpoint_fetcher:jni_headers", + "//chrome/browser/endpoint_fetcher:jni_headers",
+ ] "//chrome/browser/feed/android:jni_headers",
sources += [ "//chrome/browser/feedback/android",
"accessibility/accessibility_prefs/android/accessibility_prefs_controller.cc", "//chrome/browser/feedback/android:jni_headers",
"accessibility/accessibility_prefs/android/accessibility_prefs_controller.h",
diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_fetcher/BUILD.gn diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_fetcher/BUILD.gn
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
@@ -1182,7 +1184,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc b/chrom
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc +++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc
@@ -0,0 +1,149 @@ @@ -0,0 +1,184 @@
+// Copyright 2019 The Chromium Authors +// Copyright 2019 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be +// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file. +// found in the LICENSE file.
@@ -1279,6 +1281,41 @@ new file mode 100644
+ std::move(endpoint_fetcher))); + std::move(endpoint_fetcher)));
+} +}
+ +
+static void JNI_EndpointFetcher_NativeFetchChromeAPIKey(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& jprofile,
+ const base::android::JavaParamRef<jstring>& jurl,
+ const base::android::JavaParamRef<jstring>& jhttps_method,
+ const base::android::JavaParamRef<jstring>& jcontent_type,
+ const base::android::JavaParamRef<jstring>& jpost_data,
+ jlong jtimeout,
+ const base::android::JavaParamRef<jobjectArray>& jheaders,
+ jint jannotation_hash_code,
+ const base::android::JavaParamRef<jobject>& jcallback) {
+ std::vector<std::string> headers;
+ base::android::AppendJavaStringArrayToStringVector(env, jheaders, &headers);
+ auto endpoint_fetcher = std::make_unique<EndpointFetcher>(
+ ProfileAndroid::FromProfileAndroid(jprofile)
+ ->GetDefaultStoragePartition()
+ ->GetURLLoaderFactoryForBrowserProcess(),
+ GURL(base::android::ConvertJavaStringToUTF8(env, jurl)),
+ base::android::ConvertJavaStringToUTF8(env, jhttps_method),
+ base::android::ConvertJavaStringToUTF8(env, jcontent_type),
+ base::Milliseconds(jtimeout),
+ base::android::ConvertJavaStringToUTF8(env, jpost_data), headers,
+ net::NetworkTrafficAnnotationTag::FromJavaAnnotation(
+ jannotation_hash_code),
+ chrome::GetChannel() == version_info::Channel::STABLE);
+ auto* const endpoint_fetcher_ptr = endpoint_fetcher.get();
+ endpoint_fetcher_ptr->PerformRequest(
+ base::BindOnce(&OnEndpointFetcherComplete,
+ base::android::ScopedJavaGlobalRef<jobject>(jcallback),
+ // unique_ptr endpoint_fetcher is passed until the callback
+ // to ensure its lifetime across the request.
+ std::move(endpoint_fetcher)),
+ nullptr);
+}
+
+static void JNI_EndpointFetcher_NativeFetchWithNoAuth( +static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
+ JNIEnv* env, + JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& jprofile, + const base::android::JavaParamRef<jobject>& jprofile,
@@ -1336,7 +1373,7 @@ diff --git a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browse
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/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
@@ -0,0 +1,116 @@ @@ -0,0 +1,165 @@
+// Copyright 2019 The Chromium Authors +// Copyright 2019 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be +// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file. +// found in the LICENSE file.
@@ -1405,6 +1442,44 @@ new file mode 100644
+ callback); + callback);
+ } + }
+ +
+ /**
+ * Calls an endpoint using Chrome API Key returns the response via a callback
+ * @param callback to pass the response back in
+ * @param profile via which the endpoint is called
+ * @param url endpoint URL called
+ * @param httpsMethod the HTTPS method used e.g. "GET" or "POST"
+ * @param contentType the content type e.g. "application/json"
+ * @param postData data for a "POST" request
+ * @param timeout time after which the request will terminate in the event a response hasn't
+ * been received
+ * @param headers headers for the request. Key/value pairs are stored sequentially in the array.
+ */
+ @MainThread
+ public static void fetchUsingChromeAPIKey(
+ Callback<EndpointResponse> callback,
+ Profile profile,
+ String url,
+ String httpsMethod,
+ String contentType,
+ String postData,
+ long timeout,
+ String[] headers,
+ NetworkTrafficAnnotationTag annotation) {
+ // EndpointFetcher currently does not support incognito mode
+ // assert !profile.isOffTheRecord();
+ EndpointFetcherJni.get()
+ .nativeFetchChromeAPIKey(
+ profile,
+ url,
+ httpsMethod,
+ contentType,
+ postData,
+ timeout,
+ headers,
+ annotation.getHashCode(),
+ callback);
+ }
+
+ @MainThread + @MainThread
+ public static void nativeHeadWithNoAuth( + public static void nativeHeadWithNoAuth(
+ Callback<EndpointHeaderResponse> callback, Profile profile, + Callback<EndpointHeaderResponse> callback, Profile profile,
@@ -1437,6 +1512,17 @@ new file mode 100644
+ int annotationHashCode, + int annotationHashCode,
+ Callback<EndpointResponse> callback); + Callback<EndpointResponse> callback);
+ +
+ void nativeFetchChromeAPIKey(
+ Profile profile,
+ String url,
+ String httpsMethod,
+ String contentType,
+ String postData,
+ long timeout,
+ String[] headers,
+ int annotationHashCode,
+ Callback<EndpointResponse> callback);
+
+ void nativeFetchWithNoAuth( + void nativeFetchWithNoAuth(
+ Profile profile, + Profile profile,
+ String url, + String url,
@@ -1527,29 +1613,29 @@ new file mode 100644
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -241,6 +241,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { @@ -235,6 +235,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kPreconnectOnTabCreation, &kPreconnectOnTabCreation,
&kPriceChangeModule, &kPriceChangeModule,
&kPwaRestoreUi, &kPwaRestoreUi,
+ &kInlineUpdateFlow, + &kInlineUpdateFlow,
&kPwaUniversalInstallUi,
&kOmahaMinSdkVersionAndroid, &kOmahaMinSdkVersionAndroid,
&kShortCircuitUnfocusAnimation, &kShortCircuitUnfocusAnimation,
&kOmniboxNoopEditUrlSuggestionClicks,
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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -319,6 +319,7 @@ public abstract class ChromeFeatureList { @@ -315,6 +315,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID =
"IncognitoReauthenticationForAndroid"; "IncognitoReauthenticationForAndroid";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
public static final String INSTANT_START = "InstantStart";
+ public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow"; + public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow";
public static final String INTEREST_FEED_V2_HEARTS = "InterestFeedV2Hearts"; public static final String INTEREST_FEED_V2_HEARTS = "InterestFeedV2Hearts";
public static final String IP_PROTECTION_UX = "IpProtectionUx";
public static final String KID_FRIENDLY_CONTENT_FEED = "KidFriendlyContentFeed"; public static final String KID_FRIENDLY_CONTENT_FEED = "KidFriendlyContentFeed";
public static final String LENS_CAMERA_ASSISTED_SEARCH = "LensCameraAssistedSearch";
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -2104,6 +2104,12 @@ Your Google account may have other forms of browsing history like searches and a @@ -2050,6 +2050,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"> <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 Chrome updates are no longer supported for this version of Android
</message> </message>
@@ -1562,7 +1648,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Account management UI strings. --> <!-- Account management UI strings. -->
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]"> <message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
@@ -3833,7 +3839,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da @@ -3732,7 +3738,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
<!-- Main menu items --> <!-- Main menu items -->
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]"> <message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
@@ -1574,7 +1660,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</message> </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]"> <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 Newer version is available
@@ -3844,6 +3853,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da @@ -3743,6 +3752,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
<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]"> <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 Android version is unsupported
</message> </message>
@@ -1608,15 +1694,15 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
namespace { namespace {
const char kContentTypeKey[] = "Content-Type"; const char kContentTypeKey[] = "Content-Type";
const char kDeveloperKey[] = "X-Developer-Key"; const char kDeveloperKey[] = "X-Developer-Key";
@@ -66,6 +71,7 @@ EndpointFetcher::EndpointFetcher( @@ -65,6 +70,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method), http_method_(http_method),
content_type_(content_type), content_type_(content_type),
timeout_(timeout), timeout_(timeout),
+ intercept_redirect_(false), + intercept_redirect_(false),
post_data_(post_data), post_data_(post_data),
headers_(headers), headers_(headers),
cors_exempt_headers_(cors_exempt_headers), annotation_tag_(annotation_tag),
@@ -85,6 +91,7 @@ EndpointFetcher::EndpointFetcher( @@ -83,6 +89,7 @@ EndpointFetcher::EndpointFetcher(
http_method_("GET"), http_method_("GET"),
content_type_(std::string()), content_type_(std::string()),
timeout_(base::Milliseconds(0)), timeout_(base::Milliseconds(0)),
@@ -1624,7 +1710,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(std::string()), post_data_(std::string()),
annotation_tag_(annotation_tag), annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory), url_loader_factory_(url_loader_factory),
@@ -110,6 +117,7 @@ EndpointFetcher::EndpointFetcher( @@ -108,6 +115,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method), http_method_(http_method),
content_type_(content_type), content_type_(content_type),
timeout_(timeout), timeout_(timeout),
@@ -1632,7 +1718,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(post_data), post_data_(post_data),
annotation_tag_(annotation_tag), annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory), url_loader_factory_(url_loader_factory),
@@ -137,6 +145,7 @@ EndpointFetcher::EndpointFetcher( @@ -135,6 +143,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method), http_method_(http_method),
content_type_(content_type), content_type_(content_type),
timeout_(timeout), timeout_(timeout),
@@ -1640,7 +1726,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(post_data), post_data_(post_data),
headers_(headers), headers_(headers),
cors_exempt_headers_(cors_exempt_headers), cors_exempt_headers_(cors_exempt_headers),
@@ -149,11 +158,29 @@ EndpointFetcher::EndpointFetcher( @@ -147,11 +156,29 @@ EndpointFetcher::EndpointFetcher(
EndpointFetcher::EndpointFetcher( EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag) const net::NetworkTrafficAnnotationTag& annotation_tag)
: timeout_(kDefaultTimeOut), : timeout_(kDefaultTimeOut),
@@ -1670,7 +1756,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
EndpointFetcher::~EndpointFetcher() = default; EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) { void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -212,6 +239,8 @@ void EndpointFetcher::PerformRequest( @@ -210,6 +237,8 @@ void EndpointFetcher::PerformRequest(
resource_request->method = http_method_; resource_request->method = http_method_;
resource_request->url = url_; resource_request->url = url_;
resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit; resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
@@ -1679,7 +1765,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) { if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
resource_request->headers.SetHeader(kContentTypeKey, content_type_); resource_request->headers.SetHeader(kContentTypeKey, content_type_);
} }
@@ -242,25 +271,50 @@ void EndpointFetcher::PerformRequest( @@ -240,25 +269,50 @@ void EndpointFetcher::PerformRequest(
default: default:
break; break;
} }
@@ -1736,7 +1822,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
} }
void EndpointFetcher::OnResponseFetched( void EndpointFetcher::OnResponseFetched(
@@ -341,3 +395,38 @@ void EndpointFetcher::OnSanitizationResult( @@ -339,3 +393,38 @@ void EndpointFetcher::OnSanitizationResult(
std::string EndpointFetcher::GetUrlForTesting() { std::string EndpointFetcher::GetUrlForTesting() {
return url_.spec(); return url_.spec();
} }
@@ -1796,7 +1882,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
int http_status_code{-1}; int http_status_code{-1};
std::optional<FetchErrorType> error_type; std::optional<FetchErrorType> error_type;
}; };
@@ -99,6 +103,14 @@ class EndpointFetcher { @@ -96,6 +100,14 @@ class EndpointFetcher {
const GURL& url, const GURL& url,
const net::NetworkTrafficAnnotationTag& annotation_tag); const net::NetworkTrafficAnnotationTag& annotation_tag);
@@ -1811,7 +1897,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
// Used for tests. Can be used if caller constructs their own // Used for tests. Can be used if caller constructs their own
// url_loader_factory and identity_manager. // url_loader_factory and identity_manager.
EndpointFetcher( EndpointFetcher(
@@ -154,6 +166,11 @@ class EndpointFetcher { @@ -151,6 +163,11 @@ class EndpointFetcher {
void OnSanitizationResult(std::unique_ptr<EndpointResponse> response, void OnSanitizationResult(std::unique_ptr<EndpointResponse> response,
EndpointFetcherCallback endpoint_fetcher_callback, EndpointFetcherCallback endpoint_fetcher_callback,
data_decoder::JsonSanitizer::Result result); data_decoder::JsonSanitizer::Result result);
@@ -1823,7 +1909,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH }; enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
AuthType auth_type_; AuthType auth_type_;
@@ -161,10 +178,11 @@ class EndpointFetcher { @@ -158,10 +175,11 @@ class EndpointFetcher {
// Members set in constructor to be passed to network::ResourceRequest or // Members set in constructor to be passed to network::ResourceRequest or
// network::SimpleURLLoader. // network::SimpleURLLoader.
const std::string oauth_consumer_name_; const std::string oauth_consumer_name_;
@@ -1836,7 +1922,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
const std::string post_data_; const std::string post_data_;
const std::vector<std::string> headers_; const std::vector<std::string> headers_;
const std::vector<std::string> cors_exempt_headers_; const std::vector<std::string> cors_exempt_headers_;
@@ -188,6 +206,9 @@ class EndpointFetcher { @@ -185,6 +203,9 @@ class EndpointFetcher {
access_token_fetcher_; access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_; std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
+1 -1
View File
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
--- a/chrome/android/chrome_public_apk_tmpl.gni --- a/chrome/android/chrome_public_apk_tmpl.gni
+++ b/chrome/android/chrome_public_apk_tmpl.gni +++ b/chrome/android/chrome_public_apk_tmpl.gni
@@ -26,7 +26,7 @@ declare_args() { @@ -25,7 +25,7 @@ declare_args() {
# WebView providers which declare one of a handful of package names. See # WebView providers which declare one of a handful of package names. See
# https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/build-instructions.md#Changing-package-name # https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/build-instructions.md#Changing-package-name
# for details. # for details.
+103 -93
View File
@@ -29,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/browser_process_impl.cc | 21 ++ chrome/browser/browser_process_impl.cc | 21 ++
chrome/browser/browser_process_impl.h | 2 + chrome/browser/browser_process_impl.h | 2 +
chrome/browser/chrome_browser_main.cc | 3 + chrome/browser/chrome_browser_main.cc | 3 +
chrome/browser/flags/BUILD.gn | 3 + chrome/browser/flags/BUILD.gn | 4 +
.../flags/android/adblock_native_gateway.cc | 31 ++ .../flags/android/adblock_native_gateway.cc | 31 ++
.../browser/flags/AdBlockNativeGateway.java | 30 ++ .../browser/flags/AdBlockNativeGateway.java | 30 ++
.../net/system_network_context_manager.cc | 8 + .../net/system_network_context_manager.cc | 8 +
@@ -44,15 +44,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../component_updater/download_filters_task.h | 129 ++++++++ .../component_updater/download_filters_task.h | 129 ++++++++
...ent_subresource_filter_throttle_manager.cc | 15 + ...ent_subresource_filter_throttle_manager.cc | 15 +
...tent_subresource_filter_throttle_manager.h | 2 + ...tent_subresource_filter_throttle_manager.h | 2 +
.../content/shared/browser/ruleset_service.cc | 46 ++- .../content/browser/ruleset_service.cc | 42 ++-
.../content/shared/browser/ruleset_service.h | 8 +- .../content/browser/ruleset_service.h | 7 +-
.../content/browser/ruleset_version.h | 4 +
.../unindexed_ruleset_stream_generator.cc | 3 + .../unindexed_ruleset_stream_generator.cc | 3 +
.../core/browser/ruleset_version.h | 4 + .../browser/verified_ruleset_dealer.cc | 3 +
.../browser/subresource_filter_features.cc | 116 +------- .../browser/subresource_filter_features.cc | 116 +-------
.../core/browser/verified_ruleset_dealer.cc | 3 +
.../core/common/indexed_ruleset.cc | 5 +- .../core/common/indexed_ruleset.cc | 5 +-
.../Bromite-subresource-adblocker.inc | 3 + .../Bromite-subresource-adblocker.inc | 3 +
40 files changed, 1259 insertions(+), 126 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/layout/adblock_editor.xml
create mode 100644 chrome/android/java/res/xml/adblock_preferences.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 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 diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn
@@ -338,6 +338,7 @@ if (current_toolchain == default_toolchain) { @@ -303,6 +303,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/android/modules/cablev2_authenticator/public:java", "//chrome/android/modules/cablev2_authenticator/public:java",
"//chrome/android/modules/stack_unwinder/provider:java", "//chrome/android/modules/stack_unwinder/provider:java",
"//chrome/android/webapk/libs/client:client_java", "//chrome/android/webapk/libs/client:client_java",
@@ -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 diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni
@@ -427,6 +427,7 @@ chrome_java_resources = [ @@ -430,6 +430,7 @@ chrome_java_resources = [
"java/res/layout/account_chooser_dialog_title.xml", "java/res/layout/account_chooser_dialog_title.xml",
"java/res/layout/account_divider_preference.xml", "java/res/layout/account_divider_preference.xml",
"java/res/layout/account_management_account_row.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/auto_sign_in_first_run_dialog.xml",
"java/res/layout/autofill_billing_address_dropdown.xml", "java/res/layout/autofill_billing_address_dropdown.xml",
"java/res/layout/autofill_card_name_and_number.xml", "java/res/layout/autofill_card_name_and_number.xml",
@@ -630,6 +631,7 @@ chrome_java_resources = [ @@ -633,6 +634,7 @@ chrome_java_resources = [
"java/res/xml/about_chrome_preferences.xml", "java/res/xml/about_chrome_preferences.xml",
"java/res/xml/account_management_preferences.xml", "java/res/xml/account_management_preferences.xml",
"java/res/xml/ad_services_config.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 diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni
@@ -973,6 +973,8 @@ chrome_java_sources = [ @@ -972,6 +972,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java", "java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java",
"java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java", "java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java",
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java", "java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java",
@@ -210,7 +210,7 @@ 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 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 --- a/chrome/android/java/res/values/values.xml
+++ b/chrome/android/java/res/values/values.xml +++ b/chrome/android/java/res/values/values.xml
@@ -19,6 +19,10 @@ found in the LICENSE file. @@ -25,6 +25,10 @@ found in the LICENSE file.
<!-- Compositor Tab Title Text --> <!-- Compositor Tab Title Text -->
<bool name="compositor_tab_title_fake_bold_text">true</bool> <bool name="compositor_tab_title_fake_bold_text">true</bool>
@@ -254,9 +254,9 @@ new file mode 100644
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml 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 --- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -83,6 +83,11 @@ found in the LICENSE file. @@ -78,6 +78,11 @@ found in the LICENSE file.
android:key="safety_hub" android:key="safety_check"
android:order="14" android:order="13"
android:title="@string/prefs_safety_check"/> android:title="@string/prefs_safety_check"/>
+ <Preference + <Preference
+ android:fragment="org.chromium.chrome.browser.settings.AdBlockPreferences" + android:fragment="org.chromium.chrome.browser.settings.AdBlockPreferences"
@@ -265,7 +265,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
+ android:title="@string/prefs_adblock"/> + android:title="@string/prefs_adblock"/>
<Preference <Preference
android:key="notifications" android:key="notifications"
android:order="15" android:order="14"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
@@ -428,7 +428,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
@@ -862,7 +862,7 @@ public class TabModelImpl extends TabModelJniBridge { @@ -839,7 +839,7 @@ public class TabModelImpl extends TabModelJniBridge {
protected boolean createTabWithWebContents( protected boolean createTabWithWebContents(
Tab parent, Profile profile, WebContents webContents) { Tab parent, Profile profile, WebContents webContents) {
return getTabCreator(profile.isOffTheRecord()) return getTabCreator(profile.isOffTheRecord())
@@ -440,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 diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd
@@ -15173,6 +15173,16 @@ Please help our engineers fix this problem. Tell us what happened right before y @@ -15030,6 +15030,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again. Never show this again.
</message> </message>
@@ -500,7 +500,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
namespace extensions { namespace extensions {
class EventRouterForwarder; class EventRouterForwarder;
} }
@@ -253,6 +258,7 @@ class BrowserProcess { @@ -245,6 +250,7 @@ class BrowserProcess {
#endif #endif
virtual component_updater::ComponentUpdateService* component_updater() = 0; virtual component_updater::ComponentUpdateService* component_updater() = 0;
@@ -511,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 diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc
@@ -1183,6 +1183,27 @@ BrowserProcessImpl::component_updater() { @@ -1168,6 +1168,27 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get(); return component_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 diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
--- a/chrome/browser/browser_process_impl.h --- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h
@@ -212,6 +212,7 @@ class BrowserProcessImpl : public BrowserProcess, @@ -209,6 +209,7 @@ class BrowserProcessImpl : public BrowserProcess,
#endif #endif
component_updater::ComponentUpdateService* component_updater() override; component_updater::ComponentUpdateService* component_updater() override;
@@ -550,18 +550,18 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
MediaFileSystemRegistry* media_file_system_registry() override; MediaFileSystemRegistry* media_file_system_registry() override;
WebRtcLogUploader* webrtc_log_uploader() override; WebRtcLogUploader* webrtc_log_uploader() override;
network_time::NetworkTimeTracker* network_time_tracker() override; network_time::NetworkTimeTracker* network_time_tracker() override;
@@ -413,6 +414,7 @@ class BrowserProcessImpl : public BrowserProcess, @@ -405,6 +406,7 @@ class BrowserProcessImpl : public BrowserProcess,
// to concerns over integrity of data shared between profiles, // to concerns over integrity of data shared between profiles,
// but some users of component updater only install per-user. // but some users of component updater only install per-user.
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_; std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
+ std::unique_ptr<adblock_updater::AdBlockUpdaterService> adblock_updater_; + std::unique_ptr<adblock_updater::AdBlockUpdaterService> adblock_updater_;
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
// Used to create a singleton instance of SodaInstallerImpl, which can be // Used to create a singleton instance of SodaInstallerImpl, which can be
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
--- a/chrome/browser/chrome_browser_main.cc --- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc
@@ -455,6 +455,9 @@ StartupProfileInfo CreateInitialProfile( @@ -446,6 +446,9 @@ StartupProfileInfo CreateInitialProfile(
// missing code in the above test. // missing code in the above test.
CHECK(profile_info.profile) << "Cannot get default profile."; CHECK(profile_info.profile) << "Cannot get default profile.";
@@ -598,6 +598,14 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
deps = [ deps = [
":jni_headers", ":jni_headers",
"//base", "//base",
@@ -71,6 +74,7 @@ robolectric_library("flags_junit_tests") {
"android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlagsAnnotationUnitTest.java",
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureListWithProcessorUnitTest.java",
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureListWithoutProcessorUnitTest.java",
+ "android/java/src/org/chromium/chrome/browser/flags/AdBlockNativeGateway.java",
]
deps = [
":java",
diff --git a/chrome/browser/flags/android/adblock_native_gateway.cc b/chrome/browser/flags/android/adblock_native_gateway.cc diff --git a/chrome/browser/flags/android/adblock_native_gateway.cc b/chrome/browser/flags/android/adblock_native_gateway.cc
new file mode 100755 new file mode 100755
--- /dev/null --- /dev/null
@@ -706,8 +714,8 @@ 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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -225,6 +225,20 @@ CHAR_LIMIT guidelines: @@ -220,6 +220,20 @@ CHAR_LIMIT guidelines:
Control your data &amp; accounts Advanced
</message> </message>
+ <!-- AdBlock settings --> + <!-- AdBlock settings -->
@@ -730,7 +738,7 @@ 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 diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h --- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h
@@ -2688,6 +2688,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; @@ -2653,6 +2653,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
inline constexpr char kAudioCaptureAllowedUrls[] = inline constexpr char kAudioCaptureAllowedUrls[] =
"hardware.audio_capture_allowed_urls"; "hardware.audio_capture_allowed_urls";
@@ -745,7 +753,7 @@ 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 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 --- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp +++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -368,6 +368,9 @@ @@ -359,6 +359,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"> <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 This site shows intrusive or misleading ads
</message> </message>
@@ -1103,7 +1111,7 @@ new file mode 100644
+#include "components/component_updater/update_scheduler.h" +#include "components/component_updater/update_scheduler.h"
+#include "url/gurl.h" +#include "url/gurl.h"
+#include "components/component_updater/download_filters_task.h" +#include "components/component_updater/download_filters_task.h"
+#include "components/subresource_filter/content/shared/browser/ruleset_service.h" +#include "components/subresource_filter/content/browser/ruleset_service.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h" +#include "services/network/public/cpp/shared_url_loader_factory.h"
+ +
+namespace adblock_updater { +namespace adblock_updater {
@@ -1554,17 +1562,17 @@ new file mode 100644
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc --- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc +++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
@@ -15,6 +15,9 @@ @@ -14,6 +14,9 @@
#include "base/strings/stringprintf.h" #include "base/metrics/histogram_macros.h"
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
#include "base/trace_event/traced_value.h" #include "base/trace_event/traced_value.h"
+#include "components/content_settings/core/common/content_settings_types.h" +#include "components/content_settings/core/common/content_settings_types.h"
+#include "components/subresource_filter/content/browser/subresource_filter_content_settings_manager.h" +#include "components/subresource_filter/content/browser/subresource_filter_content_settings_manager.h"
+#include "components/subresource_filter/content/browser/subresource_filter_profile_context.h" +#include "components/subresource_filter/content/browser/subresource_filter_profile_context.h"
#include "components/subresource_filter/content/browser/ad_tagging_utils.h" #include "components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.h"
#include "components/subresource_filter/content/browser/async_document_subresource_filter.h"
#include "components/subresource_filter/content/browser/content_subresource_filter_web_contents_helper.h" #include "components/subresource_filter/content/browser/content_subresource_filter_web_contents_helper.h"
#include "components/subresource_filter/content/browser/page_load_statistics.h" @@ -148,6 +151,7 @@ ContentSubresourceFilterThrottleManager::
@@ -151,6 +154,7 @@ ContentSubresourceFilterThrottleManager::
profile_interaction_manager_( profile_interaction_manager_(
std::make_unique<subresource_filter::ProfileInteractionManager>( std::make_unique<subresource_filter::ProfileInteractionManager>(
profile_context)), profile_context)),
@@ -1572,7 +1580,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
web_contents_helper_(web_contents_helper) {} web_contents_helper_(web_contents_helper) {}
ContentSubresourceFilterThrottleManager:: ContentSubresourceFilterThrottleManager::
@@ -675,6 +679,17 @@ ContentSubresourceFilterThrottleManager:: @@ -667,6 +671,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(), throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state); ad_tagging_state);
} }
@@ -1602,10 +1610,10 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
// Unowned since the throttle manager cannot outlive the Page that owns it. // Unowned since the throttle manager cannot outlive the Page that owns it.
// The throttle manager is held as user data first on NavigationHandle, then // The throttle manager is held as user data first on NavigationHandle, then
// transferred to Page once it is created. Once the Page is created and this // transferred to Page once it is created. Once the Page is created and this
diff --git a/components/subresource_filter/content/shared/browser/ruleset_service.cc b/components/subresource_filter/content/shared/browser/ruleset_service.cc diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/components/subresource_filter/content/browser/ruleset_service.cc
--- a/components/subresource_filter/content/shared/browser/ruleset_service.cc --- a/components/subresource_filter/content/browser/ruleset_service.cc
+++ b/components/subresource_filter/content/shared/browser/ruleset_service.cc +++ b/components/subresource_filter/content/browser/ruleset_service.cc
@@ -47,9 +47,7 @@ namespace { @@ -46,9 +46,7 @@ namespace {
void RecordIndexAndWriteRulesetResult( void RecordIndexAndWriteRulesetResult(
RulesetService::IndexAndWriteRulesetResult result) { RulesetService::IndexAndWriteRulesetResult result) {
@@ -1649,15 +1657,11 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
return; return;
} }
@@ -267,6 +271,23 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( @@ -266,6 +270,18 @@ IndexedRulesetVersion RulesetService::GetMostRecentlyIndexedVersion() const {
const RulesetConfig& config, IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
const base::FilePath& indexed_ruleset_base_dir, const base::FilePath& indexed_ruleset_base_dir,
const UnindexedRulesetInfo& unindexed_ruleset_info) { const UnindexedRulesetInfo& unindexed_ruleset_info) {
+ IndexedRulesetVersion version = + IndexedRulesetVersion version = IndexAndWriteRulesetInternal(indexed_ruleset_base_dir, unindexed_ruleset_info);
+ IndexAndWriteRulesetInternal(
+ config,
+ indexed_ruleset_base_dir,
+ unindexed_ruleset_info);
+ // cleanup temporary file when done + // cleanup temporary file when done
+ if (unindexed_ruleset_info.delete_ruleset_path) { + if (unindexed_ruleset_info.delete_ruleset_path) {
+ base::DeleteFile(unindexed_ruleset_info.ruleset_path); + base::DeleteFile(unindexed_ruleset_info.ruleset_path);
@@ -1667,35 +1671,34 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
+ +
+// static +// static
+IndexedRulesetVersion RulesetService::IndexAndWriteRulesetInternal( +IndexedRulesetVersion RulesetService::IndexAndWriteRulesetInternal(
+ const RulesetConfig& config,
+ const base::FilePath& indexed_ruleset_base_dir, + const base::FilePath& indexed_ruleset_base_dir,
+ const UnindexedRulesetInfo& unindexed_ruleset_info) { + const UnindexedRulesetInfo& unindexed_ruleset_info) {
base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
base::BlockingType::MAY_BLOCK); base::BlockingType::MAY_BLOCK);
@@ -274,6 +295,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( @@ -273,6 +289,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
unindexed_ruleset_info); unindexed_ruleset_info);
if (!unindexed_ruleset_stream_generator.ruleset_stream()) { if (!unindexed_ruleset_stream_generator.ruleset_stream()) {
+ LOG(WARNING) << "RulesetService: failed to open: " << unindexed_ruleset_info.ruleset_path; + LOG(WARNING) << "RulesetService: failed to open: " << unindexed_ruleset_info.ruleset_path;
RecordIndexAndWriteRulesetResult( RecordIndexAndWriteRulesetResult(
IndexAndWriteRulesetResult::FAILED_OPENING_UNINDEXED_RULESET); IndexAndWriteRulesetResult::FAILED_OPENING_UNINDEXED_RULESET);
return IndexedRulesetVersion(config.filter_tag); return IndexedRulesetVersion();
@@ -287,6 +309,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( @@ -286,6 +303,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
indexed_ruleset_base_dir, indexed_version); indexed_ruleset_base_dir, indexed_version);
if (!base::CreateDirectory(indexed_ruleset_version_dir)) { if (!base::CreateDirectory(indexed_ruleset_version_dir)) {
+ LOG(WARNING) << "RulesetService: failed to create version dir: " << indexed_ruleset_version_dir; + LOG(WARNING) << "RulesetService: failed to create version dir: " << indexed_ruleset_version_dir;
RecordIndexAndWriteRulesetResult( RecordIndexAndWriteRulesetResult(
IndexAndWriteRulesetResult::FAILED_CREATING_VERSION_DIR); IndexAndWriteRulesetResult::FAILED_CREATING_VERSION_DIR);
return IndexedRulesetVersion(config.filter_tag); return IndexedRulesetVersion();
@@ -294,12 +317,11 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( @@ -293,12 +311,11 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
SentinelFile sentinel_file(indexed_ruleset_version_dir); SentinelFile sentinel_file(indexed_ruleset_version_dir);
if (sentinel_file.IsPresent()) { if (sentinel_file.IsPresent()) {
- RecordIndexAndWriteRulesetResult( - RecordIndexAndWriteRulesetResult(
- IndexAndWriteRulesetResult::ABORTED_BECAUSE_SENTINEL_FILE_PRESENT); - IndexAndWriteRulesetResult::ABORTED_BECAUSE_SENTINEL_FILE_PRESENT);
- return IndexedRulesetVersion(config.filter_tag); - return IndexedRulesetVersion();
+ LOG(WARNING) << "RulesetService: sentinel file is present in " << indexed_ruleset_version_dir; + LOG(WARNING) << "RulesetService: sentinel file is present in " << indexed_ruleset_version_dir;
} }
@@ -1703,30 +1706,30 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
+ LOG(WARNING) << "RulesetService: cannot create sentinel file in " << indexed_ruleset_version_dir; + LOG(WARNING) << "RulesetService: cannot create sentinel file in " << indexed_ruleset_version_dir;
RecordIndexAndWriteRulesetResult( RecordIndexAndWriteRulesetResult(
IndexAndWriteRulesetResult::FAILED_CREATING_SENTINEL_FILE); IndexAndWriteRulesetResult::FAILED_CREATING_SENTINEL_FILE);
return IndexedRulesetVersion(config.filter_tag); return IndexedRulesetVersion();
@@ -312,6 +334,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( @@ -311,6 +328,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
RulesetIndexer indexer; RulesetIndexer indexer;
if (!(*g_index_ruleset_func)(&unindexed_ruleset_stream_generator, &indexer)) { if (!(*g_index_ruleset_func)(&unindexed_ruleset_stream_generator, &indexer)) {
+ LOG(WARNING) << "RulesetService: failed parsing."; + LOG(WARNING) << "RulesetService: failed parsing.";
RecordIndexAndWriteRulesetResult( RecordIndexAndWriteRulesetResult(
IndexAndWriteRulesetResult::FAILED_PARSING_UNINDEXED_RULESET); IndexAndWriteRulesetResult::FAILED_PARSING_UNINDEXED_RULESET);
return IndexedRulesetVersion(config.filter_tag); return IndexedRulesetVersion();
@@ -329,8 +352,12 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( @@ -328,8 +346,12 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
WriteRuleset(indexed_ruleset_version_dir, WriteRuleset(indexed_ruleset_version_dir,
unindexed_ruleset_info.license_path, indexer.data()); unindexed_ruleset_info.license_path, indexer.data());
RecordIndexAndWriteRulesetResult(result); RecordIndexAndWriteRulesetResult(result);
- if (result != IndexAndWriteRulesetResult::SUCCESS) - if (result != IndexAndWriteRulesetResult::SUCCESS)
+ if (result != IndexAndWriteRulesetResult::SUCCESS) { + if (result != IndexAndWriteRulesetResult::SUCCESS) {
+ LOG(INFO) << "RulesetService: failed to index."; + LOG(INFO) << "RulesetService: failed to index.";
return IndexedRulesetVersion(config.filter_tag); return IndexedRulesetVersion();
+ } + }
+ +
+ LOG(INFO) << "RulesetService: successful parsing."; + LOG(INFO) << "RulesetService: successful parsing.";
DCHECK(indexed_version.IsValid()); DCHECK(indexed_version.IsValid());
return indexed_version; return indexed_version;
@@ -452,6 +479,7 @@ void RulesetService::IndexAndStoreRuleset( @@ -449,6 +471,7 @@ void RulesetService::IndexAndStoreRuleset(
void RulesetService::OnWrittenRuleset(WriteRulesetCallback result_callback, void RulesetService::OnWrittenRuleset(WriteRulesetCallback result_callback,
const IndexedRulesetVersion& version) { const IndexedRulesetVersion& version) {
DCHECK(!result_callback.is_null()); DCHECK(!result_callback.is_null());
@@ -1734,10 +1737,18 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
if (!version.IsValid()) if (!version.IsValid())
return; return;
version.SaveToPrefs(local_state_); version.SaveToPrefs(local_state_);
diff --git a/components/subresource_filter/content/shared/browser/ruleset_service.h b/components/subresource_filter/content/shared/browser/ruleset_service.h @@ -461,7 +484,6 @@ void RulesetService::OpenAndPublishRuleset(
--- a/components/subresource_filter/content/shared/browser/ruleset_service.h IndexedRulesetLocator::GetRulesetDataFilePath(
+++ b/components/subresource_filter/content/shared/browser/ruleset_service.h IndexedRulesetLocator::GetSubdirectoryPathForVersion(
@@ -185,7 +185,7 @@ class RulesetService { indexed_ruleset_base_dir_, version));
-
publisher_->TryOpenAndSetRulesetFile(
file_path, version.checksum,
base::BindOnce(&RulesetService::OnRulesetSet,
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
@@ -182,7 +182,7 @@ class RulesetService {
// //
// Virtual so that it can be mocked out in tests. // Virtual so that it can be mocked out in tests.
virtual void IndexAndStoreAndPublishRulesetIfNeeded( virtual void IndexAndStoreAndPublishRulesetIfNeeded(
@@ -1746,22 +1757,35 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
// Get the ruleset version associated with the current local_state_. // Get the ruleset version associated with the current local_state_.
IndexedRulesetVersion GetMostRecentlyIndexedVersion() const; IndexedRulesetVersion GetMostRecentlyIndexedVersion() const;
@@ -219,6 +219,12 @@ class RulesetService { @@ -215,6 +215,11 @@ class RulesetService {
const base::FilePath& indexed_ruleset_base_dir, const base::FilePath& indexed_ruleset_base_dir,
const UnindexedRulesetInfo& unindexed_ruleset_info); const UnindexedRulesetInfo& unindexed_ruleset_info);
+ // internal function used to wrap the temporary file deletion for unindexed rulesets + // internal function used to wrap the temporary file deletion for unindexed rulesets
+ static IndexedRulesetVersion IndexAndWriteRulesetInternal( + static IndexedRulesetVersion IndexAndWriteRulesetInternal(
+ const RulesetConfig& config,
+ const base::FilePath& indexed_ruleset_base_dir, + const base::FilePath& indexed_ruleset_base_dir,
+ const UnindexedRulesetInfo& unindexed_ruleset_info); + const UnindexedRulesetInfo& unindexed_ruleset_info);
+ +
// Reads the rules via the |unindexed_ruleset_stream_generator|, and indexes // Reads the rules via the |unindexed_ruleset_stream_generator|, and indexes
// them using |indexer|. Returns whether the entire ruleset could be parsed. // them using |indexer|. Returns whether the entire ruleset could be parsed.
static bool IndexRuleset( static bool IndexRuleset(
diff --git a/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc b/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc diff --git a/components/subresource_filter/content/browser/ruleset_version.h b/components/subresource_filter/content/browser/ruleset_version.h
--- a/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc --- a/components/subresource_filter/content/browser/ruleset_version.h
+++ b/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc +++ b/components/subresource_filter/content/browser/ruleset_version.h
@@ -53,6 +53,10 @@ struct UnindexedRulesetInfo {
// can be indicated not only by setting |license_path| to empty, but also by
// setting it to any non existent path.
base::FilePath license_path;
+
+ // Whether to delete or not the ruleset path once done indexing; useful for disposal
+ // of temporary files.
+ bool delete_ruleset_path;
};
// Encapsulates the combination of the binary format version of the indexed
diff --git a/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc b/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc
--- a/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc
+++ b/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc
@@ -12,6 +12,7 @@ @@ -12,6 +12,7 @@
#include "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h" #include "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h"
#include "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h" #include "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h"
@@ -1779,20 +1803,19 @@ diff --git a/components/subresource_filter/content/shared/browser/unindexed_rule
copying_stream_ = std::make_unique<CopyingFileInputStream>( copying_stream_ = std::make_unique<CopyingFileInputStream>(
std::move(unindexed_ruleset_file)); std::move(unindexed_ruleset_file));
ruleset_stream_ = ruleset_stream_ =
diff --git a/components/subresource_filter/core/browser/ruleset_version.h b/components/subresource_filter/core/browser/ruleset_version.h diff --git a/components/subresource_filter/content/browser/verified_ruleset_dealer.cc b/components/subresource_filter/content/browser/verified_ruleset_dealer.cc
--- a/components/subresource_filter/core/browser/ruleset_version.h --- a/components/subresource_filter/content/browser/verified_ruleset_dealer.cc
+++ b/components/subresource_filter/core/browser/ruleset_version.h +++ b/components/subresource_filter/content/browser/verified_ruleset_dealer.cc
@@ -54,6 +54,10 @@ struct UnindexedRulesetInfo { @@ -38,6 +38,9 @@ RulesetFilePtr VerifiedRulesetDealer::OpenAndSetRulesetFile(
// can be indicated not only by setting |license_path| to empty, but also by TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("loading"),
// setting it to any non existent path. "VerifiedRulesetDealer::OpenAndSetRulesetFile", "file_valid",
base::FilePath license_path; file->IsValid());
+ +
+ // Whether to delete or not the ruleset path once done indexing; useful for disposal + LOG(INFO) << "OpenAndSetRulesetFile: " << file_path << " is valid: " << file->IsValid();
+ // of temporary files. +
+ bool delete_ruleset_path; if (file->IsValid()) {
}; SetRulesetFile(file->Duplicate());
expected_checksum_ = expected_checksum;
// Encapsulates the combination of the binary format version of the indexed
diff --git a/components/subresource_filter/core/browser/subresource_filter_features.cc b/components/subresource_filter/core/browser/subresource_filter_features.cc diff --git a/components/subresource_filter/core/browser/subresource_filter_features.cc b/components/subresource_filter/core/browser/subresource_filter_features.cc
--- a/components/subresource_filter/core/browser/subresource_filter_features.cc --- a/components/subresource_filter/core/browser/subresource_filter_features.cc
+++ b/components/subresource_filter/core/browser/subresource_filter_features.cc +++ b/components/subresource_filter/core/browser/subresource_filter_features.cc
@@ -1944,19 +1967,6 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
return configs; return configs;
} }
diff --git a/components/subresource_filter/core/browser/verified_ruleset_dealer.cc b/components/subresource_filter/core/browser/verified_ruleset_dealer.cc
--- a/components/subresource_filter/core/browser/verified_ruleset_dealer.cc
+++ b/components/subresource_filter/core/browser/verified_ruleset_dealer.cc
@@ -38,6 +38,9 @@ RulesetFilePtr VerifiedRulesetDealer::OpenAndSetRulesetFile(
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("loading"),
"VerifiedRulesetDealer::OpenAndSetRulesetFile", "file_valid",
file->IsValid());
+
+ LOG(INFO) << "OpenAndSetRulesetFile: " << file_path << " is valid: " << file->IsValid();
+
if (file->IsValid()) {
SetRulesetFile(file->Duplicate());
expected_checksum_ = expected_checksum;
diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/components/subresource_filter/core/common/indexed_ruleset.cc diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/components/subresource_filter/core/common/indexed_ruleset.cc
--- a/components/subresource_filter/core/common/indexed_ruleset.cc --- a/components/subresource_filter/core/common/indexed_ruleset.cc
+++ b/components/subresource_filter/core/common/indexed_ruleset.cc +++ b/components/subresource_filter/core/common/indexed_ruleset.cc
@@ -12,9 +12,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
components/blocked_content_strings.grdp | 3 + components/blocked_content_strings.grdp | 3 +
.../impl/BromitePopupContentSetting.java | 106 ++++++++++++++++++ .../impl/BromitePopupContentSetting.java | 106 ++++++++++++++++++
.../bromite_content_settings/popups.grdp | 12 ++ .../bromite_content_settings/popups.grdp | 12 ++
.../bromite_content_settings/popups.inc | 8 ++ .../bromite_content_settings/popups.inc | 7 ++
.../core/browser/content_settings_registry.cc | 2 +- .../core/browser/content_settings_registry.cc | 2 +-
8 files changed, 152 insertions(+), 3 deletions(-) 8 files changed, 151 insertions(+), 3 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromitePopupContentSetting.java create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromitePopupContentSetting.java
create mode 100644 components/browser_ui/strings/bromite_content_settings/popups.grdp create mode 100644 components/browser_ui/strings/bromite_content_settings/popups.grdp
create mode 100644 components/content_settings/core/browser/bromite_content_settings/popups.inc create mode 100644 components/content_settings/core/browser/bromite_content_settings/popups.inc
@@ -239,19 +239,18 @@ diff --git a/components/content_settings/core/browser/bromite_content_settings/p
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/components/content_settings/core/browser/bromite_content_settings/popups.inc +++ b/components/content_settings/core/browser/bromite_content_settings/popups.inc
@@ -0,0 +1,8 @@ @@ -0,0 +1,7 @@
+ content_settings::WebsiteSettingsRegistry::GetInstance() + content_settings::WebsiteSettingsRegistry::GetInstance()
+ ->GetMutable(ContentSettingsType::POPUPS) + ->GetMutable(ContentSettingsType::POPUPS)
+ ->set_show_into_info_page() + ->set_show_into_info_page()
+ .set_desktop_ui() + .set_desktop_ui()
+ .set_is_renderer_content_setting()
+ .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_ALLOWED) + .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_ALLOWED)
+ .set_ask_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCK_ALL) + .set_ask_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCK_ALL)
+ .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCKED); + .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCKED);
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -134,7 +134,7 @@ void ContentSettingsRegistry::Init() { @@ -131,7 +131,7 @@ void ContentSettingsRegistry::Init() {
WebsiteSettingsInfo::SYNCABLE, WebsiteSettingsInfo::SYNCABLE,
/*allowlisted_primary_schemes=*/ /*allowlisted_primary_schemes=*/
{kChromeUIScheme, kChromeDevToolsScheme, kExtensionScheme}, {kChromeUIScheme, kChromeDevToolsScheme, kExtensionScheme},
+53 -53
View File
@@ -75,10 +75,10 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
+#include "components/flags_ui/feature_entry.h" +#include "components/flags_ui/feature_entry.h"
+#include "components/flags_ui/flags_storage.h" +#include "components/flags_ui/flags_storage.h"
+ +
namespace extensions { #if BUILDFLAG(ENABLE_SUPERVISED_USERS)
#include "components/supervised_user/core/browser/supervised_user_preferences.h"
namespace developer = api::developer_private; #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS)
@@ -466,9 +472,32 @@ std::unique_ptr<developer::ProfileInfo> DeveloperPrivateAPI::CreateProfileInfo( @@ -476,9 +482,32 @@ std::unique_ptr<developer::ProfileInfo> DeveloperPrivateAPI::CreateProfileInfo(
info->can_load_unpacked = info->can_load_unpacked =
ExtensionManagementFactory::GetForBrowserContext(profile) ExtensionManagementFactory::GetForBrowserContext(profile)
->HasAllowlistedExtension(); ->HasAllowlistedExtension();
@@ -111,7 +111,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
template <> template <>
void BrowserContextKeyedAPIFactory< void BrowserContextKeyedAPIFactory<
DeveloperPrivateAPI>::DeclareFactoryDependencies() { DeveloperPrivateAPI>::DeclareFactoryDependencies() {
@@ -898,6 +927,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { @@ -908,6 +937,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() {
ExtensionUpdater::CheckParams params; ExtensionUpdater::CheckParams params;
params.fetch_priority = DownloadFetchPriority::kForeground; params.fetch_priority = DownloadFetchPriority::kForeground;
params.install_immediately = true; params.install_immediately = true;
@@ -119,7 +119,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
params.callback = params.callback =
base::BindOnce(&DeveloperPrivateAutoUpdateFunction::OnComplete, this); base::BindOnce(&DeveloperPrivateAutoUpdateFunction::OnComplete, this);
updater->CheckNow(std::move(params)); updater->CheckNow(std::move(params));
@@ -1038,7 +1068,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { @@ -1048,7 +1078,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
const developer::ProfileConfigurationUpdate& update = params->update; const developer::ProfileConfigurationUpdate& update = params->update;
@@ -127,8 +127,8 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
+ if (update.in_developer_mode.has_value() && update.in_developer_mode) { + if (update.in_developer_mode.has_value() && update.in_developer_mode) {
Profile* profile = Profile::FromBrowserContext(browser_context()); Profile* profile = Profile::FromBrowserContext(browser_context());
CHECK(profile); CHECK(profile);
if (supervised_user::AreExtensionsPermissionsEnabled( #if BUILDFLAG(ENABLE_SUPERVISED_USERS)
@@ -1048,6 +1078,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { @@ -1060,6 +1090,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
util::SetDeveloperModeForProfile(profile, *update.in_developer_mode); util::SetDeveloperModeForProfile(profile, *update.in_developer_mode);
} }
@@ -156,7 +156,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc --- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc +++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
@@ -63,6 +63,7 @@ @@ -60,6 +60,7 @@
#include "extensions/browser/extension_system.h" #include "extensions/browser/extension_system.h"
#include "extensions/browser/extension_util.h" #include "extensions/browser/extension_util.h"
#include "extensions/common/extension.h" #include "extensions/common/extension.h"
@@ -164,7 +164,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
#include "extensions/common/manifest.h" #include "extensions/common/manifest.h"
#include "extensions/common/manifest_constants.h" #include "extensions/common/manifest_constants.h"
#include "extensions/common/manifest_handlers/permissions_parser.h" #include "extensions/common/manifest_handlers/permissions_parser.h"
@@ -220,12 +221,16 @@ WebstorePrivateApi::Delegate* test_delegate = nullptr; @@ -230,12 +231,16 @@ WebstorePrivateApi::Delegate* test_delegate = nullptr;
// there was previously stored data, or an empty string otherwise. The Set will // there was previously stored data, or an empty string otherwise. The Set will
// overwrite any previous login. // overwrite any previous login.
std::string GetWebstoreLogin(Profile* profile) { std::string GetWebstoreLogin(Profile* profile) {
@@ -181,7 +181,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
profile->GetPrefs()->SetString(kWebstoreLogin, login); profile->GetPrefs()->SetString(kWebstoreLogin, login);
} }
@@ -235,6 +240,8 @@ void RecordWebstoreExtensionInstallResult(bool success) { @@ -245,6 +250,8 @@ void RecordWebstoreExtensionInstallResult(bool success) {
api::webstore_private::ExtensionInstallStatus api::webstore_private::ExtensionInstallStatus
ConvertExtensionInstallStatusForAPI(ExtensionInstallStatus status) { ConvertExtensionInstallStatusForAPI(ExtensionInstallStatus status) {
@@ -190,7 +190,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
switch (status) { switch (status) {
case kCanRequest: case kCanRequest:
return api::webstore_private::ExtensionInstallStatus::kCanRequest; return api::webstore_private::ExtensionInstallStatus::kCanRequest;
@@ -1150,7 +1157,8 @@ ExtensionFunction::ResponseAction @@ -1163,7 +1170,8 @@ ExtensionFunction::ResponseAction
WebstorePrivateIsInIncognitoModeFunction::Run() { WebstorePrivateIsInIncognitoModeFunction::Run() {
Profile* profile = Profile::FromBrowserContext(browser_context()); Profile* profile = Profile::FromBrowserContext(browser_context());
return RespondNow(ArgumentList(IsInIncognitoMode::Results::Create( return RespondNow(ArgumentList(IsInIncognitoMode::Results::Create(
@@ -200,7 +200,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
} }
WebstorePrivateIsPendingCustodianApprovalFunction:: WebstorePrivateIsPendingCustodianApprovalFunction::
@@ -1245,11 +1253,14 @@ WebstorePrivateGetReferrerChainFunction::Run() { @@ -1262,11 +1270,14 @@ WebstorePrivateGetReferrerChainFunction::Run() {
request.mutable_referrer_chain_options()->set_recent_navigations_to_collect( request.mutable_referrer_chain_options()->set_recent_navigations_to_collect(
recent_navigations_to_collect); recent_navigations_to_collect);
@@ -260,7 +260,7 @@ diff --git a/chrome/browser/extensions/updater/chrome_extension_downloader_facto
diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/browser/extensions/updater/extension_updater.cc diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/browser/extensions/updater/extension_updater.cc
--- a/chrome/browser/extensions/updater/extension_updater.cc --- a/chrome/browser/extensions/updater/extension_updater.cc
+++ b/chrome/browser/extensions/updater/extension_updater.cc +++ b/chrome/browser/extensions/updater/extension_updater.cc
@@ -44,6 +44,7 @@ @@ -43,6 +43,7 @@
#include "extensions/browser/updater/extension_update_data.h" #include "extensions/browser/updater/extension_update_data.h"
#include "extensions/common/constants.h" #include "extensions/common/constants.h"
#include "extensions/common/extension.h" #include "extensions/common/extension.h"
@@ -268,7 +268,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
#include "extensions/common/extension_set.h" #include "extensions/common/extension_set.h"
#include "extensions/common/extension_updater_uma.h" #include "extensions/common/extension_updater_uma.h"
#include "extensions/common/extension_urls.h" #include "extensions/common/extension_urls.h"
@@ -198,6 +199,10 @@ void ExtensionUpdater::Start() { @@ -197,6 +198,10 @@ void ExtensionUpdater::Start() {
DCHECK(!weak_ptr_factory_.HasWeakPtrs()); DCHECK(!weak_ptr_factory_.HasWeakPtrs());
DCHECK(registry_); DCHECK(registry_);
alive_ = true; alive_ = true;
@@ -279,7 +279,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
// Check soon, and set up the first delayed check. // Check soon, and set up the first delayed check.
if (!g_skip_scheduled_checks_for_tests) { if (!g_skip_scheduled_checks_for_tests) {
if (g_should_immediately_update) if (g_should_immediately_update)
@@ -330,7 +335,8 @@ void ExtensionUpdater::AddToDownloader( @@ -329,7 +334,8 @@ void ExtensionUpdater::AddToDownloader(
const Extension& extension = **extension_iter; const Extension& extension = **extension_iter;
const ExtensionId& extension_id = extension.id(); const ExtensionId& extension_id = extension.id();
if (!Manifest::IsAutoUpdateableLocation(extension.location())) { if (!Manifest::IsAutoUpdateableLocation(extension.location())) {
@@ -289,7 +289,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
continue; continue;
} }
// An extension might be overwritten by policy, and have its update url // An extension might be overwritten by policy, and have its update url
@@ -344,7 +350,7 @@ void ExtensionUpdater::AddToDownloader( @@ -343,7 +349,7 @@ void ExtensionUpdater::AddToDownloader(
continue; continue;
} }
@@ -298,7 +298,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
update_check_params->update_info[extension_id] = ExtensionUpdateData(); update_check_params->update_info[extension_id] = ExtensionUpdateData();
} else if (AddExtensionToDownloader(extension, request_id, } else if (AddExtensionToDownloader(extension, request_id,
fetch_priority)) { fetch_priority)) {
@@ -382,6 +388,12 @@ bool ExtensionUpdater::AddExtensionToDownloader( @@ -381,6 +387,12 @@ bool ExtensionUpdater::AddExtensionToDownloader(
} }
void ExtensionUpdater::CheckNow(CheckParams params) { void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -311,7 +311,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
if (params.ids.empty()) { if (params.ids.empty()) {
// Checking all extensions. Cancel pending DoCheckSoon() call if there's // Checking all extensions. Cancel pending DoCheckSoon() call if there's
// one, as it would be redundant. // one, as it would be redundant.
@@ -390,7 +402,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { @@ -389,7 +401,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
int request_id = next_request_id_++; int request_id = next_request_id_++;
@@ -320,7 +320,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
if (params.ids.empty()) if (params.ids.empty())
NotifyStarted(); NotifyStarted();
@@ -462,7 +474,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { @@ -461,7 +473,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
<< " is not a corrupt reinstall"; << " is not a corrupt reinstall";
update_check_params.update_info[pending_id] = ExtensionUpdateData(); update_check_params.update_info[pending_id] = ExtensionUpdateData();
} else if (!Manifest::IsAutoUpdateableLocation(info->install_source())) { } else if (!Manifest::IsAutoUpdateableLocation(info->install_source())) {
@@ -329,7 +329,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
continue; continue;
} }
// We have to mark high-priority extensions (such as policy-forced // We have to mark high-priority extensions (such as policy-forced
@@ -472,7 +484,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { @@ -471,7 +483,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
// See https://crbug.com/904600 and https://crbug.com/965686. // See https://crbug.com/904600 and https://crbug.com/965686.
const bool is_high_priority_extension_pending = const bool is_high_priority_extension_pending =
pending_extension_manager->HasHighPriorityPendingExtension(); pending_extension_manager->HasHighPriorityPendingExtension();
@@ -338,7 +338,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
update_check_params.update_info[pending_id].is_corrupt_reinstall = update_check_params.update_info[pending_id].is_corrupt_reinstall =
is_corrupt_reinstall; is_corrupt_reinstall;
if (is_corrupt_reinstall) { if (is_corrupt_reinstall) {
@@ -493,6 +505,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) { @@ -492,6 +504,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
LOG(WARNING) << "Corrupt extension with id " << pending_id LOG(WARNING) << "Corrupt extension with id " << pending_id
<< " will be reinstalled with ExtensionDownloader."; << " will be reinstalled with ExtensionDownloader.";
} }
@@ -347,7 +347,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
} else { } else {
InstallStageTracker::Get(profile_)->ReportFailure( InstallStageTracker::Get(profile_)->ReportFailure(
pending_id, pending_id,
@@ -505,13 +519,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) { @@ -504,13 +518,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
AddToDownloader(&registry_->disabled_extensions(), pending_ids, request_id, AddToDownloader(&registry_->disabled_extensions(), pending_ids, request_id,
params.fetch_priority, &update_check_params); params.fetch_priority, &update_check_params);
ExtensionSet remotely_disabled_extensions; ExtensionSet remotely_disabled_extensions;
@@ -361,7 +361,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
AddToDownloader(&remotely_disabled_extensions, pending_ids, request_id, AddToDownloader(&remotely_disabled_extensions, pending_ids, request_id,
params.fetch_priority, &update_check_params); params.fetch_priority, &update_check_params);
} else { } else {
@@ -519,7 +526,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { @@ -518,7 +525,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
const Extension* extension = const Extension* extension =
registry_->GetExtensionById(id, ExtensionRegistry::EVERYTHING); registry_->GetExtensionById(id, ExtensionRegistry::EVERYTHING);
if (extension) { if (extension) {
@@ -370,7 +370,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
update_check_params.update_info[id] = ExtensionUpdateData(); update_check_params.update_info[id] = ExtensionUpdateData();
} else if (AddExtensionToDownloader(*extension, request_id, } else if (AddExtensionToDownloader(*extension, request_id,
params.fetch_priority)) { params.fetch_priority)) {
@@ -660,7 +667,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( @@ -659,7 +666,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished(
file.extension_id, InstallStageTracker::Stage::INSTALLING); file.extension_id, InstallStageTracker::Stage::INSTALLING);
UpdatePingData(file.extension_id, ping); UpdatePingData(file.extension_id, ping);
@@ -379,7 +379,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
FetchedCRXFile fetched(file, file_ownership_passed, request_ids, FetchedCRXFile fetched(file, file_ownership_passed, request_ids,
std::move(callback)); std::move(callback));
@@ -671,6 +678,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( @@ -670,6 +677,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished(
bool ExtensionUpdater::GetPingDataForExtension(const ExtensionId& id, bool ExtensionUpdater::GetPingDataForExtension(const ExtensionId& id,
DownloadPingData* ping_data) { DownloadPingData* ping_data) {
@@ -387,7 +387,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
DCHECK(alive_); DCHECK(alive_);
ping_data->rollcall_days = ping_data->rollcall_days =
CalculatePingDaysForExtension(extension_prefs_->LastPingDay(id)); CalculatePingDaysForExtension(extension_prefs_->LastPingDay(id));
@@ -769,7 +777,7 @@ bool ExtensionUpdater::CanUseUpdateService( @@ -768,7 +776,7 @@ bool ExtensionUpdater::CanUseUpdateService(
void ExtensionUpdater::InstallCRXFile(FetchedCRXFile crx_file) { void ExtensionUpdater::InstallCRXFile(FetchedCRXFile crx_file) {
std::set<int> request_ids; std::set<int> request_ids;
@@ -396,7 +396,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
<< crx_file.info.path.value(); << crx_file.info.path.value();
// The ExtensionService is now responsible for cleaning up the temp file // The ExtensionService is now responsible for cleaning up the temp file
@@ -878,7 +886,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) { @@ -877,7 +885,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) {
InProgressCheck& request = requests_in_progress_[request_id]; InProgressCheck& request = requests_in_progress_[request_id];
if (!request.in_progress_ids.empty() || request.awaiting_update_service) if (!request.in_progress_ids.empty() || request.awaiting_update_service)
return; // This request is not done yet. return; // This request is not done yet.
@@ -408,7 +408,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/browser/extensions/updater/extension_updater.h diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/browser/extensions/updater/extension_updater.h
--- a/chrome/browser/extensions/updater/extension_updater.h --- a/chrome/browser/extensions/updater/extension_updater.h
+++ b/chrome/browser/extensions/updater/extension_updater.h +++ b/chrome/browser/extensions/updater/extension_updater.h
@@ -81,6 +81,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate { @@ -80,6 +80,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate {
// right away. // right away.
bool install_immediately = false; bool install_immediately = false;
@@ -417,7 +417,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/brow
// An extension update check can be originated by a user or by a scheduled // An extension update check can be originated by a user or by a scheduled
// task. When the value of |fetch_priority| is FOREGROUND, the update // task. When the value of |fetch_priority| is FOREGROUND, the update
// request was initiated by a user. // request was initiated by a user.
@@ -328,6 +330,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate { @@ -327,6 +329,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate {
base::TimeDelta frequency_; base::TimeDelta frequency_;
bool will_check_soon_ = false; bool will_check_soon_ = false;
@@ -539,7 +539,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.html b/chrome/browser/r
diff --git a/chrome/browser/resources/extensions/toolbar.ts b/chrome/browser/resources/extensions/toolbar.ts diff --git a/chrome/browser/resources/extensions/toolbar.ts b/chrome/browser/resources/extensions/toolbar.ts
--- a/chrome/browser/resources/extensions/toolbar.ts --- a/chrome/browser/resources/extensions/toolbar.ts
+++ b/chrome/browser/resources/extensions/toolbar.ts +++ b/chrome/browser/resources/extensions/toolbar.ts
@@ -25,6 +25,8 @@ export interface ToolbarDelegate { @@ -26,6 +26,8 @@ export interface ToolbarDelegate {
*/ */
setProfileInDevMode(inDevMode: boolean): void; setProfileInDevMode(inDevMode: boolean): void;
@@ -548,7 +548,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.ts b/chrome/browser/res
/** Opens the dialog to load unpacked extensions. */ /** Opens the dialog to load unpacked extensions. */
loadUnpacked(): Promise<boolean>; loadUnpacked(): Promise<boolean>;
@@ -71,6 +73,13 @@ export class ExtensionsToolbarElement extends ExtensionsToolbarElementBase { @@ -72,6 +74,13 @@ export class ExtensionsToolbarElement extends ExtensionsToolbarElementBase {
reflectToAttribute: true, reflectToAttribute: true,
}, },
@@ -562,7 +562,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.ts b/chrome/browser/res
devModeControlledByPolicy: Boolean, devModeControlledByPolicy: Boolean,
isChildAccount: Boolean, isChildAccount: Boolean,
@@ -87,6 +96,7 @@ export class ExtensionsToolbarElement extends ExtensionsToolbarElementBase { @@ -88,6 +97,7 @@ export class ExtensionsToolbarElement extends ExtensionsToolbarElementBase {
expanded_: Boolean, expanded_: Boolean,
showPackDialog_: Boolean, showPackDialog_: Boolean,
@@ -570,7 +570,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.ts b/chrome/browser/res
/** /**
* Prevents initiating update while update is in progress. * Prevents initiating update while update is in progress.
@@ -98,6 +108,8 @@ export class ExtensionsToolbarElement extends ExtensionsToolbarElementBase { @@ -99,6 +109,8 @@ export class ExtensionsToolbarElement extends ExtensionsToolbarElementBase {
extensions: chrome.developerPrivate.ExtensionInfo[]; extensions: chrome.developerPrivate.ExtensionInfo[];
delegate: ToolbarDelegate; delegate: ToolbarDelegate;
inDevMode: boolean; inDevMode: boolean;
@@ -579,7 +579,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.ts b/chrome/browser/res
devModeControlledByPolicy: boolean; devModeControlledByPolicy: boolean;
isChildAccount: boolean; isChildAccount: boolean;
@@ -150,6 +162,14 @@ export class ExtensionsToolbarElement extends ExtensionsToolbarElementBase { @@ -151,6 +163,14 @@ export class ExtensionsToolbarElement extends ExtensionsToolbarElementBase {
'Options_ToggleDeveloperMode_' + (e.detail ? 'Enabled' : 'Disabled')); 'Options_ToggleDeveloperMode_' + (e.detail ? 'Enabled' : 'Disabled'));
} }
@@ -613,7 +613,7 @@ diff --git a/chrome/browser/resources/webstore_app/manifest.json b/chrome/browse
diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc
--- a/chrome/browser/ui/webui/extensions/extensions_ui.cc --- a/chrome/browser/ui/webui/extensions/extensions_ui.cc
+++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc +++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc
@@ -59,6 +59,8 @@ @@ -58,6 +58,8 @@
#include "chrome/browser/ui/webui/extensions/ash/kiosk_apps_handler.h" #include "chrome/browser/ui/webui/extensions/ash/kiosk_apps_handler.h"
#endif #endif
@@ -622,16 +622,16 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse
namespace extensions { namespace extensions {
namespace { namespace {
@@ -345,6 +347,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, @@ -340,6 +342,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
{"itemSuspiciousInstallLearnMore", {"itemSuspiciousInstallLearnMore",
IDS_EXTENSIONS_ADDED_WITHOUT_KNOWLEDGE_LEARN_MORE}, IDS_EXTENSIONS_ADDED_WITHOUT_KNOWLEDGE_LEARN_MORE},
{"toolbarDevMode", IDS_EXTENSIONS_DEVELOPER_MODE}, {"toolbarDevMode", IDS_EXTENSIONS_DEVELOPER_MODE},
+ {"toolbarExtensionUpdateEnabled", IDS_EXTENSIONS_EXTENSION_UPDATE_ENABLED}, + {"toolbarExtensionUpdateEnabled", IDS_EXTENSIONS_EXTENSION_UPDATE_ENABLED},
+ {"toolbarExtensionUpdateEnabledNeedRestart", IDS_EXTENSIONS_EXTENSION_UPDATE_ENABLED_NR}, + {"toolbarExtensionUpdateEnabledNeedRestart", IDS_EXTENSIONS_EXTENSION_UPDATE_ENABLED_NR},
{"toolbarLoadUnpacked", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED}, {"toolbarLoadUnpacked", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED},
{"toolbarLoadUnpackedDone", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED_DONE}, {"toolbarLoadUnpackedDone", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED_DONE},
{"toolbarPack", IDS_EXTENSIONS_TOOLBAR_PACK}, {"toolbarPack", IDS_EXTENSIONS_TOOLBAR_PACK},
@@ -418,6 +422,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, @@ -420,6 +424,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
source->AddString("hostPermissionsLearnMoreLink", source->AddString("hostPermissionsLearnMoreLink",
chrome_extension_constants::kRuntimeHostPermissionsHelpURL); chrome_extension_constants::kRuntimeHostPermissionsHelpURL);
source->AddBoolean(kInDevModeKey, in_dev_mode); source->AddBoolean(kInDevModeKey, in_dev_mode);
@@ -1057,7 +1057,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
diff --git a/extensions/browser/updater/extension_downloader.h b/extensions/browser/updater/extension_downloader.h diff --git a/extensions/browser/updater/extension_downloader.h b/extensions/browser/updater/extension_downloader.h
--- a/extensions/browser/updater/extension_downloader.h --- a/extensions/browser/updater/extension_downloader.h
+++ b/extensions/browser/updater/extension_downloader.h +++ b/extensions/browser/updater/extension_downloader.h
@@ -113,7 +113,6 @@ class ExtensionDownloader { @@ -112,7 +112,6 @@ class ExtensionDownloader {
} }
void set_ping_enabled_domain(const std::string& domain) { void set_ping_enabled_domain(const std::string& domain) {
@@ -1099,7 +1099,7 @@ diff --git a/extensions/browser/updater/manifest_fetch_data.cc b/extensions/brow
diff --git a/extensions/browser/updater/safe_manifest_parser.cc b/extensions/browser/updater/safe_manifest_parser.cc diff --git a/extensions/browser/updater/safe_manifest_parser.cc b/extensions/browser/updater/safe_manifest_parser.cc
--- a/extensions/browser/updater/safe_manifest_parser.cc --- a/extensions/browser/updater/safe_manifest_parser.cc
+++ b/extensions/browser/updater/safe_manifest_parser.cc +++ b/extensions/browser/updater/safe_manifest_parser.cc
@@ -203,6 +203,7 @@ void ParseXmlDone(ParseUpdateManifestCallback callback, @@ -202,6 +202,7 @@ void ParseXmlDone(ParseUpdateManifestCallback callback,
std::move(callback).Run(/*results=*/nullptr, std::move(error)); std::move(callback).Run(/*results=*/nullptr, std::move(error));
}); });
@@ -1110,8 +1110,8 @@ diff --git a/extensions/browser/updater/safe_manifest_parser.cc b/extensions/bro
diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc
--- a/extensions/common/extension_features.cc --- a/extensions/common/extension_features.cc
+++ b/extensions/common/extension_features.cc +++ b/extensions/common/extension_features.cc
@@ -162,4 +162,19 @@ BASE_FEATURE(kUseItemSnippetsAPI, @@ -158,4 +158,19 @@ BASE_FEATURE(kDeclarativeNetRequestResponseHeaderMatching,
"UseItemSnippetsAPI", "DeclarativeNetRequestResponseHeaderMatching",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
+// Activates the auto update of extensions. +// Activates the auto update of extensions.
@@ -1133,9 +1133,9 @@ diff --git a/extensions/common/extension_features.cc b/extensions/common/extensi
diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h
--- a/extensions/common/extension_features.h --- a/extensions/common/extension_features.h
+++ b/extensions/common/extension_features.h +++ b/extensions/common/extension_features.h
@@ -202,6 +202,10 @@ BASE_DECLARE_FEATURE(kDeclarativeNetRequestResponseHeaderMatching); @@ -200,6 +200,10 @@ BASE_DECLARE_FEATURE(kDeclarativeNetRequestSafeRuleLimits);
// If enabled, use the new CWS itemSnippets API to fetch extension info. // matching condition.
BASE_DECLARE_FEATURE(kUseItemSnippetsAPI); BASE_DECLARE_FEATURE(kDeclarativeNetRequestResponseHeaderMatching);
+BASE_DECLARE_FEATURE(kEnableExtensionAutoupdate); +BASE_DECLARE_FEATURE(kEnableExtensionAutoupdate);
+ +
@@ -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 diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc --- a/services/network/network_context.cc
+++ b/services/network/network_context.cc +++ b/services/network/network_context.cc
@@ -1186,6 +1186,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time, @@ -1179,6 +1179,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
base::BindOnce(&NetworkContext::OnHttpCacheCleared, base::BindOnce(&NetworkContext::OnHttpCacheCleared,
base::Unretained(this), std::move(callback)))); base::Unretained(this), std::move(callback))));
+17 -61
View File
@@ -10,20 +10,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/embedder_support/user_agent_utils.cc | 4 +--- components/embedder_support/user_agent_utils.cc | 4 +---
content/browser/client_hints/client_hints.cc | 17 +++++++++++------ content/browser/client_hints/client_hints.cc | 17 +++++++++++------
.../loader/navigation_url_loader_impl.cc | 5 +++++ .../loader/navigation_url_loader_impl.cc | 5 +++++
.../about_flags_cc/Client-hints-overrides.inc | 9 +++++++++
.../features_cc/Client-hints-overrides.inc | 1 + .../features_cc/Client-hints-overrides.inc | 1 +
.../cpp/features_cc/Client-hints-overrides.inc | 1 + .../cpp/features_cc/Client-hints-overrides.inc | 1 +
net/http/http_network_transaction.cc | 1 + net/http/http_network_transaction.cc | 1 +
services/network/public/cpp/client_hints.cc | 1 + services/network/public/cpp/client_hints.cc | 1 +
.../blink/common/client_hints/client_hints.cc | 6 ++++-- .../blink/common/client_hints/client_hints.cc | 1 +
.../common/client_hints/enabled_client_hints.cc | 4 +++- .../common/client_hints/enabled_client_hints.cc | 4 +++-
.../blink/renderer/core/frame/navigator_ua.idl | 4 +++- .../blink/renderer/core/frame/navigator_ua.idl | 4 +++-
.../renderer/core/frame/navigator_ua_data.cc | 1 +
.../renderer/core/frame/navigator_ua_data.idl | 5 ++++- .../renderer/core/frame/navigator_ua_data.idl | 5 ++++-
.../renderer/core/loader/base_fetch_context.cc | 6 ++++-- .../renderer/core/loader/base_fetch_context.cc | 6 ++++--
.../platform/runtime_enabled_features.json5 | 5 +++++ .../platform/runtime_enabled_features.json5 | 4 ++++
15 files changed, 54 insertions(+), 16 deletions(-) 13 files changed, 40 insertions(+), 14 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc
create mode 100644 cromite_flags/content/common/features_cc/Client-hints-overrides.inc create mode 100644 cromite_flags/content/common/features_cc/Client-hints-overrides.inc
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc
@@ -92,7 +89,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 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 --- a/content/browser/loader/navigation_url_loader_impl.cc
+++ b/content/browser/loader/navigation_url_loader_impl.cc +++ b/content/browser/loader/navigation_url_loader_impl.cc
@@ -1185,6 +1185,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( @@ -1091,6 +1091,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
return; return;
} }
@@ -104,20 +101,6 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow
LogAcceptCHFrameStatus(AcceptCHFrameRestart::kFramePresent); LogAcceptCHFrameStatus(AcceptCHFrameRestart::kFramePresent);
// Given that this is happening in the middle of navigation, there should // Given that this is happening in the middle of navigation, there should
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc b/cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc
@@ -0,0 +1,9 @@
+#ifdef FLAG_SECTION
+
+ {"enable-ua-client-hint",
+ "Enable UA client hint",
+ "Allow sending base low entropy client hints as "
+ "UA, UAMobile and UAPlatform for compatibility", kOsAll,
+ FEATURE_VALUE_TYPE(blink::features::kUserAgentClientHint)},
+
+#endif
diff --git a/cromite_flags/content/common/features_cc/Client-hints-overrides.inc b/cromite_flags/content/common/features_cc/Client-hints-overrides.inc diff --git a/cromite_flags/content/common/features_cc/Client-hints-overrides.inc b/cromite_flags/content/common/features_cc/Client-hints-overrides.inc
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
@@ -133,7 +116,7 @@ new file mode 100644
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
--- a/net/http/http_network_transaction.cc --- a/net/http/http_network_transaction.cc
+++ b/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc
@@ -102,6 +102,7 @@ const size_t kMaxRestarts = 32; @@ -101,6 +101,7 @@ const size_t kMaxRestarts = 32;
// Returns true when Early Hints are allowed on the given protocol. // Returns true when Early Hints are allowed on the given protocol.
bool EarlyHintsAreAllowedOn(HttpConnectionInfo connection_info) { bool EarlyHintsAreAllowedOn(HttpConnectionInfo connection_info) {
@@ -148,36 +131,21 @@ diff --git a/services/network/public/cpp/client_hints.cc b/services/network/publ
std::optional<std::vector<network::mojom::WebClientHintsType>> std::optional<std::vector<network::mojom::WebClientHintsType>>
ParseClientHintsHeader(const std::string& header) { ParseClientHintsHeader(const std::string& header) {
+ if ((true)) return std::nullopt; + if ((true)) return absl::nullopt;
// Accept-CH is an sh-list of tokens; see: // Accept-CH is an sh-list of tokens; see:
// https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-header-structure-19#section-3.1 // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-header-structure-19#section-3.1
std::optional<net::structured_headers::List> maybe_list = std::optional<net::structured_headers::List> maybe_list =
diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc
--- a/third_party/blink/common/client_hints/client_hints.cc --- a/third_party/blink/common/client_hints/client_hints.cc
+++ b/third_party/blink/common/client_hints/client_hints.cc +++ b/third_party/blink/common/client_hints/client_hints.cc
@@ -14,6 +14,7 @@ @@ -105,6 +105,7 @@ const PolicyFeatureToClientHintMap& GetPolicyFeatureToClientHintMap() {
#include "base/strings/string_util.h" }
#include "services/network/public/cpp/client_hints.h"
#include "third_party/blink/public/common/features.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/public/common/permissions_policy/permissions_policy.h"
#include "url/origin.h"
@@ -106,11 +107,12 @@ const PolicyFeatureToClientHintMap& GetPolicyFeatureToClientHintMap() {
bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) { bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) {
+ if ((true)) return false;
switch (type) { switch (type) {
- case network::mojom::WebClientHintsType::kSaveData: case network::mojom::WebClientHintsType::kSaveData:
case network::mojom::WebClientHintsType::kUA: case network::mojom::WebClientHintsType::kUA:
case network::mojom::WebClientHintsType::kUAMobile:
case network::mojom::WebClientHintsType::kUAPlatform:
- return true;
+ return RuntimeEnabledFeatures::UserAgentClientHintEnabled();
+ case network::mojom::WebClientHintsType::kSaveData:
+ return false;
default:
return false;
}
diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/third_party/blink/common/client_hints/enabled_client_hints.cc diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/third_party/blink/common/client_hints/enabled_client_hints.cc
--- a/third_party/blink/common/client_hints/enabled_client_hints.cc --- a/third_party/blink/common/client_hints/enabled_client_hints.cc
+++ b/third_party/blink/common/client_hints/enabled_client_hints.cc +++ b/third_party/blink/common/client_hints/enabled_client_hints.cc
@@ -219,17 +187,6 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua.idl b/third_part
+] interface mixin NavigatorUA { +] interface mixin NavigatorUA {
[SecureContext] readonly attribute NavigatorUAData userAgentData; [SecureContext] readonly attribute NavigatorUAData userAgentData;
}; };
diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_party/blink/renderer/core/frame/navigator_ua_data.cc
--- a/third_party/blink/renderer/core/frame/navigator_ua_data.cc
+++ b/third_party/blink/renderer/core/frame/navigator_ua_data.cc
@@ -219,6 +219,7 @@ ScriptPromise<UADataValues> NavigatorUAData::getHighEntropyValues(
Dactyloscoper::RecordDirectSurface(
GetExecutionContext(), WebFeature::kNavigatorUAData_Platform, platform());
+ if ((false))
for (const String& hint : hints) {
if (hint == "platformVersion") {
values->setPlatformVersion(platform_version_);
diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/third_party/blink/renderer/core/frame/navigator_ua_data.idl diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/third_party/blink/renderer/core/frame/navigator_ua_data.idl
--- a/third_party/blink/renderer/core/frame/navigator_ua_data.idl --- a/third_party/blink/renderer/core/frame/navigator_ua_data.idl
+++ b/third_party/blink/renderer/core/frame/navigator_ua_data.idl +++ b/third_party/blink/renderer/core/frame/navigator_ua_data.idl
@@ -278,16 +235,15 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/thir
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -340,6 +340,11 @@ @@ -499,6 +499,10 @@
name: "AtomicMoveOverride", name: "ByobFetch",
// No "status" field, so that this is not enabled on WPTs by default. status: "stable",
}, },
+ { + {
+ name: "UserAgentClientHint", + name: "UserAgentClientHint", // always disabled
+ status: "stable", + status: "experimental", // in bromite
+ base_feature: "UserAgentClientHint",
+ }, + },
{ {
name: "AttributionReporting", name: "CacheStorageCodeCacheHint",
origin_trial_feature_name: "PrivacySandboxAdsAPIs", origin_trial_feature_name: "CacheStorageCodeCacheHint",
-- --
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
--- a/chrome/android/chrome_public_apk_tmpl.gni --- a/chrome/android/chrome_public_apk_tmpl.gni
+++ b/chrome/android/chrome_public_apk_tmpl.gni +++ b/chrome/android/chrome_public_apk_tmpl.gni
@@ -663,6 +663,7 @@ template("chrome_common_apk_or_module_tmpl") { @@ -642,6 +642,7 @@ template("chrome_common_apk_or_module_tmpl") {
[ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ] [ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ]
loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ] loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ]
library_always_compress += [ "libchrome_crashpad_handler.so" ] library_always_compress += [ "libchrome_crashpad_handler.so" ]
File diff suppressed because it is too large Load Diff
+25 -731
View File
@@ -4,12 +4,12 @@ Subject: Cromite Branding
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
--- ---
build/BUILD.gn | 8 ++ build/BUILD.gn | 8 ++++
build/config/BUILDCONFIG.gn | 4 + build/config/BUILDCONFIG.gn | 4 ++
chrome/android/java/AndroidManifest.xml | 2 +- chrome/android/java/AndroidManifest.xml | 2 +-
.../res/xml/legal_information_preferences.xml | 12 --- .../res/xml/legal_information_preferences.xml | 12 ------
.../android/java/res/xml/main_preferences.xml | 8 +- .../android/java/res/xml/main_preferences.xml | 8 ++--
.../drawable/themed_app_icon.xml | 32 +++--- .../drawable/themed_app_icon.xml | 32 +++++++++-------
.../mipmap-hdpi/app_icon.png | Bin 2435 -> 5784 bytes .../mipmap-hdpi/app_icon.png | Bin 2435 -> 5784 bytes
.../mipmap-hdpi/layered_app_icon.png | Bin 1836 -> 7839 bytes .../mipmap-hdpi/layered_app_icon.png | Bin 1836 -> 7839 bytes
.../layered_app_icon_background.png | Bin 1487 -> 20191 bytes .../layered_app_icon_background.png | Bin 1487 -> 20191 bytes
@@ -26,18 +26,18 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../mipmap-xxxhdpi/layered_app_icon.png | Bin 3652 -> 29220 bytes .../mipmap-xxxhdpi/layered_app_icon.png | Bin 3652 -> 29220 bytes
.../layered_app_icon_background.png | Bin 3519 -> 142032 bytes .../layered_app_icon_background.png | Bin 3519 -> 142032 bytes
.../chrome/browser/omaha/UpdateConfigs.java | 2 +- .../chrome/browser/omaha/UpdateConfigs.java | 2 +-
.../inline/BromiteInlineUpdateController.java | 21 +++- .../inline/BromiteInlineUpdateController.java | 21 +++++++++--
chrome/app/extensions_strings.grdp | 4 +- chrome/app/extensions_strings.grdp | 4 +-
chrome/app/settings_strings.grdp | 2 +- chrome/app/settings_strings.grdp | 2 +-
chrome/app/theme/chromium/BRANDING | 8 +- chrome/app/theme/chromium/BRANDING | 8 ++--
chrome/app/theme/chromium/win/chromium.ico | Bin 54121 -> 79443 bytes chrome/app/theme/chromium/win/chromium.ico | Bin 54121 -> 79443 bytes
chrome/app/theme/chromium/win/tiles/Logo.png | Bin 27775 -> 32045 bytes chrome/app/theme/chromium/win/tiles/Logo.png | Bin 27775 -> 32045 bytes
.../theme/chromium/win/tiles/SmallLogo.png | Bin 9784 -> 12363 bytes .../theme/chromium/win/tiles/SmallLogo.png | Bin 9784 -> 12363 bytes
.../chromium/product_logo_32.png | Bin 822 -> 2301 bytes .../chromium/product_logo_32.png | Bin 822 -> 2301 bytes
chrome/browser/BUILD.gn | 1 + chrome/browser/BUILD.gn | 1 +
.../prefs/chrome_pref_service_factory.cc | 6 +- .../prefs/chrome_pref_service_factory.cc | 6 +--
.../profiles/profile_shortcut_manager_win.cc | 2 +- .../profiles/profile_shortcut_manager_win.cc | 2 +-
.../settings/settings_menu/settings_menu.html | 5 +- .../settings/settings_menu/settings_menu.html | 5 ++-
.../strings/android_chrome_strings.grd | 2 +- .../strings/android_chrome_strings.grd | 2 +-
chrome/common/url_constants.h | 4 +- chrome/common/url_constants.h | 4 +-
.../strings/android/browser_ui_strings.grd | 2 +- .../strings/android/browser_ui_strings.grd | 2 +-
@@ -46,14 +46,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../drawable-xhdpi/fre_product_logo.png | Bin 5151 -> 34576 bytes .../drawable-xhdpi/fre_product_logo.png | Bin 5151 -> 34576 bytes
.../drawable-xxhdpi/fre_product_logo.png | Bin 7720 -> 60959 bytes .../drawable-xxhdpi/fre_product_logo.png | Bin 7720 -> 60959 bytes
.../drawable-xxxhdpi/fre_product_logo.png | Bin 10740 -> 93273 bytes .../drawable-xxxhdpi/fre_product_logo.png | Bin 10740 -> 93273 bytes
.../vector_icons/product_chrome_refresh.icon | 93 +++++++++--------- tools/grit/grit/grd_reader.py | 35 ++++++++++++++++++
.../chromium/product_logo.png | Bin 1562 -> 3577 bytes
.../chromium/product_logo_white.png | Bin 1417 -> 3040 bytes
.../chromium/product_logo.png | Bin 2714 -> 7923 bytes
.../chromium/product_logo_white.png | Bin 2512 -> 6790 bytes
tools/grit/grit/grd_reader.py | 35 +++++++
ui/base/ui_base_features.cc | 2 + ui/base/ui_base_features.cc | 2 +
49 files changed, 155 insertions(+), 100 deletions(-) 44 files changed, 109 insertions(+), 53 deletions(-)
diff --git a/build/BUILD.gn b/build/BUILD.gn diff --git a/build/BUILD.gn b/build/BUILD.gn
--- a/build/BUILD.gn --- a/build/BUILD.gn
@@ -76,9 +71,9 @@ diff --git a/build/BUILD.gn b/build/BUILD.gn
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
--- a/build/config/BUILDCONFIG.gn --- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn
@@ -183,6 +183,10 @@ declare_args() { @@ -177,6 +177,10 @@ assert(!(is_debug && is_official_build), "Can't do official debug builds")
clang_unsafe_buffers_paths = "" assert(!(current_os == "ios" && is_component_build),
} "Can't use component build on iOS")
+declare_args() { +declare_args() {
+ cromite_pref_hash_seed_bin = "" + cromite_pref_hash_seed_bin = ""
@@ -90,7 +85,7 @@ diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml --- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml +++ b/chrome/android/java/AndroidManifest.xml
@@ -174,7 +174,7 @@ by a child template that "extends" this file. @@ -171,7 +171,7 @@ by a child template that "extends" this file.
<application android:name="{% block application_name %}org.chromium.chrome.browser.base.SplitChromeApplication{% endblock %}" <application android:name="{% block application_name %}org.chromium.chrome.browser.base.SplitChromeApplication{% endblock %}"
android:icon="@drawable/ic_launcher" android:icon="@drawable/ic_launcher"
android:roundIcon="@drawable/ic_launcher_round" android:roundIcon="@drawable/ic_launcher_round"
@@ -9127,7 +9122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateCon
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
@@ -61,10 +61,10 @@ import org.chromium.chrome.browser.omaha.VersionNumber; @@ -60,10 +60,10 @@ import org.chromium.chrome.browser.omaha.VersionNumber;
public class BromiteInlineUpdateController implements InlineUpdateController { public class BromiteInlineUpdateController implements InlineUpdateController {
private static final String TAG = "BromiteInlineUpdateController"; private static final String TAG = "BromiteInlineUpdateController";
@@ -9142,7 +9137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/Br
public static String getDownloadUrl() { public static String getDownloadUrl() {
return UPDATE_VERSION_URL + BuildConfig.BUILD_TARGET_CPU + "_ChromePublic.apk"; return UPDATE_VERSION_URL + BuildConfig.BUILD_TARGET_CPU + "_ChromePublic.apk";
@@ -213,11 +213,20 @@ public class BromiteInlineUpdateController implements InlineUpdateController { @@ -212,11 +212,20 @@ public class BromiteInlineUpdateController implements InlineUpdateController {
Log.i(TAG, "BromiteUpdater: obtained response '%s' and redirect URL '%s'", endpointResponse.getResponseString(), redirectURL); Log.i(TAG, "BromiteUpdater: obtained response '%s' and redirect URL '%s'", endpointResponse.getResponseString(), redirectURL);
if (redirectURL.indexOf(REDIRECT_URL_PREFIX) == 0) { if (redirectURL.indexOf(REDIRECT_URL_PREFIX) == 0) {
redirectURL = redirectURL.substring(REDIRECT_URL_PREFIX.length()); redirectURL = redirectURL.substring(REDIRECT_URL_PREFIX.length());
@@ -9163,7 +9158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/Br
OmahaBase.setLatestModifiedVersion(parts[0]); OmahaBase.setLatestModifiedVersion(parts[0]);
callback.onResult(version); callback.onResult(version);
return; return;
@@ -240,6 +249,10 @@ public class BromiteInlineUpdateController implements InlineUpdateController { @@ -239,6 +248,10 @@ public class BromiteInlineUpdateController implements InlineUpdateController {
} }
private void checkLatestUpstreamVersion(final Callback<VersionNumber> callback) { private void checkLatestUpstreamVersion(final Callback<VersionNumber> callback) {
@@ -9198,7 +9193,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
--- a/chrome/app/settings_strings.grdp --- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp
@@ -323,7 +323,7 @@ @@ -278,7 +278,7 @@
Change Change
</message> </message>
<message name="IDS_SETTINGS_WEB_STORE" desc="Sub-label about choosing something from the Chrome Web Store."> <message name="IDS_SETTINGS_WEB_STORE" desc="Sub-label about choosing something from the Chrome Web Store.">
@@ -13152,7 +13147,7 @@ e)fqMZZ`3a)Ds&5H<cfp<0000<MNUMnLSTYHt&Yn8
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -2095,6 +2095,7 @@ static_library("browser") { @@ -2050,6 +2050,7 @@ static_library("browser") {
"//build:chromeos_buildflags", "//build:chromeos_buildflags",
"//build/config/chromebox_for_meetings:buildflags", "//build/config/chromebox_for_meetings:buildflags",
"//build/config/compiler:compiler_buildflags", "//build/config/compiler:compiler_buildflags",
@@ -13171,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/browser_process.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h" #include "chrome/browser/policy/chrome_browser_policy_connector.h"
#include "chrome/browser/prefs/chrome_command_line_pref_store.h" #include "chrome/browser/prefs/chrome_command_line_pref_store.h"
@@ -270,10 +271,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager( @@ -274,10 +275,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
#endif #endif
std::string seed; std::string seed;
CHECK(ui::ResourceBundle::HasSharedInstance()); CHECK(ui::ResourceBundle::HasSharedInstance());
@@ -13214,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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -2178,7 +2178,7 @@ Your Google account may have other forms of browsing history like searches and a @@ -2124,7 +2124,7 @@ Your Google account may have other forms of browsing history like searches and a
About Chrome About Chrome
</message> </message>
<message name="IDS_LEGAL_INFORMATION_SUMMARY" desc="Summary for legal information" meaning="Android"> <message name="IDS_LEGAL_INFORMATION_SUMMARY" desc="Summary for legal information" meaning="Android">
@@ -13247,7 +13242,7 @@ diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd 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 --- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd +++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -987,7 +987,7 @@ @@ -994,7 +994,7 @@
<!-- Accessibility preferences --> <!-- Accessibility preferences -->
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]"> <message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
@@ -18152,707 +18147,6 @@ z-aP~TXJZ`-(Yg4YH}L#8=YM{CKWmuBV|oH(e6M*W+WLnfYBCzOQRGLiPvyZq6&Nv6
z4G!>zy1hcOdP%7GG2>1P`Or}=o{p{?6G1~J{`Cl{gUX-*clf=;TVY)N<lVO9k)vG$ z4G!>zy1hcOdP%7GG2>1P`Or}=o{p{?6G1~J{`Cl{gUX-*clf=;TVY)N<lVO9k)vG$
i?Ib$(ofrX17!1R|`h|N%TnD<%35@j2bgPM^i2nno*_EOI i?Ib$(ofrX17!1R|`h|N%TnD<%35@j2bgPM^i2nno*_EOI
diff --git a/components/omnibox/browser/vector_icons/product_chrome_refresh.icon b/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
--- a/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
+++ b/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
@@ -1,51 +1,50 @@
-// Copyright 2023 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-CANVAS_DIMENSIONS, 15,
-MOVE_TO, 4.92f, 7.5f,
-R_CUBIC_TO, 0, 0.71f, 0.25f, 1.31f, 0.76f, 1.82f,
-R_CUBIC_TO, 0.51f, 0.51f, 1.12f, 0.76f, 1.82f, 0.76f,
-R_CUBIC_TO, 0.7f, 0, 1.31f, -0.25f, 1.82f, -0.76f,
-R_CUBIC_TO, 0.51f, -0.51f, 0.76f, -1.12f, 0.76f, -1.82f,
-R_CUBIC_TO, 0, -0.7f, -0.25f, -1.31f, -0.76f, -1.82f,
-R_ARC_TO, 2.49f, 2.49f, 0, 0, 0, -1.82f, -0.76f,
-R_CUBIC_TO, -0.7f, 0, -1.31f, 0.25f, -1.82f, 0.76f,
-R_ARC_TO, 2.49f, 2.49f, 0, 0, 0, -0.76f, 1.82f,
+CANVAS_DIMENSIONS, 16,
+MOVE_TO, 15.99f, 8,
+CUBIC_TO, 15.99f, 9.83f, 15.37f, 11.52f, 14.34f, 12.87f,
+CUBIC_TO, 14.41f, 12.78f, 14.48f, 12.68f, 14.55f, 12.58f,
+LINE_TO, 12.23f, 10.26f,
+CUBIC_TO, 12.59f, 9.59f, 12.79f, 8.82f, 12.79f, 8,
+CUBIC_TO, 12.79f, 7.18f, 12.59f, 6.41f, 12.23f, 5.73f,
+LINE_TO, 14.55f, 3.41f,
+CUBIC_TO, 14.47f, 3.29f, 14.38f, 3.18f, 14.29f, 3.07f,
+CUBIC_TO, 15.36f, 4.43f, 15.99f, 6.14f, 15.99f, 8,
CLOSE,
-MOVE_TO, 7.5f, 11.48f,
-R_CUBIC_TO, 0.14f, 0, 0.28f, 0, 0.41f, -0.02f,
-R_CUBIC_TO, 0.13f, -0.01f, 0.26f, -0.04f, 0.39f, -0.07f,
-LINE_TO, 6.77f, 14.06f,
-R_CUBIC_TO, -1.65f, -0.19f, -3.04f, -0.89f, -4.15f, -2.12f,
-CUBIC_TO, 1.5f, 10.71f, 0.94f, 9.24f, 0.94f, 7.55f,
-R_CUBIC_TO, 0, -0.46f, 0.05f, -0.9f, 0.13f, -1.33f,
-R_CUBIC_TO, 0.08f, -0.44f, 0.22f, -0.85f, 0.39f, -1.25f,
-R_LINE_TO, 2.63f, 4.55f,
-R_CUBIC_TO, 0.34f, 0.59f, 0.81f, 1.07f, 1.41f, 1.43f,
-R_CUBIC_TO, 0.6f, 0.36f, 1.26f, 0.54f, 2.01f, 0.54f,
+MOVE_TO, 14.29f, 3.07f,
+CUBIC_TO, 14.29f, 3.06f, 14.28f, 3.05f, 14.27f, 3.04f,
+CUBIC_TO, 14.28f, 3.05f, 14.29f, 3.06f, 14.29f, 3.07f,
CLOSE,
-R_MOVE_TO, 0, -7.87f,
-R_CUBIC_TO, -0.87f, 0, -1.65f, 0.25f, -2.33f, 0.77f,
-R_ARC_TO, 3.95f, 3.95f, 0, 0, 0, -1.42f, 1.94f,
-LINE_TO, 2.21f, 3.66f,
-R_ARC_TO, 6.79f, 6.79f, 0, 0, 1, 2.27f, -1.94f,
-CUBIC_TO, 5.4f, 1.22f, 6.4f, 0.98f, 7.5f, 0.98f,
-R_CUBIC_TO, 1.1f, 0, 2.08f, 0.24f, 2.99f, 0.72f,
-ARC_TO, 6.66f, 6.66f, 0, 0, 1, 12.76f, 3.6f,
-H_LINE_TO, 7.51f,
-R_LINE_TO, -0.01f, 0.01f,
+MOVE_TO, 14.34f, 12.87f,
+CUBIC_TO, 14.29f, 12.93f, 14.24f, 12.99f, 14.2f, 13.05f,
+CUBIC_TO, 14.24f, 12.99f, 14.29f, 12.93f, 14.34f, 12.87f,
CLOSE,
-R_MOVE_TO, 6.01f, 1.31f,
-R_CUBIC_TO, 0.19f, 0.4f, 0.32f, 0.83f, 0.41f, 1.27f,
-R_CUBIC_TO, 0.09f, 0.44f, 0.15f, 0.89f, 0.15f, 1.36f,
-R_CUBIC_TO, 0, 1.7f, -0.55f, 3.16f, -1.68f, 4.38f,
-R_CUBIC_TO, -1.11f, 1.23f, -2.47f, 1.93f, -4.1f, 2.13f,
-R_LINE_TO, 2.63f, -4.55f,
-R_CUBIC_TO, 0.17f, -0.28f, 0.29f, -0.59f, 0.38f, -0.92f,
-R_CUBIC_TO, 0.09f, -0.34f, 0.15f, -0.69f, 0.15f, -1.05f,
-R_CUBIC_TO, 0, -0.52f, -0.09f, -0.99f, -0.28f, -1.42f,
-R_ARC_TO, 3.96f, 3.96f, 0, 0, 0, -0.74f, -1.2f,
-R_H_LINE_TO, 3.08f,
-R_V_LINE_TO, 0.01f,
+MOVE_TO, 14.27f, 3.04f,
+CUBIC_TO, 14.19f, 2.94f, 14.11f, 2.84f, 14.02f, 2.74f,
+CUBIC_TO, 14.11f, 2.84f, 14.19f, 2.94f, 14.27f, 3.04f,
+CLOSE,
+MOVE_TO, 8, 15.99f,
+CUBIC_TO, 3.58f, 15.99f, 0, 12.41f, 0, 8,
+CUBIC_TO, 0, 3.58f, 3.58f, 0, 8, 0,
+CUBIC_TO, 9.94f, 0, 11.73f, 0.7f, 13.11f, 1.85f,
+CUBIC_TO, 12.94f, 1.71f, 12.77f, 1.57f, 12.58f, 1.45f,
+LINE_TO, 10.26f, 3.77f,
+CUBIC_TO, 9.59f, 3.41f, 8.82f, 3.2f, 8, 3.2f,
+CUBIC_TO, 5.35f, 3.2f, 3.2f, 5.35f, 3.2f, 8,
+CUBIC_TO, 3.2f, 10.65f, 5.35f, 12.79f, 8, 12.79f,
+CUBIC_TO, 8.82f, 12.79f, 9.59f, 12.59f, 10.26f, 12.23f,
+LINE_TO, 12.58f, 14.55f,
+CUBIC_TO, 12.68f, 14.48f, 12.78f, 14.41f, 12.87f, 14.34f,
+CUBIC_TO, 11.52f, 15.37f, 9.83f, 15.99f, 8, 15.99f,
+CLOSE,
+MOVE_TO, 12.87f, 14.34f,
+CUBIC_TO, 12.93f, 14.29f, 12.99f, 14.24f, 13.05f, 14.2f,
+CUBIC_TO, 12.99f, 14.24f, 12.93f, 14.29f, 12.87f, 14.34f,
+CLOSE,
+NEW_PATH,
+MOVE_TO, 11.2f, 8,
+CUBIC_TO, 11.2f, 9.76f, 9.76f, 11.2f, 8, 11.2f,
+CUBIC_TO, 6.23f, 11.2f, 4.8f, 9.76f, 4.8f, 8,
+CUBIC_TO, 4.8f, 6.23f, 6.23f, 4.8f, 8, 4.8f,
+CUBIC_TO, 9.76f, 4.8f, 11.2f, 6.23f, 11.2f, 8,
+CLOSE,
+MOVE_TO, 11.2f, 8,
CLOSE
diff --git a/components/resources/default_100_percent/chromium/product_logo.png b/components/resources/default_100_percent/chromium/product_logo.png
index 7b60bd8c6053346e4eb265cc77d28add65103028..66b3c4c7a4f68fba1ef098000bd373ba103a0de0 100644
GIT binary patch
literal 3577
zcmV<V4F>XwP)<h;3K|Lk000e1NJLTq00651001Be1^@s6ZJ&q&00009a7bBm000id
z000id0mpBsWB>pSt4TybRCodHoC|PNRhq~D-@TpgbRK~`c!Wn_!XtnP3y3_HVJvsR
zRTqW<ESv#DLYz)Oab{;~oUv+4OQ%-H(%l^vfleeHl14^r8K>N!g6>#@GV(?c5DD@C
znIy6h!XqL5xaZq*Z{M_?PIr^kvRWJNzc_U-=ezgZ$Nk;!eCIp2ga0qGWQouX&EB>u
zn^{a@AttcUMhYQP<T_+st6bK}@`)_FcPx7D621*tvS9uDKdqT8AzUG$yiYE34M2qk
zVJywU;q?X~v~AM3_T$Ab?1iOoLKdtK{<(aBgzz~DV37n<4Fj1NR!CU&r4|(0riodD
zpDKTF<zHdR(*IIQJi|YH`06YWb^|DpMTIWzx>IfuLG|vO?>w?#;_O{V{8whdlBNF(
z&pKyE<qw#}8!UuFmaqqn_N=k%1+E2rn36RZ3n$D%-`+XW&OQK(CZy!N1w)n|dgvK@
zYDVMt{5O<+n>MYx3`^bjtaCrEng!4sU^oyh1~eA9t_5&e^P|};O+g>7$-1Cvo0K`w
z0JUFcA01QxMq6(j_BUG|)|4}&aU+A?vnBI?!BUrGLxg^?t9l>{_5kbvg}Z%YRRiO?
z2w<SiiJ93$F(^F;X?CZv&DFN+ICr@bdoG;9@RTe(Jn=pQR3U`9KY?YN$Icx0;NKQb
z#XoMo?PFMC3WDU4phnx4mXy5&=2R85%Hwe#M`u~EO1&V<py>G2#{y}JiuptD!q|TK
zNOz_}B_%|$x$WI@o4>o(3;{+?dR9BAVcJjr^)z1Jzje^ql)f(<0Sa-Ot2J41rTVmu
zB>bH-Cd|bk$_@y66F@YqR?IqYw|6p_cN(L9GbUvgxDgCsh$9UTkC=|!UZHNCD72f9
zc3q017{E$fWPR9nvi=NecK;`iU%LP&RN1hYcA#`koV1purOQfvAhI*leKnqS??u}!
z&q}lc%xWaY0U<EJo{A--W};78rU9W2<d=<K;^>)UXl%Y<z&JR20PYw%2K{sT>-LBy
z31=G5p?YsEPPAM^s*(gDG?jrB0E*E?6)tnlCa48~7|lQ{6zr;5U%nX;Dq2>yOn|dU
zYkQ@-y1K1!S=m1kVFZ9Lsw>^UL4=kqTQMZ4Xp@OCmO=dhK1#rm>dNvz$Ast6<t`Q?
zqsCMIvT>|O%f2fFzE429Anfy2x;KTlUHa4Bu(dq~md7T1CWsDs*SojHxTcvz%5>Sz
z5pR`yi&0myyqM%Q0I-K1ftXiVQkG}D^x*mpmF4dsLQBfZ`YJ)5NsI|#auVSXlX9qf
z{n~>)*0cU_?`!&y{Zl>RFCs?zJ}ro{;nPvjC(jsI`2&7z-SZySeEJT)(){SH*r2m{
zMFcR~(F@D(o{t&hrW*hg2p6w5;orA!!WY*rB8Ak5ysXwB!5?>Mx%=YHK`nimh<<_2
z+TmmWqSrm1`p|Y|?-5}ZLCh6QKa>018@@=5@-}Q(_hrayl`UYPQf}L;bMMQwY~#nh
z6&2^AJl#GJO%e*-qX_YHfaXT+`K|>0fufSq2L#|I(BP<ce<nd+)iEwDeHx%=!Pr>s
zaX(_7TQg#um)XdcYEStbm@<#`DuD)c-jseVJ@Sh^H5)KZmRv?;oT_1RuUrhv9th3!
zs9Scvi>LQ*MlZ#V(e`xY+MF1W<dmRhARxDY;v*0Ka(JiVQ5g)U-2pqPdVCw5C(D)F
zOuKn^SoVAvRK}Aax{HZ_%-}x&m|^Fn>4=g5>HFNv%xeVmV{+Tq6~)(V0R3p`k3iUL
zg1Sl&&jZP87kC_u2D#rH(v)}OzS$bTse>xp{;dumfbFK`ehJ?;2E9$7dI)|rbe{MV
zLVDTda;4yAV*Z6Jt_V-^s(#&q#S=oI@<^|29%}%}YZRa{Ov+e*e`V}P{9Adgg*`M3
zpveH62>>>3Q;-?sbMl}ns&Uuq&eq}i!|$LVxi^#;>DeSwFwCBYial>)RNhGR&FYIZ
zXBzI!pM-s%)WRVF=Z<Nxi2!O5M<pdIh6f>@Y9DY&ud=~3?U&{E@?k7wqLZC~0*z(n
z-$+mPv{|(_;+W5vYk!oXfrKrrU9t=Q2rTvx(U_&nmanY#tXtiwZ9<kH%<)#1Z!xP@
z$!@xefFfy~4e$<!%J)@NR<uG&0=l^^NKLZMv>O^d1fUuTR9#hGX=Vc|Af*X<&0Do@
zJ35I%*TJ-WgU9WTFdUUVkszX%NI-wdYkHh#C1BXs34oAS%utiiH#O7ns4N%<P98GW
zbx`9;_o9c}nsMyx=ixzEe*YoJRP9EVAWHd2pdg7KhB(Dv3{az_$E;qD`;!>nX`2CR
zlq8Hx2vh*ztORv_r}iq>eM&^`(0vdOMWvT1wB$81{@l{RCh!NC(voOFMTG>_lw1#h
zu+5A)hog&PW?{CdMcayselpnzahPw&7s?%NPqy(|^UWGpQc{xD^E@lTZaxuxVSv?3
zO_CRGhpvDYz`3S+^pkZrlT)#wzNrx`LJg)koXC=)!X;lz^bAD8Zjps3ATnN!PtXMs
zF&Qr!(OWU??JoyocYH|j0TF&mp!}%D+Z*|?^9|%v0wMcGxBEhjBR83C3`Exzki`+p
zpsAFv7)})pg(a>f#Ke(yU-0XA%g;$e05tU|SmTS$MfY5_;f=xVlL1ltbJR-QLyrLg
z0^)S{lI?=y(4TKWCm(Wxof`pTn}I7=u5_$kz1r8|+F0q-wn$<DjS{>>#9-qeb@>_+
zz^Xv`4x~aa6nPW1swkxNJkQE#iKIsX8PlgX0)C|0Q(&{%FtB$&G&LNS9@l=e4_MGY
zvtKy(+UmQ3%fTB^h(H`dI3)Hb_LNF0q~v~1bVE$Uaq5F+&yf~)Uq#6vVSsfd5>!IS
zYkz|ZBnT015RtxeR1@?>XF!GAMD9;$^Hx^u?{Tm)a5_4lbydRpRm)`~zpCGy3HjsD
z_SySj#D8o-78v13$LPF*P<%@Y>Mu3oQqYe+5_0a~Oz9L7NI+atU;sa?OOP688D9$H
zlo==ti2H&F9$|(Qr_g<IVk^_FfE6I)Suw%6afADV+wemcKG=z3QgHC%IRv#Jgpd&C
zjleHQe;=Q>H5<@HOJji(zAGr5I2XA&xdyC0zYn|59zm+2#(J9j6MI%Pnrm}#3nZ9N
zx2Ks3U9MqqfclYnqPJ{zjSWb<>zAn|<Ry_7<Hnq64+Dx^u8FrHtk@e4#7*DnAO-uc
zHsFg(=Z!q6O|fDAjJf#L*!yuj(26>L3z{^a^qM{#^IykR5yXpA7UP}?-vcA$RZljY
z!PX0P`k*U%Y<&s9o`etCFP<?*#e^JvVxYs!O|ff=Oz&)4T3q&6S3OrvRr&83IA~51
ztc}il>PdPc`mWxEs<1uV5xASP#!@k{)6c8BGUIAyWm>GP1v77gl+froeHIH*((B~l
ztGGwzS^qeBas9kK-mL`uxINoS6!NZbo;iS$<aG4U$VN(X3Kre75R-;az^A8=prQFI
z1Ij!(aWH<^IOO#o-2UJoAke3G4i*d=kFDnq!`UGhKyM#hzP14g<n^vUQCM91FChF<
zpBRw&%-MQofEmMx@VAf>gpJ*Ufd3gx|DoqZW&X2X0=ixPzX61)0LB}eD0tGdeoZ~T
zRq;CjO((+B@*Jl!(+IgfRHob%!>ZVxC85nGq6bw!4iuJ@?jq(o24w&kO#$2sCcWpX
z>Y3jLFn$MMkt}N1NQ4W4Hq?Cnq5P0#8V1XOlTB4IYG?rphKw{q1Oh>ob;hifU<ejr
zV6!taF>lf=B-@fud-?#>P@Yzk)>qI4NpJY1oa#IT(2GR46TqEv2?kCOi+}ZcD!k~r
zjNGiuw~i<9YJg`L)24cRj8=d@V(`!9pk!aHm?W-zp}R;#-1S&Gv0AS-y_AxkJqm;+
z`in)OSUY^J-t}whWDd0;NJ%d<V?Kcv=;uhG`+i-Y{$&Lo^e|D>_pCJ%xJM$ty3*I%
zB$N&i?(aVe<8z0jmov?r*`hF*nh4^0TdR>*)orpa{MFUfmTUOn@D9{|u?In+c@Mf?
zDMUB5*yYN#1u=$%T4&7jM@e?;Nr8Z)cU9Hu|3(*8ROGr-*o3HAzy2r^NDmog+o|!|
zE-qf#M^Rd}%F4>7c=lNPE?&Gc<F(gTUqu|5AI03Ea^SQ_{{|wC9&x$yD2SmdtLLk#
z)}2BR6~*}YdY1%rP$aB+k&xkf(2u^V9e1SnGd{jfw>x3vdD>cVwy6QfuQcF+{JSt&
zW)4&}0$7s3wqC=|&-a~w@+0?D{QCWFe|&Ap62<yiiv+foS#x~-Yt@d>>fgBfMF3j6
z2bRku22@#+KzMlMbW9okH*m=AUzorW$fpTy&ZM-y@57R%Tl#}RAzo(|$<eSf$N4F?
zX$xpUC=4tdJ_XZ8PK48*EbF-qz{A!L1})w4pJLa}D0z#4xd6_`Lp#o#rjbF=SYUJA
zPJH;;Zd_}<eqIjB=31ayy7jP{dVA(i-Uk~g9WMb|M?&K#9vKXk2tgLw*3$>P+mG#@
zdZ#1v8}0fnS${t0aakT@7TGaF0KKqL-z3+!Lh$cCUi|!CShDmj{b9CT3FO@p#z_*&
ze7S5Ng!v@IrzFJtS@2%@huP|3$&w{Yx2ygKqk|g(gO6mB00000NkvXXu0mjf6%Eow
delta 1556
zcmV+v2J89x8=4G|8Gi!+003G+crX9}0oqVZR7C&)0AFKhUt?%sXlPzyXkTJzU1Dfp
zU}#=rXkcV$U|?upV`pGxWnW`xUSnurU~pezXBcSDU1DY#XVPF`U|?csU}R`vV`*S;
zaA0F+ug~{hVrXWZ^=O~>USnsj%lfX%`emK<U|?w)XVPY!_J0s?&t79`8fMaEo%Cj$
z^kARwUt(#l%lcqqX<%b%t;+gdVP{@pXklb$U|?llVQ8Pv|6pTgU}R>m%=%wqXIx`u
zUt?*n&;J=`(i&#d8D`QNXwt39`e0>hWt{XGXVPY#^{vbLUSen%WzrdE)2_?>7-rNN
zXVDsH(_dm|V1Hn0Uu0=$pYL8|XsyfnUu0)yoAs^C`e&Z@aG(EYoc68C_g`aZ|NsAH
zo%R`L(zw(38guBz-1)A{`qbt7Q<m=V_5L1e)Z^~_ywv-Qx%88{_+gs#jk)vO=>1cc
z?Oc}ejJ5chyzJrY{iVhEZ=&`$gzG19)Ha0c<Lvq3?SK5!<@>YF`a6H(>+}BN?E2g2
z{q^|%xYPH-*!!)@^iz-RM1|&gsrTdT{&=YOHhR~%(fWa|_r==#j<@*Y?f#m*>p+6!
zxY7G3aoJOi-Ph&)smAUsblcP8_eqH9aHIF<@BXjL`qSg~l)Cu3CQ?rT003KbQchC<
zzn>t0-+y30pg<t+FyD|6&meH$5MY2`5N{xVpdfGW-|tYL-w<E#V4x7s&u~zXkdRL>
zpb$`SpYKqw5WjzqpI|VMkI%obV9!rqkbjRb&me$+&w!A>5WiqId_1cF00WdsL_t(|
z+RT;(d*nC_Koy!Wl$n|Nn3<X7WR{uXn3<X3zkgmV+fz!jyqj0FEGw_BM&H0XV~^bP
z=tP!H+&S|27*v|3CnmCWMw+0qj6INT;jYSFYD>0_mZoZ}R$q2qwfeG!sw7*vdGKVm
zBX>g)t-2n=WzcW+z?JdryP4vbAKqtd|Cz7%H0Xu`JVXyJomNDID`V>D0b%<3X~quL
z>wkM0JN}MxUAT&_kl+kl5z}e<nNa<g?cTR5=X{;*SF!_ZSJ4%M7_NxPG);fzuBX}I
zU6RA>_#Vl<<*wJ4soeF`T=gqf-_>9@`&hc(0uAg)*T)U%+S#8kD7<1DV4J2PG9nS|
zv~9>!B3nic9yIJgexnSr;M@E#FW7HDDSt1gIlpJwZ|seA*L~~*={gG%LqkqDPp*Ma
z3tn5p8sG9D2t@{Wu`wK{l%7s;t~n2`qAtF1YN!F2sP`bJ!w6Nu5{9_z$phIRd&yFA
z@I%$GN;Sk=qqZ&!{eZiMR#%&YsFCY4sOb?HKF=^IBX{+2rmHK-Q&6L0aj~n9I)814
z7_~V*kCl)TKW3r@6d$oY5)e3O@g8kW@L}#si#f!YyJ9<#GX=c_L+*-}2$EW>kIlud
zbk;+}n*qQ@^e*gr^gy|5D`E$50+&j6$e_!0=rZn8&++^`YV)m}MH#&vmx^62TD%}H
z)W_xW9w7dF^R11pZ|~pS12*EOIe)MM980*GkkgC_5EM}PHHwm9v8$$z$bvN};lWh!
z3EQ`>dY+w;t`7lm8-@ilOS)2h^;luE?y8l$>X+i$D_u{q-RrJ(_LG`f%GED*Rrjj?
z-xqdmz6{sNRC0(NQ>w?<uX`kq0YR-v7(2MS{H0EWxO@?=&Skhx4@uX*zJFkK8nGvK
zv%mjQu4|1ZoFSDSG>cqmp@Yb<;u6<p@i!TG8Ln`Ds$>r_wzpnC$k?I(_H1qedUc1x
zp8XVJ#}2M8qGo%x#>Y>I>(i7r9A1`dU)tdFZ@*{ky+fzY6}%@5EF{{Y*p<eu$|!M#
zcH~&kU4|=N>=uqF)#qUyFMrZ3OLuwmnx<&YX4A`c%s^#0iIqgu*M=z`9++Y*-(=2<
zZ#ivwo%Wb^T#E1-t}GZpDbu4{RKHZJgHSp8w#c4Us@+g^*>5VQS|WSyY=u>c7gNP|
zLiMFPptAJ!%4_AK0}I_yY5re?hD@YlY?i!^MbzL7Qvk)du3t?@Kn>jh0000<MNUMn
GLSTaQ^EeCu
diff --git a/components/resources/default_100_percent/chromium/product_logo_white.png b/components/resources/default_100_percent/chromium/product_logo_white.png
index 854f414e3d7811f7e8b50326a86bd8e428735209..e415c861bf73c3b47eec7cf5a2a94f5c3136b248 100644
GIT binary patch
literal 3040
zcmV<63m^1}P)<h;3K|Lk000e1NJLTq00651001Be1^@s6ZJ&q&00009a7bBm000id
z000id0mpBsWB>pQl1W5CRCodHTnlg&)fxWwZgOvK9+39~LckCbPy|T~4@7iSuu1_1
zTCu33b*jaOwK`gzcI=2#)X}zDg+U#$5+6=WacmTWOsPC7gg|%;L?8h%2`R*o_szY#
zr{6B;#`U^451Ya??3elG-#!1oXYcNQ_usSs*&F=7z<~n=y}<M}FD410PY}93PUu>$
zuItfU2HRR`E65#W>86_&oq~gN0Y|Jq_{Wk$itrwa@><#q5)><R(@KiY<r-br*3h~1
zvjtC=;cUQxBi0$8zA}g+TtorhPGPDRL3SlpP^^a40=o82e&UeFUzu_LSNJdCz=12A
z<A)nwn+64?0PZAJ7!W;A$}M_89iM!`t#k9IZ`s>%dKw%!_+N;1=BC$YLqRcsOsP>D
zeTuNUZP5alm^2i#FS!b-@yVI~fWLT0>&e-0U_uDtCZ~}JaPa+y0kb}PW17%KF>mvp
z;H}+yyAS9Av<Cd>pbfTZx`qe=L_t9tefa}3FhBoVq$Q-7+e-K%A|hs9?2caxN34IL
z`4L&JC`thw^av5wmDyX~9894u2ZRR-XueUj#+7E>kHHaMOidbw%(!I4y1iyhV|z1>
zeO-&Kbw`jBo%kK0D*O}dbAQ#r<@n>giTLHp^L-2(kXE%3@^dsX<ck#YK{&7%EAcd$
z8G4uZ2_3O66?2ANiqUD=i1WrkRa~ZugR$cob9GY#bgm@FC0aA88F%=rO1!tdBy)6h
z>eG9H+i-s4F7hqXu3B;jnMAH4?ZoN~18yiSDufW5ji-M3w9i%DysZ!Q#A5!4$;cR(
z!Zra#IkTBgzX6xaWeV2tS=)oY!_`$-QTlfrY^sA7Dm&IEmEXO@zO3a85qvam@>-tf
zPvF2Nvnt9x5JI)e*iX?8a>wA7kyDWpn_!C25agG&Ut(X?e$+P9nPME0Gzb?ByAbKg
z>4x9ZrGl#3V|cTy7+<uUM2suaC~K*VxW~vKJ-m3+Y4XTXWGlIa{jLm&`6*2z`7(X&
zT>lM#5#%ARKNS)?l%|jzO{S6i$i0mFG|c{uEI5Gv=jHn4G}n-E<TkdyV~LHYxmWJ{
zb8;8`Yi#<QN;6sR_e0rshdc&%Fn_QuOD<P4Zgof>sWe7E<4CWuFS);+{W`PWSoU@@
zkAAmN@YgLhRG${W&vPatFC_~ah1%ioK*`omuw?gYoX|QD?}~t-&C|LcqdWt#aQqxh
z88g`wu)@ESjrI7``gd@s=_H~R)$*XG)lm3jb}d|XvKyfq0(scRwTb*OFHDV$GcwRL
zau)d@d6gwLi*aAdxVbd1lLKw~EGF+`?6Hu~u#KjGypnuK?!$_Yxy|*AyB@$Ya!82(
zLHb_|>GKJiC&{<yyH&O|*nKXE4;eQT5^`U!k%MevA7kvZ{W-HvA~OW6<5UfWe5xOw
zG#Hx9s2^_r7>jnkk6ceY5>*d^7z8i;jDKL`a=fG{n0m<+Gv4d=z^$m}_?ECfvt{sv
z8v88nLa2)^LVc86N9K}qB`+gahHSQ2X3Qlrvt3R$$o_7o31&e<JpUw5NFn~3G{i8R
zya@JKB{SbMWG#6kc?EeL`!=%Ybh1>6uvONluO^?T|1}<OE4s$RvXuBL2`R=e$ab<a
zBrAU;SMQa_;UZ^{hDe`bObz$9qMwRYDFlQRlQ3l!pxDMHXF+wTFdP*}E3kOaYUD-5
z!^oSVh@>EgyJPX{)>Rmpm5bEGRK$8?aaDE!w(Tf}$K{6jmKu>S#cC(i9Gb_24;(!4
zf0oPJ$#?0WM|&6{kV1Wm@lVM0r54|BrG20N2QBSe*xyFlt>lGVzMuY=5CSRGndWU<
z3ZAiV(B3YEx=D^RTjepVq^T!kWtr+tbOCPny4)@(*0<TV9uhXkv5@{{miB$zR;PVV
z3V%hvoD@*bWE3eT#T4uSH4>>Y31)^Ax<L8iUB<E$sy&P>x~IJX`;Q*zd<e@<ABqIk
zZB_|Fkd5%TQQCh=p@v@AmE;ba?bb-4hKm0dIqp45{~VkCcFS8hq_FHBLYGLPTJbl_
z@?2~7<g%Y8I9|;`&!J1J*&Iiq9OATv2o)h;&M}Nl?4OxcftmK?ZQ2ypK#Dag!VLp{
z&5vXC)ktGocksF*P+ebZ3f$;0+T%rHq!*`rEuqt8(Fl(`X?OIps_}ue;l3E92#<B-
zFS_^=ZLn!OVi9MZjlW*n!RR^sq^FzXsF7blf$$hg*7rBDb^#$x?^3myjUj@Q0U_IS
zrTboUrL9EoAiBHA2#?yJu=x2s6rZmLed|5^JW3yl^#aTB6!qk;+5f~U&|*Ea#;v}I
z*|g2yff#o*I8BPd@oA{9*~5(M?(PK^q$i|x)?QnEZTLFS2A4wV8Y2E?CZVGT7unlK
zVhu<ei|`mA?dcGqDmc6Fcj0T3b|3kG-SNxq+j$Jz`=wY#NCs2LMvC=B%hzUol?RS-
z*<;ZD`C5oBu3kXs7~zS-sI0s*<6Fgr>Ql8i73e?;MJ~RjCFKahqf*uohxgHYxxsx6
zLU@d@#`e*dBnYLC#9Aq>m)B(7dHU9s*!dk5Q)oL+9z#G2nDx;SStIbssB3Vby}=Y+
zD2(#f7rxWDJAW23k~2)P`Z|0lJ-Qb$F4gXeZtsD(W}+`3FS0B%h5G{BEN$7j`Xz=$
zOBZ*6DrvKM9Qo&|SW(tF7?-)zL$PjetihpE$IUuvgewAbrp&^xMqh`6{#I0Uw4h$|
zF>Cs;zoQwAdH~N(Sb!_XT>*hJS@m#D6-w$VjEAmoCm{u=WT_||mdWv8vYZ&OJ`qnK
z*O2%2R20lY@6rUnkW0C3v`vxza+%eh{2qc6eJIu%X(xrLS_Eswi_BT95EyOb9sPDv
z;Qhh{)i-P{Dp7!+1gotIjgehfRh8q;s5qn#NJ4Z}G;X?b9tv{CVRz+T)HIwhMVZBk
zgR#TMAS-=H@Pt9<UrKy3=4OsX$?-k#!eu?}AMISYw5AJj)v=G?19*gdSWda_ki&w@
zWY}Bi9ezjtRn|nS+2?vGjEUsf;N%1MU5#^#)p9EK34X?ja(FU~pDTC*pOnWigDhvv
z7TO9q<{l+WTieMu`tQ2|0xtl#iBvnCRBWBU9V-rO;EODiFoX|I5vq!j!}5?fG}jy=
zDEw2|#*=B5t8}4v3N~p#0&Xan#u8X0iYv>Zo~hGn^uCO4!2TX(AG_qN%*B$BvpRpE
zzX-j6QJZCdhA3Ymr&y*<Tgi>&LyXx5dz{V8`W!iuyhV!AK#}D*DtH`u#>^NwN6zL2
z(M*0!F7Nj*U-Ny|6%^d9*0-*V<#vkF!_e!}M`CP74hDK-<;<4SDNIcdpt-%(tgF&z
zwgun1YHVr3x;>jvd}u2Ix>mIFu9t7?<(o(uG#8Q;a-KibA4wBW-@kj&ry+iw+wAKm
zE}AALT;KGk&}j76hx6NQ%k}|mZ|q{f@p9_7va4(_Uv?Qr9%tMU^kXPCFJEt=Kr^jk
zHAs=6InaSr)s2hd(#)5y<II<@1x~lO;Anjf4xX;T_1TxAkd*^fwFp+BU|XB8`M|d0
zk8WHx5s$6y!<VleI6rF<nkOh!owSO!&HP!5A6hU2(?$wFB_p9=e(q#U$hia_-u`td
zSOtnt)3uoev8ij}z(HS#HTZ);3h+H<)~Haivd#Xd*wW|M0&odnUd{we%FTz@9mRIh
z4q*Pc=;ROJz(HUBy0v)9ogauZ4<N_GNn5}U!l)paHP@9Do3Y{ZQZ%(TALm2aEJvsg
z`d+LOA5Hz)S_reOQ=|Y|=(N5P_OVz%RTN`3ODm}?FIvC9bmGOHgtL0<ci{Z{p!>)f
zLg-1hLjZ%qY_I2X33TzoXA2gW!GVKw^pDvxD9G^?V*y2(O&fd&^HIb{DB|rx7iIj%
iY}Ghl;lP0d2mb*n*v&t$?XgV&0000<MNUMnLSTYH{pB41
literal 1417
zcmb6Yi$Bu|d=jb)>q^Xt$#qIjbq*hoeCP<}F@}pyhTDUEFqub7c^sXDEtSccQId`^
zIgeqjc9lCDzt~#xh^$GCt;6hPbL;cDf8f5K@B97vd_Ui-u+RYG9hN&lAdqoTpkIVe
zw(1DFO<%`jeRGe3Kzik{;7EU+x%vMAf*!ZP03Cq5ouk4~<+=tsrGu*i;{X(89Z8W{
zqQ+5mG9+aUL6z#FRA7@ftg=LpL(pUYB?FtNx-|%z2SMqapV0!v*X5w=*D+KnvThAk
zFQai(mKdHTX50cf-p<+36<VTrG>%fIpnj9lxGEfV6J57X8~(h2ZmzCLA5ZaoS~<v9
zTV^f_B^$b}_#(A+3csAO2CtTUl4%oa*W8N5wS!A<#hUVN#SMmHdQnrsSoJGecqP)@
zd!|gkvwpK*0k4=5E-B}iH`o(uo=D9TuG?q4zVJZ)Y*IbHtbOoY;#w>guWDrqtxwUr
z`6X4?s4BNb?wLOyRQjQ?U5>jeuk2Oy@#L<ASC06pzA;rTQw%3A3zxL;>gD%RZ3joi
z6Uu4BYxWuZsYT6C)&KO3sl9Fu3Uv24fsY7<gP<(xtWN==0en<S0&wZD_*p1a3eBIT
zf@h`D1_ZbROrny)0B{39WD(;LEGP+J<x>%1#QXw!0SU}P_?qw@gFyNzL4LlGxszN$
zR#KD49)nL?tGEa|u|zc;X9~+9zn4gy;`120&LkWT-kghMFp6iJl4GMq{4T%?=gJxN
z#*41Q+g`fob>pfT=lhuBa8q=Ss6^oOv2m&1%40e$McrxEt(hP=B%IB$_M*(VnLg~_
z`pAZE_~Dw+F2ZKBzlo{jm_OcF0pQ3=dM&QNEf)qt_=!hKAa)w`_8RVLGGh5OnweJ+
zT@8g)5Nt!-cFK;IkA&=r;U1IH1CH!#xK;85BUnwYeH11*zzv<?CZ-NAj4cR$0Y=y=
ztgmL5((m@M!6ce}YbZpmC7s2-IO4=j3>s~Un8rVCwg~*YtoqEP!~Ol_M&-{QTmxg?
z$oC2P<O8{m->$%`FO`Qmh^@5U0<kEO&`?^~bLIM@2F7tbrnC!IWAZStv@y-yx<*a#
z@BCsm?+$+MSo55X5%RAR3hsWLtvKKLbv$o(FLK4XH(_5Cw9Hd8pBWf!tD-o~C1bY$
zL<q6vhj619yRS8ux8#0WOZ8>C6m|S+Fdyo6XVN4n%NtnQOIPZ_U3+NQbD5;Md+Zb^
zf{#!1!ILQXyX{+JY=gsjMcbIMtqk&12^lmy(|@$9%LOzo;loW+!@nHj=}X+b9Dc95
zQuefmuq%TZwRr8R6Q&sJDb=H-zaglz#RIE3620xy879T$`~P_9hy|?co99%X&8OIe
z*7s?hyR)+&df%?ys9==!mm;y3hVjPGlu^edm({7E*dLLy>>ic6v%X7URvsm=+8l7^
z#N4IO(&CnZi#gbiLRnslb7fXQ+|a_!kxbF$TYCvMtxfS+XPG@l*xo`J8-mqH+}^25
zHJ5hgZ+vJY4~NuXhBI1X563CE_)>%s78v}d(lC16?;~CK7+)W@MVKBuqd{K_0P8zZ
zjjqU|=Py*9CRS4SwKb-FReDm8lziLNdt;jdpNAY+$Y;ZR0y+tYX*J@BC#Ss2U?FWH
zc63Y@-#o_5`r-*im1{>t;n<;bxX4A1{;PqB4_HwPZyUcGTJbUF+OL?ew)hYO;fEGT
z*=!tIT*Au<XPxKoZp(7dHqYjS6X`uktkgr@h6Bu(C<l>fT*YjBQ%f=Yv%w(o{0oFZ
u@0pwa7KSc#GC7l!VPY0V##_}T>;N6qa~*<VZYXp=3<~lO^=m(YDEb##pdMBL
diff --git a/components/resources/default_200_percent/chromium/product_logo.png b/components/resources/default_200_percent/chromium/product_logo.png
index 876c29223c8b4e93c82bf7b191e7b0eae8c98cc2..93001beb0cea6b3ebbc88924a41409b19986a045 100644
GIT binary patch
literal 7923
zcmV<P9t`1$P)<h;3K|Lk000e1NJLTq00CA2002M;1^@s6L04a~00009a7bBm000id
z000id0mpBsWB>pjrAb6VRCodHoe6jpRo3_ar@FecF9{(D350ziqAa+K;G*NMqu`8;
z3wweIpy>C`jL!4T^3E`y<NNwLI({yYWJn+cozG?59cM;IMHC!#*bxv!i9iA&A^XzZ
zb<bB-38uTcJL!&TrU&njr=Htgsaticiu(7dbI&~&5{X12kw_#GNkl_9O<eisM`FM{
zkeP?-%OHRiy#(~7s}y=!1r~?&vgZ9;e$|F<Boc{43hUKx{a%5fvzYlRFn>oc$LVF3
zUZ&`a0x&#;)k9pxNxeME%zO3nBL=_aX0iLDTOSaRNF<VPqp)84_LHNS#m&t49+=N%
z=2)=s7Eu_V{Ryk^C$_B&{se+w*UOhS-u~MIkVqtwZ-cO2_s)u3X1*KDx9MdHSa^t|
zM+racygm!xbw&xZG_2YGr<YG|n*Cp&LL!k!&O~9o{@tQ<2LBk$h0G!ejBe}GBB*`^
z)7%aoe-r*i7hZK6^ktn>)Bfk5^B=B+L?V$y5DLBlH@sIg8^8uI?gx;Bo?vtdsDEu|
ze^mni5+n)mT~RjM2S0hMbRHxUi6nwh(FeZw{vQS~^Z$T34`7Szv7gTYR<Y+-HWvSz
zTmH;o2xg2=${aE}J*WKr+C!ISqzt@&tP)!biA3`6hO}6}w_(*-0B-`wV}uA>N&@KX
zk7SWl0>fvOxlUuo*n|vRkaHGB4;q2^=-9m0_SQGIww@RZiA3`6g!HlAxS@1BgI@;o
z7*AiRu`qh**|+*ih1KsGxUO|Om!@GvTq-UZHW9glM<Y2d5gvR7VCLl5v^@wBiDbc|
z#TP@+GyxF@#-6pSi~oplB9X#+<A-IrV19{pQH5`hy+s@mxD(2<eNe*MRmZ7m$cah9
z<-;anLe3Z@#deFTMO<&z#Z^WPNP=cwUcu!=$~*9Y8NXaxR`dYEfke6jZrZqd9Do-A
zjDa86;}csQss6VQ8J7?k6qA6<bW8Q@oUusuFRJKj<BPgmU>qcpAR$(!zz4n@5=l5Z
zuWs73dH@(}0gUZkDhUMcQ8+a)+(I*jQgm6V1i;3fDz9|y1*asMIz=@tDh}TrItk|t
z9j{xe38od>14didZf~!<Zenz5EqXyBVPYc73moYn2xb=)46+F|RkVwmb?b_bqc<ed
zVkOW+0M6^#nLu6wYhBa98XAQQPN5;m=D_IKR9uuY1ec`^)0g3xo-!Dt;!@4Owdvc`
zYaK=%v#whRB-^8Ll`g7NhUEq$svshCxH`_;SGoToNF+f(;H~h1KSVFg&s+Sgswqc_
z#V%VEj?G<I_*+PNLRzddHkHo>I6pw}6d0CxC=Yv;0aGLu0OR5YAU7o&IY}8vjY~wd
zE|d<N3Q`mp2qEBfyU^}z!-=MPd|7)0J8Hhb&c@?NRvoxT_o<#cVgeFk;)4=ZV_!#V
zs<6FsPyS_V?py!ff`=<0k@P@$S;^mZk(|dwQ@}za#-8%k#ic>`5E4AQDoCMZc{L>z
zP*gu!n*;C$X3nv8LiN@e)gjz^A#h$&7A_bx7K4*B5aWmjQRn7t{PR#{0s+)n5|LTA
zrM(rORegbmjuuQFnv29BMb+hY<8aLpd~$FHK0Le|_0G0R1-N)i!IPDcNcz3gYw?>z
zxYnb`YgKt!@tu%Ji#34a-p@b|f`C2ZQ(H6_M#UuInjsT0YT#fvR0jkLa{&ja4+glq
zG>DCk#pK}=;1+Huqy#0Znx^4MZ52K~xDy}fqT1kUgN-N$%=ZJh8~uz#LWC&G8V4l)
zkUrL#|ES0XVNS2{SmZ5^t-_5f(ncU}!WGEX1NT*%3QcIHD256%n__Gu1wr_MO?Sf4
zx@vs<`8I4gybF!44yfIA=S(TSD;NEaM8Z*)PB1B~l7JTL-Mx<ehxZWEHX$%0D;Jjz
zI|p`~-4Im20!RwMZ)Yoai)pB#Spou8b;q!2|5mL3YByRnCsc*N{B`hGQr9^x#lMjG
z^Ot7YY$8ol5YLLJi3U!Tl$11}pO`nVFq>7*QGi&5qjs!b{X`8y<c>R*q}XDRX(JxQ
zpaw<5NxNOE*4x>NFp{62pX!1-3Q*ePqv+s@6)Tz%B+Hg9i)v`oMiFbtq~Z9QHO2dJ
zx?n_s5H{xCb=LrD7unFyO+cx0z*bjQ_S8}Qdm(+SH*a1yikbfbAeDsx5Fovu$I>R;
zxG8g-DXKQbW~}oOR7FwX*4#MRRFC5)kK;sR9bC?KfE2{W#34O74e2QZ5g!u|qD~7m
zSgQ5?ZP@oQ-u-G9Iy4s)z+Zdoz<j~h#VZcrG_qj9lJkU(7XY}PfMM`~KLGIBmk0Jf
zx_<q7cR<n1FPH<SAA^udK$U><P(|s=XHCIgv~&`)_6q|2z_RZ*TN^WHKL7l3XD>b5
zdOf}tMArex4&bhNgP32}J9&yi47~pZ5#0)=6aYt{;NJ38MIU(_doF|TB%+Hg2do6)
z@h=Bw{NMG<m%IJ8JHOysKv@Xjhu(F$5uiV6r2KAOY4G=Ze*WSY!I;$LlscxUT(G93
zWT(Zax*P=KI>mtzOW?sEQa!HIQDW*~Vka^5lAHv%prbJg)|D0Q>h+rCFPQ^~s{vd^
zpiEd{-T}f(D%_8kmX_Ax-vVi|&IBkG5C|gHzw`A!bto<wdbVFtJte3IzWN-S_HM=|
z{WX0@Yb~0EyL;b67^FsFYEm|)kC=jU$4o(bYI?UY_TU0I)=*=L>N~oqI`!k&ERnPx
zr;yrtZulKe1G8r@OH`wrk2CRnLQl{|04^Ffa@>!HkIKD!P3g+#;SaWD6Y(T;lBqz9
zH-$UD@G8OLIfB35Xu2*sp=v6CP4LC2d%a-#83@yXURnvd0Yo><&nvu#i62~BTCxs7
zK%k)jP3YQvHZzR^@X>+=1!oIIc?4vNhrfzB#=RQ$RrOuN3+|e+rsS!w1@2niLd|G#
zJ`PYp0LNz{fI@|}JLlyWE?rw%TpXnPX$BD~UEQg}H9=Vbc3Q%+egM!}9-)TT^UVTz
zcF1<45KjlNE3mLHy%rEZ2l%2M?+4L20M2o-de7Xv!e3OB6|aCKa(%2fZ+X`Eej|Yq
z3{KX}j;hOsny>$UMAe3R-9mkF!z=jF>yM#m-+MUL(S#vt48}VWFg~hlal|7@QL(e(
z2>$oSFJSqrk7MJ`O{O3#qy#jzYZ_~@e$Qt7T^DN?Yp@aZ=tE%r+$OACq#(@9Sy(vH
z7VY`~MDs)F1xaV{bMqG#<_B3};QU2PrZVVn1SBH>Hen<GR#D-9Fz5|3L^TwM#uJo^
z`T2!EM;~C;()BU<*RW05PP(WDalGN|cE3G$(OqMplb5%6Y<jD6JBSK;uWCA;ist7P
z+<^Y09eqY=323D*Ec_uL-UM(_@VA0e6r!gVEGqmBA{g0urMV{nm>SG5RPM4Eug*RT
z$*~DOzEQ(^t*))Y%D=9`Z+E_lXtE*49t($F2C_b56}u_2N80MKY<(GC-S`IDo$Y?b
zm56Y#`Vd~N+y+eu*q{WH{a~s}_6Z0hvu4e**%YiJ;A~6eL>&t*V&?k*{wbKt0ek`r
ztkCU2T7nr6;yqvC!d`tjhAxCnxc!MLfgXhqypM_hn}Iu-F@p@(1GtRA_3(in(8cxs
z(Er0J6PWQAOV{Vy%=}o__1Wg{M~B$`knw}15pO2YSdSCl1EP}7HxXVB<~HB@%CFH+
z2*O`G?;Gy|;|nmmEiRK9Fse*f2J->4eat(IIz+T9V4ebno`nxwMvQzx?y-W!d4e&I
zng84Op3^TE<Q3ivNyNGWt^^^Dp(D^E9YVv@#0-oakPYGI_5Vb}36#9O4u7rr%oNK|
zh*ngLRBZUow%1Gnz45~9jR*s8i<k&GX<10KN2AHrflf{Z%69tzEZJh?*f>XE2f{>b
z!hoj$c#Ai4xz^#h=jo@PX!P~L7EBQe-9ug0ErB%z0Yh95qL}XQ{IJ&Uc;M7A<}F%!
z7C~IKc2)6auj3UIoXwg=RGFIr{78?#`~&=xZ&*df18h;OhjeT3pGI(f2wwe#9&N5x
zpxm>jwCH(n;a|LjfEC`=Xr@iUOs{o}pRXw^e$euxaXv9#24N7oIoGfV^=wto;Tuv>
zT5MSA#$uwoMhvk$%cE6)D=#aWgOH#{tv|wGF4Wum0=)U8vlDdDv#hE`1YGcS9iqqP
z<`sNcQC9K^A`KaCMVEtvORGu*oI7v?9IEL8@E-Z(a^lsG-o%T?_Zn7e9~(v(s|)gj
z+uy*JecOB@34{>HOwGWh*|})YTnHLQ*b-|Puc;suT8{UUE?5iviK@YxH6>ft>VFr&
z>`rTkb|WadMHNg-bU)(#p2t|bYQ=87ljt#65N_oW-%CQXEu!k%&Q-<#3BcDXBDx=a
zf%$-7y2_tVd2MOYO2ew}#bUp0O<B={zIDwXl4ZU|E8T|E05P<XIydu{{D_DqdAAie
zc!{co^72*N>~PJnzDO#h%t2%!h4lxY{4o*0_^t=lk5j%IHwz4nO2FWxfxgx%DcJqR
zr&ziFeO(yiz~7{CM98u^@W+3?j@pJ=!xHv!H%uHd9*H&;0vv1#t#Ol9EJ;8ZaDx}a
z0;}S_;4Gn{XLM1>(5;;xAtd;n^0Jjh2!i>G7JtXbuSry*r^b5~K~P>=^f-WbEmCsz
z!i9yop*0y*(D=rlddP)SE$ty;%J<h85fK5<ui>8<_`Bs5eImjDgM?*`7FvBS^g3_w
zgJ#r3FX+(##|Zp8%YXSh5LrlJWpEb2889HPc~E?Gs)Gf_CZr?Q5$$8Gwso}O?Ohv?
zOg0b*-;`KI#k&oMv337;SP?8RWMCF9Ngr*F_#*P~2m~Ipn+D?4@QlKtS(g9krE5z{
zJ`d?R3kiO=ytMd=;EhBS!h)iS6(K6gYM=W6x(UIfk&SLCFE81P9;m2zsuqC1SND5$
z_r^=TTaLWWqQ;pB16CnrA~%9$-kpoD17VEE{b}WnmIs4AvfJt|!NA$ZkDMf;Tmd-%
z;^84qJw54z;|KV3DjDC8o~Xh*$M%}ZQ~Ha+wkT{mxCQ$3D_$-EW=3>WG{$8PN2}1h
z+TDYuCxVfKer8VI;tAFmP-1!sVMIW=3!yRHVlBPAdUf&k(2|uDRe*8KVnLo4f`#_l
znm?@E7-aZUwdK3pw3>rLskaP0jh(%0Sz;Ih!8LfJ1zlILH3H!Cb?er(AV`J{%dCV2
zm1rs=3Ms6q9%>ZO<YTbe!=D@z4=}^Zp<|Ue>TWlEr2R#lV#n6HO4K!;^bvDrU_e4D
zqLr?E0&Hov|8wql>qQ~H%=f_wUndzecIpEJ_8>?WE?hQ{fYDxUW@SSk)nvWp`+31v
zB@TL9rYh^2pzjCcq|drG(eL-2t=+sFiYtIFvWS03gIAU>UoL!S;N(G&MBo4cKJ^~W
zfnq_CU{evNM*F0+)`W&5C#w-pwtf~Z!WXVq)6Y62W3Z3VC&t7f+2$~Pzl!g?g}xAM
zVX#~*|Dm~U&6=XG5H=X0AZ)IYzHVqf)Hh2RRf_kyXN05KtnkUcx|7_bwJ1<59iAGY
z|IsY&Aa@AYVx*TX!<eRzMBC+I9kBOhBlgMH$<RPhJ+@1OBm#vM-1Cgp45*3%o4#27
zLz%+b+TH>ODd=wm3$%B%`#%Yr9d^YAmnN+3_78`}f=sfEPdE|gvB(^vCosi&TLeU(
zgjE3_^?oNH$DBDoj$60xk(PdyRtrSm?9N4n=T2zWIJn@eaxy@k=a&H(3;Ay9^MwNE
zE|5f&D}aKXUXXfuJ_z9;uv9V_N~hEWeF|Y{UZSN@HHai^oD3^2dt={hW#y=kXhqe>
z2UnNFYNelkSfCFS6cpG2iVMS2vK5klIjWEQO8{oc2#A|I=dJRBJFV8}s2I4I(ceUq
z0*52YuR^+AozuQhm-aHBeqkjhH^}P%iHIObkkiLsZr2=r)RIhC;);*N#?~VkzKPYz
zk*KVsp%3WU!d!aN7q{m#$maAgwB1jH0|U@HkHx|)N&n6eM#*|ffF>9lD^?f34oO4_
zs~b$d{RC|FcLL4Ag=SYfQjqlZ1`IaiN(UvSqlvYCb^|a5tI<eFNbw{1gogHJGzuqT
zN%d|p6X^6kjrErJ#(@YYL>$^Rqz1)OMeXe9*cJM*kz;X#wEpFZCpr*j7!e3T>%04i
z8;K~@<B|JFkGfb2$r<GeINI%q?>VDXyD{NkTQi7!|CW<J1erERzsgw~yOEoeg#n4F
zU=}`)TWw>V-X;Mh_($<X7=+Fm-jihH7>yW_A<f64G-ed<qjjERx$*l$j|w<LV2HkJ
zG8!yvvLHF*gtZDly|=}OfRO=THP=E2;nTsCJunN?(ng?3bD_Veba&u_p%W1w8xO(k
zCFDj1tb?^jU?)FGSP1_7u1z5He{VhWZdfoAH%ACDDtuot6`I&bzsE?+$-jSE%ub3(
zQP#eJwY$@DaRx(jW(g~iX~osSfP3yUGJ5^@HPxWS$UJ2U*f+%Qit*ENM027)Fnp)y
z#ty)gF_S=~ScL)g%?;R5d&nH2<zqtoALvkRTIc<YaEXt753Sr7MoWo9_344J*|Lv$
z2oXJ*$t?g)u$<`o__jjUkyo4)Lgi1qztYrs1qCA^Idg>dPgCz`0C*ox!B$c2{;ZOM
z%8q6nsz2tF9EF)NdGtgq7%~M%Tx}qHGd_2>;`T|`V$gt02%-779`+yo0ted~42#t}
zvz3AW=I`6Kq^JS?OhrXWC4f&Y+IMT{)2jsgU~ykW;BS@-n5JiEnjO+E6zlXhT&oW;
zeE~tj#N2lSk2&&mm6|Ol7`$(t#YSI`jj{}qGj1}$4*~B4EbRG}ygRWr*BnH<%jq-B
zG%h+0Kb$rblM^yf=kDmUxbAT_W7+6SF@3^?z6~b@&27zi|BJ1LwHlP>P}ezzaWvF(
zmg9|{pTFd-;HCvByiD&UK0tO_5x#d;TRE%{-Ite_mw+HJrcp67pm{;-PNP3F0^ugh
zf3m3vlCE@%o2>KA>C^cPf#i%5)(?Ws&SNC3-qBox&rW;=g~(?FR(5(8?!96G#wVns
z($yN80I<+SwFyf{PRFc^W+Emk+Rqd%jBN*ZVsrgbL@PG$cVi0pAZq40h6yHm&d=H_
zb<zCKo~Cfo|Nd)$-UTocOxfWImN({qV&G|bGf^Y^3v=?9_UI4RrvO<B!di<(Uai^j
z;OW!V2=uWk-f12Q$kN><w}&u_t=M<c2YzF=o`Nz2_sq?D4%>C}7U{>8MB>OR+79q%
zARZ48AUI%1E18uEe>uDx*$HVF5T6812(NspBL|Pf{nstVpEkXQvdWK<p{Phy99ALr
zN=I1bZb!NrjR&Uw0N<T_8RBAMjeYry@@i;l#FnG`4N<ke{hJMD|Ni0KOxS`jVT|3^
zC!6~v5&n<mYAx5rb0#yrNT96(TAc!%3n=F@oZkm1-YY^ZjJO@N%-+G5f-u-K^`F9G
zyZ&%K%>u82M74m@WQ1ceD;E&NEci+8!Qi{r6%`-Hw-|=|ErM$G{Xe7M@6iNhmk@##
z1s4jYc?xmfn$qGwThc|A>+YCoo>R>baJEX=t4|=gU4iYFE^=*EU2)CMs5aFuL<WRC
zofM2^=8FKngg`^O8gl@W$P?C=&by;YpQZIxFvbJyzw^ptmEqSs>}<wcUv9<BF&84r
z?(pihH+-U51GBK`nz{JS!6|t6(~bDBW<S1kwwa>rAc6qU&H@ILV^VPEhzoFW?u8hZ
zH4HXV0?yWISM8WSVv;H5J5C<%a$t0|j1Z{#&uw44vK3)O&u#jE{-8_%k;T7ClZh}H
zV0eyU_tjDU8^XvlD_5Rec;}KiLWt)8O83nE1mI3ma3{WQA%Td^(g)^+dbau(5q_*z
zdPK2y)vDdPi{x1ltoM64gAI}WIx)NehWK|06c_40$QeYKVd?yw$lzC1RsppG4ov}|
zbPeFK43(5bcCG*h$^k3}Bgt1x{pU;lp#BKrbzkRIBd5Y)vqP}(64z))G|nG?9wv-9
z3$tpE;YiI99BVjXPJd0t6CD$etkg_o56nhd@&MS4eF)*TA8Q9$OjHcU4;}?ou_5Yn
z6<bamf(ETq5ZG_1SRH_85q^vZ<u-kakQM^vA$T;w;(lGM9z~d0{fCw7_2kr-Ys5w7
zw9}!$yoVXTHm5m>VC(=ioE`*=CyD60)XSg{VruB&2YKeayu#lT(f{gWkjOq3{5B+!
zDXcG_KWER(e^fjJV2P)iau0n8af%IpIex$tyemgcL5w5H%PnB6*SJ$)M`R7hi0t7I
zg1e_AB<Kr$J>9h?v|vW9nEM;8@6V<vh|<M)^YPEop}C-VhFNtt{MoIGSDdz2C4Dx4
zeEoH>f`Ok9=vn}_01w1LFuh<W*Q2FnrN<Bu(eBl$$Z&omaa~>fDS%7#*UdR#C7%eF
z^>V#866j_9N8{lT`<q$`o>0*3CPoLy>sqxUNZg9rMr_UKN3LE5FI0Ku)YYgxC>PM`
zk`MI3AmiL@|2+uv0$o4hq<4CL+bRB!d5adU0^5EHrmM}QEIo6C!5f+Ibj7OTS0ITP
z2!7CoH5aVkFmMtCgV8B?V2{%CGXz*LT7(<Z60>lPF0N?_DG*)TgcC!M+npWwvbqwV
ze7Osot3N}ds{<<F+3p5?nYN|ysZa4QVAiZ(Ibsv5zH6p*V;VrrZ6Ku<iu?2ORjalk
zNaoMKH(A(Q(iNAZvAldmHTn@fDM+k~ZPSFtgP<Uj1ne46O^hlVIzCywdUXx@$n6CM
zX{u%$sEYOzq3&na(xvf<9ms6Axm%ttDXBsTTzcuHYR=fPS$4Nds_H&!#`5;Uf(3=6
zg=%xOIdJIt6)T$iavj}n<hm8gWx;7SQmUC~U-_z)|3rw)FDMwtZe@&_W0fhB2+d#|
zCk4kfMeM04DXD}c!iCksjE~kn0p`0+dGaTy*6%P&bBdHKdkn4{d^W~s3`dMPeT#qy
zQD9Fcv^Mt-4nkbpap?GAY(KOI|2VoACpuc75}j)6lUoX&T!zztL?V&c5P)%uZr%;x
z76y`f@ay<EUmZl|aMq9ODp6fm4Lie}8!Jk6m`PfQy1Hx3lJvq{Od(a2&XSqUUjLfL
zI;g5@&IH>VMrT%hbR1&sQHX|u#`Y#OxXhUhz5=kQ>b1=ckVqtwf2FYQTlG?dF0Qo%
z+zbok6W7FEVr%P)7^v!K#^%~XI8alGhUSxSIy<^Lr5MVotyw_R+-UA-Lv2$%zBqme
zn?B!$m-lVNj$;QAZ?hvgHo=HE2tr&{b8te8F0L`8qP@Khb<Wm%wiP^i+J;<8BoYas
z7jD|LW)+z8!TwwV0$_OgTK#S35*pfs8^nwRMMa7lZBC`4kYd(%3zsf{y0AK1(cp5z
zSQ$-<x&NG)WL!S<9GsOs8i~5V>ICH$I8sxki*#k_Po{l;5l$l#iA18JSNNx3oXx=b
z@WC24>L0^;RTaA_vThcrcDCTKXflNJ>j?mDUBkc<ReQHMgK(&|9`Agy-At@KA$tr`
z;*)xf7KpM(8CkYArzNHS6cUL<5&^CNFZPwb(l$1K<^}*)0~p{h8GQH9r{GfeD@0JC
zFQjyeE)f)v-{kT(5b9iQIN8#GC@6@FiZy+<hPB%RpG7;Oet3T3psyg2NF<RatOona
zUa1|MH{<UBuJROD2KOynhVK~E9_tvQd(zp4`c_?BnG9hy2ME~wi|c0qW=@Pr-3y6C
zB8gOCHPx!@l@ntZ&UgpFl?<eL2`E{$kwcynkUUm$0CBC?#kHZW2@Viq><%+Ii_PYB
z3i|+je{yWv9!Mk-Nu&#_DXyzutr@fM#<u{R?=?b&t#dMS@7Ai<mfUNP8c~<Hy4uj#
z+5|fjqHXq0%T+N?V>5tTby1a;szf4*cwx1O>ua@R7T)v{fHVRo`%HlntSf+fPlr!_
z>QR@tHnlaI;_9%eh>eOVi;Iq3a87iJ^r=cDk_ZpC>V+HLE1JuU2N;~wJ=|63Wp6`Z
zt$!1Nx3|<gbqu!<7#fpOIc3nOU;J$PtO`gZ63Lk$tOnP=yE2EF?*lMbFO#goYW?g}
zBDn1>g501l6?;3H9<I-SsuB{3L~=$5tA*>{c`BEU+yczE>Sd~53lx6Vu?Qr(zI6pR
z0Q?LyKe=i4e|-vxL?SsOh1J3}Z$B{-%(pZ1EqZyjUMl{QwfG9D2qdhUUhdb+m-TY(
z#yfs1d;BF5$+tvUEnNNA$6^6YVdjg$JWVgh=}RV<<E=hZi+{Em%+-3iS1&i}<pwae
zeQ?`vnjw)$B;RIXwQ}X3A4z29Y%mYj%K?Dj&Z}CzJghHAHr(>7M)Wfhi9{liNF)-8
dL?V$${y%O5_7mmYB=`UT002ovPDHLkV1fn9_uc>i
literal 2714
zcmWkv3p~^78=p(M9S#+_RXZWMRMIj2oQ_LYZfS0lx$MVg*J2`(WT+E!nRF_-7sas6
z5l3o{OHquLx$HDfLKihmGMkzC|9U^~=lMME^S;mb`+c7G{e0eRgzqWMZHC(*5QwIy
zhr2%nqJji{mn~|bP0VIzLLjPX2%kVWxCF2SLWMLUihwU)L1PHuWN}xc%Ov$&DG*Iy
z^P~WU0z?tnybbUq5FHIvh*Roh=qS7ao)1KmA~1ME+%Ou0$Ca%_Vu%ru1Oxm~1cu<8
zF{4l5fk8AD&+M1tN+kNxd~_6nHK0Iai2#NG0ECE0JfT7iQiEAc?kcWy1&9J2S?kc+
z`#B{5P_!vLZ0RztWCdgaus8$UPz5LhgJTZJ@ue%wzEzM29Yu^TTL!>E0CVL429GWI
z-q63w;>yFLaJW(ldjNC@Ad4ZM4{8RL>*GcMAR1G;1Yn2;_+b`T!RAUqKwP;b41+`e
z2=XI-*dY+qkT47u5{bp*Dx|DF83+hg0RTip9N!Q>^aBus|IrN`KLU#f0366`NZ^Yl
z3UEswHw4C+{qpG2WiYN!02}qA@MMOxq+9Z^XZ2Q_tfFg`)-0QvTTf?6<%*5DC1vb`
z6<EsT`0RSpqt64Aiv8yWoRPJGcWX2AiYG&Bk@psv{mZ_&qQOapM7A+KuXxle&tS_+
zJ60)G(jMX3^t`fXTv5ysElQMiuU5?|qvVPer?ly$T4{c(j8eNe{BaG`242m^#s;Xz
z{+ftV`^`LVq@+tS@^Q^Dezur1SKKZ6CQ-mH3#LTtR~wf+v%bLd=Jt|C+%tuY-i6r8
z8JCO?0rdId87Wwo;N$xA+-mQ{YGm>9#O(Uaf}*x};pO<6M5bi)uRIx&%h#0Vac>{L
zmW!5@(+djggmKt4QP`btIk|~N;1f(u@b?XXxIn2LlNFO<7XYeF(WcsHi+Phav1#l{
zbY*P8BvecXs6YjpR{$-5rWH`x07Wd;)~=)!P$=4nf&ywK5735o#JW^YQg{_WV}+QG
zwm~3xXIwgX2zCd$z$MM)Oj={*Btp!ii^cRa2yum&O$9S~E**gSH>W)i$mY|Y?yiAJ
z!ujIsmrBF*I>p$37|))KUy<B-Y9DY(nux?yFN}l>?85KPK`vgp)apz~b~#Lmbfa2(
zN*A5R1Sy}p)&`H$o#-yGKN3P8$HhI)b$c9C(t2)wOM13!su*X`J#FXo3q<DxN)KmD
zggMuRZ1``t4Iz%%?hxf9CNip{x~z2e1V@Jvk@q$k-L|y7Wa^$&c`(2g<#s*0=oZ5!
z9@?Eb`i657X~I^Kx%QfnyKZMC8t|U1sOjw4&LNkH#yU>^%9R1SNzfMW^vpL!E&gXU
zgM94mGrL;Tn;QzQHO`t?`P{I4cxm$~@@H}Tm877;cc~oZ*XJhYu-rNpDn44{=b(Oi
zk2H}XSg`cEDT*!Q<kz!Mx0<#EKkN~rt^oBT+#OSK)C-#7R*Ow;djrjO!u=FJUXtt=
zPm-p3+v4pHhXrnCPih<#G`46VSV#_}u5gSt#%>)%iqA#uJu>mMI)3G}9^0v|9_is*
zKHwT;3&&2>w8)paW;^j{hm>%`Fwus^IK1~*RT%GBeehu&mJR#wd?2*iZaWu#yQEfP
zi)u+u^=<LZX?7eA9qFtYvx868cx(L@r26-HXy}mwpPJ$A#w}x^R2`$f%hcNJFPGo@
z95*>>F40;~*kLXmbn{ayX?R9!KjMqxS*Fhfigvu@?@GGYCGZGf5?%95N!2z^di0mO
zZ>Q4G40bd9PS(95p#}s;be)%4XeFE2=?1?a*l>GfHKTv<!`GXEDG}`m{0h;ysZZ@q
zko8OvNg}3k>}v~S)NVLGiDi8$Z*tB1GlblZw6)!nFm0{r|FqYzlhDQ0DEnW0U8nz1
zbztvO&a2kh#<dR?Gfz;rP}Q5RI^I-8+;C`1ljm6ei~a9;R7;%q*7aOM+16d0Bb?x{
zaLdSiAA53-_OVJ~O?)NtknY_WgQYwUX+Eaicb~EPcX?UXgg{Eox!bh3&(m>stnI5b
zXd;k6au^D(5q3i=Y>B#9O_g2C7mnyrv;s)O*YqsM+(d!($r-<Qsnb!<LSsB<t0q&*
zVfmY6N2$L#JtU-h2q8_|6{8PzJ;*r$V)KxSQvt+~s$Xh;dZI$AWKYrZz8|3HpT_Mg
ztvTdZg5khA15cJ4(ir5=A%RT4dD77{D1&wf7~!C3SF6hPlgUXT=&S=*nS>y%voYA=
z%O~E3?bGS>a%=Z{<N1kb1!rD#snX%)QgFeVuK0F~ox2_W`?I(vv_HtC_hZyKoAD|n
zXMyt8u?^K3=ED3J>sc6Be45PIVT~49uQM`z`~Oik2km*0*H62JP-UVzRDIx{!*)7F
z7LD$7)Hhsw^2G^_0W`nCYe){Q9aFzL=@=Jjd!wGKX6otHsBw~i=a;JAKNXIc(rk#I
zI7B-)tG9^8^0&QeM7Yx6+)hGF$bn4mft;6vy4!<iQl?#bx*nDqOOOy(>{Ajv&mq}}
z9F^Bew_Ybe-<Xh}hG&O}=+t+=9^S02vYUK#5Mzli!@}A;25yZxw5@I$Gh*n>c|h7W
z?k*WMh}=b{H4>AAo{*LU4e9@AIVJj^`S`^&z4`V2;B+s(JYcAQt7qY2<)~65F&&cc
zv>Aqx12XF4M`=bD>o$-4;iG<{#0QeQ!H*YI=WN#0Qk@a2sJOoZ1+CQ=A9%=ul208H
z%%3_GNZwzG+#8h29TlE6ox`y;N}H8oTNN23=5|Ly*5?dj4<xzB#f<pz#1M@Mxlr8x
zvMKbxDupyQECR>uytpb5>h1Hsvk9j8;GzoD;(x}>akyKb&azj7GLg;oz8h8^!(xnD
z&`~v2MmgDrzqi0@mfZM`@aj2SL>fL7{whM#c(q+*<(BSfz~0;Tlx&7Rol$k`@Zx>l
zG;5~1sZJrXDjr^J!{!_9N)cteXi!ew6xBEAm&@*Hp~*@7y8P($$9wIzy+2{~=~Z5C
zUpHSEl)ws>@Q!$SbCrteR}0R<<`qakWmH5$FlzREGixUf4n8+Q&dfP~2_+ljPt@Nh
zoDcJE9wHXFJA_|&718kTW^MBe58#gN^~dS>02a!#@0dF5l-2oso%aD&<vyc?o3CT<
zms4*%xc#S9(^@WeQNA4GH$fg2{=6mW1<j^DqNN-17IxzdGYRs?GRdeA>Cf`$Qy$Ai
zTX}6Pe_l81U!;2f^+53LMb;^1QbOJ?Iu(k#fB&uJwMV*tWG@)6myExr{bW<U<>+FS
zZlUIP1S!u{eVAtd!gu7v$hOIB)?9q7+E0e3W6ZX=<@H%C@@7~1jhVuq-$S=J7?fCP
zOce%jTh5+G+K*h%svM`TC);W7=P0i|G`=8GEzQ=qyz|`oT#uu!>dxfj+9B)vl8zg8
zlH3I}STF|Kt@gZhts(8^Ys;@HzZDJ(+uMqFN$TI-BkWE&n8Y~wA;Bz)zF_A$FMwRx
zk==rv>+t)U5BQrr$}Mv(sV^QUodEV<&`X@}Xs{!*NDD=6Oz*&&a@mpFMRi|Vv7AHT
P4-fH#`?|B-fQ<hGs$_7A
diff --git a/components/resources/default_200_percent/chromium/product_logo_white.png b/components/resources/default_200_percent/chromium/product_logo_white.png
index fffaf67913995f62ed70618adf85e7776ada52ac..ee00d9db6c9186abd6d88688f7ba5b64ec564168 100644
GIT binary patch
literal 6790
zcmV;18hPc3P)<h;3K|Lk000e1NJLTq00CA2002M;1^@s6L04a~00009a7bBm000id
z000id0mpBsWB>pfI7vi7RCodHoe7*%)%o{-C&^@zS(s&pVVHpdSr`~Wb`fxqx-SY^
z_oY>_E>+uqm+JfJZeMF(_0_g-QEBT^#nxI|u_(1J1qB2|WJf?2%D}KN`@ST(&-<J^
zhfZ>HGf9RF4RF4E9-idpo|BVhetGV5mV=~5qtR$I8jVJy5jaMi|BolVAnHp*gV_25
z<X{i5DQ~bp05bNluUvA?Pg<eTXf#?_ySVWEUpiojQ;FyT5S_t(B>N)vIcyGq5G1TY
z;%d~g-_Q5AvR_G{_x)sSUU~f^1~eLt=42Gsi$9n%jL5i(2$zFs5)q|=j8GAUylp3}
zhMm~9@U7J_=xz4%m*4pF9nfernv+3TFIn_V84=wNq8r%fD3LS`!5%ipLT(#2$JoR4
zGMfD}`#CFa{>A6eXf&D=QCKfsJhy;A-vQCxL`D_}UD2mSP;CTLorj>u413W<NZER}
zS2_ZL$3Oe(6Xi%EG#ZV@furEE59i*@ZYc;4vd=<y5R`!0YdhH&f&JOYGC=pGI-SeD
z`~LG^K@y?SXf!VLfXkQsK97hV2hkk>S!9oFZbvvo!FNfT?djHs2?T=(qp}JI4lgKq
zX-V~-bNc1<eX!J#Rt=3tqdDFp*2|YZSIX`kwmS%MLKZIo@t>Q*BB=s|utVmt01-+v
z`(aASsTkgW2r@irceJ#%ytB5YsuUWH=6FI2>lI6%AH{9~+vLcJS_(27g#C3s+0<e8
z1b)N7kn}uE9W)vvi-#d6BMU+Zs5UKNaUBJXMx!|%I<Kzy_=PeM%_pJ}u<Nn6bVfz&
zgtDC9?Qkp0b8u%BO1xQ^F?bwCmyAGGS|8Z(1>05Q)AIGGfv9MR=qz^A*wWdy2q9j@
zu|T79tXD37aU>DF0bm4dprBi1YPAtPBM>J(!$5y;Ce9r^7Gp|ESyVG^>rridgCo~j
zEUsIjiHsK28SEBWjtymTeFVLUMyCR<T=8NayO-HYqf4cT8UhDo<Y@%Z9Pp#bG#^?F
zzj@401PThIh5FA&2J%zW@uflIaN3|z$V%@MO`J<*o7cD1<Uyl}%mjop1HFw#N2~(k
zF#=8QHkm*oEH4^-q=N!zGXhBE^KxCO$n|)Uo8pDT;Q)x>XK}4+Z$Wii6At@YS!Dh2
z2nXD7m^sz#6b~+7QJpZj41Hvz%4NDk=3Lu4+9sDD+V>cMJ7JGTBYK)1>s;>wxonj}
zh{MptiWb(HD_*)4pxO3=r__B4z9&G^t9z|Rzzm5;rstt7rx+z!{gBJiriX>n?Q}s%
zVPy=%K!@MQV%UnR#yb4Fx&j+2cVlD2VPw19xQKJAlZK2&rZ*!dQI&O7R35<k@-4H^
z{loV@`tY_V=0T$gXD!0{I0jLDjoo!Y_a7BP`~cC==+3K|D_<@FXekkus1Br<JEPhS
zKRW}Hvx+dKe<=oJ_k-8%fe@Xill&K?%0i91l3og<EZf}Hf-es2MtyrT#t-61HAYeO
z`Tf{eS%KBNHsIrZn^D)%TJ8YOT65Q&a%eQ+B6+Jy2?SK<)$=iw`3Jj8(8V)c?mlRu
zp(9oSJV-zZVt|6ir#1(C80O8wMFYoTSl<C~yWB9yFbxDd)O6P_FG=&HVf-nh;Wzwn
z2uDn!8VCeXQGEcP?%IfDEUNXsRyc)_KMW57xE~r#`1fWWJGP?=NZimwLw8=y`ea@i
z1a66%a1x>7C_ACf%O8R}MxTeW{zKq$x)3k|N)+RcBup`O3I}4y1DolD{WS;i>CSan
zx^EL2eC=>`mAz%cZ|^HZV$f((wXnvG7FHGAWg!|tQ%qY812c=taCzw&=;O__6;uIX
zc33%`&Tw-$Wn|i;p;-nD9H=>j72DV1!@Zl)6zG7<Awt#`&=IRf3+sOkonyUf)hok@
z=o0|BWEkusEbkX&t%e_07LLR@gHMwJ8BtLE0Y7RR>u|XCFsd4A;Ol4ugac{bbQEOg
zqadd*GQ1fOqB8=Gm4jU0(ruq&@!m~n5BT5!?Alwy|4mtY&oeuYaSpGLT|Qd|TP0f+
zzrOke)?bXylua7j2CloZ2X*AIlkM!!Cfimk-&U@xrI+8ETz13Q+SqpS^EJg$HdU3)
zW;@Jfw;#jLbTzw)=;F`({5K}B{ycWY>b2EK<NEjGxJKt#X8|G?FxW*88O_W8+(9^d
z&=^}$JtC+(_U^=rt*fwtFVi=)RHMo82MvD}=<iC!#H?aWA2I=xMod6KZov^@>^22(
zsJ_w^)kQ3-9sE2_H8R0wA(!0F*M|Rl4F2#Yv%8J$QntZ1k1u2Q7TZ%o2!A*A$aKti
zl;|B`dyLP2O+7Y_-4EHmY$@}Oe4Tt=N0c_oau=&knBoZMEM)gK*EKiJ*Du?3J)0El
z3bt=@9V;yzMqgt)%TlhK-T!0zwcY!o&XH}to$Wfy@dkFU%Fma}?m&#Fi7(^O$sxA8
zxco-TIS;G%DP8@54L~So^EtcNcd)f9?*pUi+XO52pY?@o7pTwM`uGNR^X2=)_0{0`
zK}W1tt$B@A(6<;wXGdL-TJ`=9O3lPqN1lx=Z>G$NT13@}y2e_(_u0QNZ_8p-2Rcy5
z0_qk{+YT%l`R?(z<IK!L+&u9zOdd4}Db5sGuWiFCIqF^f`AYn2-$wZ5&@MvP+OLM`
zt<m)oKXuI5bnkOUF9~WNB@AChY#e60UkLGfg!&$0_kYmE!+h>f&FyZ0zo>}Dj%j?}
ziU@T|vHw2Xbi~dUHaVo|l^EZL-&@8H-zv-U@i73NRN~PcyV+(+fwM%Y^1Zz)YGw%d
zI+y)zjBO2AQeqc#*>^4HNMSq`J>wp0TWo$Pe!zAnVxyMrhg|0~I8M+x)_{Msy2Oc^
z>m(I1URZo8veUvvRYtD|s}JDWcmIH&Z+r(H;Y3MFnysip)s^N*!6<hIDq8FCz(+4&
z!SaQ2pucVIRi+De9o&Nj<?9eI3^?J4Wq9{Qmq;1iOQJfK-Lg1DRZ<`YlFQCUY{<<R
z<>&LBRa7mA2yOfpyM=Lzs$>+~JTBkUv6=;3_9FJ{V-QuzDQq9ebtzQ4OI6vsV*F0e
z<uaEcakQc5G<Wlzkx}<Mafm9^Rlw6+_GdV5(5Zm)A&^dpI^7@bMgSB0^uy4+Vi-1;
z|5f!>_}vGu;N8kEOtFjykHdwbEX+S!_m(N3S4_QBjxY#K3-Ixh{37J1c+lu;@6r>Z
zBdRaGb+y=ZlCKfikYG`DvXjxARkUkVWVuuQ!I!DXXA(lWk?nazrytvg2xlu>j(S|;
zk07c~A)IaM5_6}Dpogh8UTq`Zk8nLc{!AW6e2i9+YA_$LZDRAVoxwKF=11o-BKj%&
zC2V~x5%f~F2DPf$>1<wvBFimAVt7}@5+0Qf7-;$1sZ{T|FDMOg<o2d+)+u-m;k=+G
zDJ)a3d6fFz{4a#^Bd(*GKZ{>OlkCDOW=LU*26gHhCiNWxw<|?PjG;51d>vS@@*TW!
zc&jO@)T2;Zpp?r#x_%*wbBi$L)X5>jDm%9dbNk_(;xhbk=PKkn-G~Xo3?(p$<Y^mG
zeTnTG{C+gp{83Gij|D}yfmnCKu?WZ$QtZ@o$a<w9UcmQPS)Ol<&1-IA`!=8Zd)PBu
zMMXbCC{pY`<8uE(?A#vQ*Qnl?*DY<lm!0+Uc9ybWe!yiPwUm{@`ljl9JHjLx5%Rfz
z!BL`SRk1}(4ZO$a+=BRc%H~J-Zm#FA2xWE9Y_GX&Q_#h)`1r?MW;Ha)nF{#w>Q~jT
z<B_@lBI32BpA0j%Iv}fWc(f`U*u495JiC1f3u8LyXc{L3idZmT{p@X2*H@d7ur=K<
zcHk)Vak^lDVjZV7a@;fbW+FkT%hbCO%6uWjZFZun{!rJ*#{t}|qMgl%0gI^K%XK^$
z{2Y9HGuy8a&XWk|W;;=}wDZTZ;|bwBh@P=S3IFRh&-E<3htNGYSVdK$en=j$J0Hh}
zK%C#1Z`(xZmsv#B`Wn~CytB<W`xa=DS6B&D1W-Rn1gX!@;uP&<pfs}pX>O1Fl7vL7
zt?jM&VAE1$3#XYkJzCNnE-bF!hqc?+!-~x74(wZmvkQisGroif$_PYGHs(W6E)vH*
z2<Lk-MnZpL*N^?T5g&_U?WrfCGi>sjzvJ=?Vr--AFj|aIF64U45FZEFu87h@-d#H6
zYB?gJn|A(<oi&Oci{8OF8ez5m5UY;Cl`(u4hipc*+yqThcV3mSWgtkLx(oaUWaL>p
zmCXD5s}5k%p{?fPDT!i$GZia#tpRVpVv2W=Xuy-|!N|f>&|(Ba+TD$&_W_{<iQ`(U
zIB*+x#&MZRh>yiw=DeQ%5i8>DQGU^GMaeiLx@)-ITcf-e)hZ`#MGn`RkLXxOEfgN3
z2-P1)w0enUUE>xhtcaawY&tZ{ph;R`%?(zgNFg7A%pU%1ZwBo0v3m}cW52)6%#kLF
zbVmx-)|8{Bq1GzqW)t!<bK!BQ^#mxIuELS1KR6;9Z8HXRK6;mU7yGb|0C<x{YJCsp
z(;q@8lMy>_aUIJM8wahTrK09osIy-1$RTjYKv)Ba9qR~yo&5Tm5j%VAM!P_h<WpKn
zNV5-D)uBwM3+XNo$Z~?5##&K(5E;Um*hUJ0-TqdYXSEgjKHhX>JKZ69Rtol31QON2
za}mx4^d1|95L@C9{=V#nBb24+86O>muu_~UgPxYHRlc{QRwIGJx+BgXIlB$z`a_fK
zGq0%o9jl28$@%_lmJi$%)|R$rxP=3WM&?u7+S}}3gfj&x4kvs8!`g0p2#Lb_g>L2d
zVK0)0q0u9r9t&PS^bWNN9y2PEDHUMznM{+T45ADfw-T`Y?dC(1w8AQ)D3awwit>1(
ziQF&(b*3K3dS<UTF$<wop?4v~M@|BT)jC(*O+@K2UdGZfe9ixjQ2+*FC)?%+itVUK
zg(hiJ0RlqhDA{+1pU9j-8Ul4jt)5gbd_+hz=2k84R9l7g`+Vk}SwdLWhwXh~wdU_C
zkz8aWoQ4Dmt0V&_Cq@r*@+s`ndu1mCP0~iJevp8oOI*pC?*y6*ADVn^$U)YBP9Tsu
zuC#wv0U9Zg;4}bXfXjoN%p9BeMWDW|2@OUE(u6Ct!6ej@EWL)`UTBks4loH?;;t}a
zXOWIrW6h8Hh{zAXWf8^o5ngvdnPI&h<d<{3Z$p!`!n$95P|ofz^M$!sN?mIcO0xR_
z6#7_6!9Wx`-KLz$`-z~H{1}%#5P5xaL1ct||Ee2m&}JCOu(aHAFR_>G_QKLP$x;FJ
z5%R*D5I-ddr9}wQj+2uBdQJmdF1lFB@8j2@Ibl-)2c%GhMtqS+2JCIBhG7_C9Zbc2
zi!d#J2pR)EB#Lr>JEja8i;T1k8NG%Gxm=QPS9Jwagv}x>0(Qf%8X>T^mxMJ-tudM`
z)I|_hBtTfVBX&rq0wVs{6+v_23ab!i6juWYb>C+sd;PaHR-#$1JY^ZMFU9Y?QPWWo
z=s+TnxzkB$d6+O_9E7lpL~sbyHPvH7^&WGE7M~C?n@XYMB=;jRY(_Z4kSy3=VvbGF
z2!kbv3!Ms3Y_!gQ!HJ6&*1t`>sUDzhI0D&-s=6)rk}7X+!k)TAAv2+li0k;_V{zNS
z38?V39(6Kcr@sX^j=LEB^9o@Yfv~j1_WirDtF>N6tf4DgN$i`yZQZ?d>ya2fML1U^
zi^#~F9=lZt<tshtbh(Dz=!n9qQvq3soz>RC{X{erCp3D3z{f!70xT4KSA=$At*YFG
zHeW~BG}ClXI<A{G3*$5Up~m0dV{zTm(S!$vpM&Y6r`k*!aG<HR2}^dbmC<TU@*~u1
zOyCZm<?KF3DAyxSdif9QJ%o}^L^mTotU17H>w+OCS?5*LQRLQ_Bb*0tLZgLs84z2S
zzFe?+LsKQbsM>3$1FSQ!iVKSH&GT-<sLTSC`&tkW0Ww%r8}ap_({b&Yv*1nj*lf{4
zShs5<R@Lo?$Kf>ZlSM&6wvom%Bo^!3_TfbIevE>8F53<@|GT$%$!?JtBFc<o-~Aaj
zbMjAS8hbjWR4uo-!n%1U5e>wNiWXLL4*3@l)S0i8uAAu31%ZF=+l=a_dh1Lqvtw)M
zfT4Ksl6!DN$s}y^HKQ)j4#O&tmgNZdvIzSDJTmdixMjxm$jay=>#}}1QQzEvHT$=l
zqDnR~4%v@Z-An>&dRbT{=M&M7yW7G=E#SOZ<t~eRD|%D=KmE}r&-zy)8Wu%VWu*GD
z&0PLR!JNc7R%>p(h=^`P>{z#Iak4FxOHjsfm2(x_E9!ZZ89k+S{^Xk)d6(7&AdIq~
z#uR!;<~8?qG~xY!uf?npQ<0kD4iQe76D{gnggY;~6=&?4!244z$H$f1@$ZgSQ<U98
zzyQ#uhER?7=HP2Xrr@lysTf=|7*64cxLa$AD+SYsj58P6-cY+wB`{RW1R^#6FYE7l
zwgm}9&fO;>xft~SMko*S@mcKOU|Xv?1}7=I+A_Fapm%wI?Ho%-$%Sm|iAaj>0wtJ@
zYSh3Kwre9qV)yZDK8%wayDO4E5z%lpl#SS?s(kire!mu4zB4cJxzj9L&5U8&%E#BM
z#l_dEl!Hsn%qn0jRcj5L%{I`o)<80&*9xG{OUHXa$g&Yr+x1eH)m0#abDb9qod~yO
z^FJxB9=8XlkD83pLr%rD)rU|~S%E|KRp$2BGWtyOW}qmy5XF6qk)NH{xq+Zzgw$j0
zAoHerF>1gtxExNT?sQ>I)gA;8P+MQy4i&4hZiSIRag|$^jJC<Ij+YjH9yH<YtChQe
zs_42P_~T>ynzC59o$Go7%*h<F$_2&MivHHm`(cDLAVM8?a~)DJXWCp%EWn9{7S=aU
zzh%p;Pv*%5nC}f%Q|jg$pU&d;&%--R!8?D*1bE%4A=|ac;{oav*daxyU`X*PFbwM2
zl2Cw6nCF@28i80Yh0OYfbA2)mk;-Dc>hMmq2Yj948a}=CwYB#=v!fUP*lr-AW&n4@
z*}E)v0eI>dh`~o{pQX8$ZKq@1rS+#F+ni|Tuze|pj;s1^K9gBQ^h*H$gPyUC?E@qo
z8b>!@n);aI1p%Z<ajo2eH?}N8Rb#CbJKLdHQZxgB0N*y0kQy>NmB*yFc2dP8u0sk3
zV=AWwrWckX!|8^f$eJ6j7r>ljAYQXoN6*42V;y&~J<e7fMO51mO2<*Q?{l`Z0o=;=
zVT?W4Quxc_6xEiaXm`7PT`|#$aC~vD+SL~0d%29=NVb=wynl<L)blMhlufO98<h&S
z*V$%q*^#OpNrpxs0y9^>{2LJ64|MIz4+^?%y|2!bTci}FcyY;qF&NeF6nNd9PVpo{
zJg5b&JL?BU`;wd6WbZk=59{}A!6*B-qN=?aE<Uc>I%myYbB^hd79w)1h$f#cPyNwX
ztA&l%#ZgbTx_ocoat9OK#x!=*R9>}^Erso%5}Vche3eI0cfN||s^YDO%VwzdG;`Sl
zah7$d*-V0MKbQB#P-eJVLtzh}-_*nRu}oRMdJng8U7z)!E-BU{f<6=3p2Nzvs3CsG
zF<MwlK(vfN0}(-3kIdUAqf1!9$2tsYew>!x7gPI>z$tk}$Vg2$Hv=T7vcZ!Oq*EyY
zpmSZ<hUP{zwlyO+GaG5CUM>=gxVB?2i|eMn+pvnob$@F;oDh4t@R=;E`U|PiXpRZa
zh{>Dh=GTwB^QvkAToqZ330(?_u2rtoh=Bv`O;}aE2RkauQQuUHj*fQKDMfG`Ih$k}
zz>lW(R#Z3EVfW!ZSg~^*-rTkv8xHM4hBF1(X_@ATgJ`6<T;}8iZ%Qh>!iBcBR@8K~
zd}G~RbCy7((P)kl0#Uef#UGvn(d_VORYk0Xu46D@cb?A(m@8rlzMbiCA;;x0w^A`L
z_X+SDJ{CY0){Yj``#K;GdW6HQzr>r38G}y4sl~(5hXt02DJ@V@d4NT_{Q2)ryZTOO
zG#bq@#D%EPLm-SH;B;8Aj2pE@MXxSLiWFIM62QTZX6!Q>k91&}Wu2-gt&c0EOPnFF
zr=<>ycCR-V)*f9v0y!C3Q9HC!Q&QzBTdVT3avwsnpwVb_D&Pp)p8tDm>Filc)qwK6
zP+6tW1zQl?(*1G@tP5<y(J8uo-vOcOvo=tm#@CA4=6a;Uf%Mcgq`5t2wA&3|c-*Pi
zo!+PaUL+eDjYbQrWZMgWuP(h~rkvw^L9n<IsAprk$(n?qZp%o~t?g(<T?>mV2`Q}R
z1OcbLxPHMlYpgeSE0Pn9Mx%vQsnrXAuPVKL<|1<*JdhtEpu(z+6!)Hh!O<#35Z5{u
z*ZS5*xFO(8ahr>?IGs-Gfa$Bpr{!-!a--2`w6H31eQ`nMh}*AtAD#Ku;xHu?07Vg2
zOWMHpd|}%urNq_OiiVa(q>zBenbH}#I-F4Jj$Y5An(UFPMx)WfY8BVFsz=;@<$M77
z0vK<z1xjqG0BPtxsUU312_>$Ltxcx5x}7dL&h>?KPugv#d2)14Rin}T*AX}hF8grq
ztweZ)KqXz12n^Fpi#V|W*2j#<=Ud7hc@Do}V30Sbd_w<WKm7jmYv<uaK%>!UVU=9E
z_}LO7`W}E=*=N}atGaFP5!3lrL9S<;x3#_TiMrWOm*a#$qtR$#wQ$Lzr^`sLEkJZV
z`&`=y6gJ1muoqFgvIf-yB-g#1v*PAoe2x<mjYgw|)xt#|{AMVKZj>9)u^+?UVY66^
zjgT6Vgf+l^JNq};zr6gWpKrlQfkvaz!fN5dcYl?}ZUPaV1)^!}N3s?2?F?(q)RLcV
z;{Oh^-^zYD`=ubPTXw_Gns73s(P*@=S~>q8Ps)9sia|7heI8)jc~#ARA6v!JYktyz
o1f$VtG#ZUYqtR$I8ja@v1EW5lyFeR*TL1t607*qoM6N<$f+JcSi2wiq
literal 2512
zcmX9<dpr~B8=tx6vJf3s;W#v9oPLF)({03Z$tAZKp)e*yZb`Y*K?*0u#+gfVn{6(e
zZbS;XH8xWr*BoPWH)9um>-7Bbe7?`~eBbZ$Jn!fIeBMk)`%4P4U|9eFpkQrf;RFDP
zxrs1LMqK1$GD)cb08rEMvWulC^v7%jVYz$%8KIB&69klOVyQpj9ul+l6A}9b$l@Ou
zS@OdZ|05%@Tw>o2iONM{IHZ1_C`st$sRdDgRs%{nU?iQ;w-aBx9Z<YU=;f07xP-oK
z5_J#x562g~q8Lsk^z#TkJL-W$LD&^_<dA>yW?k=&NI&qOpIt;vIf2Dne#PtfKCXHo
zO)Y??h8z|VMEK_<;6R!v6xoH8S#S{j2PcTC7DN{vB=&5pA%{d6btDZO^n)e>FNXN)
zf%GZ%?g~dBDuIzSk-lgEaNy8?GC!O~@Gz!>L!aYMvxK5uOzwX6db$=~!40oo>l)vw
z>D@xNu!raPtDIfY47ko6?7JOsBomhMJ&U{@SHtZb<wL?5(5SI7rZBvEwR?=;GR!wg
zWBrlF8fOYk;wP^ct=d0i{rze?naG`861*JZ*K{o>)UR9rwa`B)m{}HJ-f=kFdyt5)
z=nl@A#2KDoFNL&S+_v+1PU!r2X^kVeRlY^&-Q@9iS?jy~6MXtCcV=m~b4)PJ77k1b
zv_n7Fe%!H09ep{(n^_W6cJXdvMKiNF+q-wFxpyk(AHCR~VeeSxuxFPA*U_8o_1&gV
zJkf24cE43RTivw`i5LbtkPAgm#5>B#-WdSXN}6oLuJ|gR$PK?m^&yo`I!-=LoYYFf
zuH<S_wN?_7R&sq|;fhp6#oVM@TH&Roif!Qz)HX+0o3D?<<O&JvQ$LwVg277blO8|D
zCOWQAS45VZOBE5yq;I4H0MbBf3p1BHqih;QtOKATG3co?GGn~F407I8D$ALNm~u@_
z%?j@c8%HVMiLQqR{*cmZTEppTyy=s8Vm9&0rqt~{0B69_DMLI;R;iB4w<1W9KUQ1U
zJry(dHlAnzN+PVxLCO_Goso2)=Y3C7NI~myc}vv3ELUZUtX@WhGNnQ+Yb0MK*s(rr
z37!6I%=ADzBj*s;7HtseBRq1dw*NE|c{+gD*Wcg2biD|5S13-see}%M7Z2>L$(z>s
z$%;i3)b@hITxN^vFUQbuTu7V#pM`5{AbOa%tQT|$`WE<1sr+KxtkCM_eoevsWr_BM
zQ}oXh7^TkKy=XUrvQZ_|k#|PA!zpn2tk{Q5xhvj2tU83jYVHwqU2Dl~+2xY`5B-kO
zC<}=6eTErKtJkL=HD%!z?FOM=Ufldte2srF>EFe4m4(p|f@-U@ip3?`7~{{IS(A%9
zEAIj(3A!IM;-XtXBFS{u<JLoYQ4vPAal}v8+CFq=j175X9m+Uu15J<q1>sm1Lpf8*
zU1m$hE=uwP<dJFJZogQ}$c}$O{I`#ktpPH8BO|r0HdG8yA8RcUDW*kM7{*INaW20)
z;h~QEyYqqXV7it@`MjV(`1Dmz(>t<VrdEWHqx%4?3UU}AiQ&bvQc7;L8!U|Lq#QqF
z1fM8pdKrGMiYf5uDo6+r&;BqN%gKH_iee=?)1N!)&ugddnZsX(&V2*M*WI8TW>t~8
zj)EpkQ;Wfvvv_?mUyTDcW9`%NYZ!d6B=Bk$BB1ClTt=treOfwr!`%5~G7};!Yd&Oi
z&3qe!)Z9|}Ek^Tw==|A4#y`r#C!*9$B33gN7PQ>`&rS8%j02OJF0*`<(*CuK#4*$X
z<NCpbm@=_O2fy5rc0Hj*De7Q;@PPEnhN{-FR#5DydscjVif(kF)M~ufT-L@(&n36p
zDfo>LN_62<2fTu7$h4DOJxX3S)VTIqA@zX5@9kY;hyx;pO8><4$nHxxC!rc_S+Ed%
zuDch|EC+pfOwuJfq8G!JX&QK99y(zH(f7WT=e5v$WwFAB*O5@#fcM+1H94VT5Pz)~
z&_Xk0#&E)p=egNkS%iZW>0{1vQWMQ)hc!LD2oOLFgZ^4>YE?c%=0@)Czx3TaPD8wV
zl;Y-V(}pjG@f>vw!X+|zkypXY&ONJ1+scAv&$Ov2Z(!drqTwSj$(TbXiY0AP+?a&f
zE7j)`EN!*SdgrrV%QyCFnt_1%aM-Fv=SXr7ndXn%hmMsj4+5ho8V-0y`@9{Goe!~)
zl$6QFX`Pd`v}=6O03Fs=QqlVxg(KcxZEKZ~zf5ABeiC*-Z|dYe4~M6pa<m=1?DFE;
z-7)5=N2HAT;YAGy>)$}TVJA*tc?Id0#B01ge(SIiARw|PC<G|_3)#I5)nwozB^~$p
zn}se7?f3WZ5|Dg{XdM`|m6nifT!LBxw<drHrU<+eTMy3uaxepZFV_X3&o-P<LJ2?Y
zyL|)@mS?@oir!D>)vVI>8}+W^vxjUjhHYvWUzOX}a6BrbH!@$pNjl&Ew!3Zr*@J`v
zrb}W9IVMuAYV=HSk;eJpX++Kwgq;&dB9PSw@_V&wq=<_?17J@fq-BBJ^F=oL(e=+V
z?^qxPjt1eJlH8>M{0_G&V7uo3G@E!+uW3O`o!+)D+eeHLa&^98DI<YLy4Y{bNdD1#
z<%N$8Y2Pt;4za+IB@^}j^7li-h^ck-b4vDm4`Qpge1i5cR%+QhOK1@k32EId^U)^I
zhC_R#4UDQ?Q*2L%Tc093&Dor-Xzge*X?U@f+<ey`&aQ%5LK333(GI1mW4?V;S1Js^
z^ehcIBljjU=yv(K>Ym`n0D2VbGkz_>=sD%Vl*(Gjz{M@`oPx`EBLT$vX^x*!t?`43
zGDaop{?4BLUp<omzi;f&X@7+gvF{QO^PLLHGjCdzs`?o>YgB~HJWI=<%=Eatea?Fl
z)$;W)p^#WSr=Rrlb=a#}s4VI}BCSDQYcTjE;U(-myaLfFv+B%dK!32lW?#J*%W&nf
zZe<6)83>5z$#QQk%zKVlW1>%7`pXDm`RSIcksY47{2_9kv|XZFldIyH2`9_ySMe84
zMS}^Zzm9KWs$Jz{Z+r#&NGYZ}eQjR4*Q1<6uVOyBV(9kVN*Ywz?Nt7XEVy9eanbF8
zyox&NMe-_tQ8F)Y69NtNj8e^2>h`oh;|0=XjcFSfeGVvMbWd^oW%25%yP*-BS}Pcw
z%lwlC#@8v20MrdyXS4Cd9v0(a*!707Mi)DWKCPo$-?g#BRX!@}3RwzBwgOM1&^{Rc
z3=3bI32q;3&^A^#@RQ;k{^t41Rq+f34W3u|*@1288y{>q;|6&;qJI})ZE0^oH1|#U
EKU(of)Bpeg
diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
--- a/tools/grit/grit/grd_reader.py --- a/tools/grit/grit/grd_reader.py
+++ b/tools/grit/grit/grd_reader.py +++ b/tools/grit/grit/grd_reader.py
@@ -18908,8 +18202,8 @@ diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
--- a/ui/base/ui_base_features.cc --- a/ui/base/ui_base_features.cc
+++ b/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc
@@ -659,4 +659,6 @@ BASE_FEATURE(kUseGammaContrastRegistrySettings, @@ -643,4 +643,6 @@ BASE_FEATURE(kUseGammaContrastRegistrySettings,
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_WIN) #endif // BUILDFLAG(IS_WIN)
+SET_CROMITE_FEATURE_ENABLED(kChromeRefresh2023); +SET_CROMITE_FEATURE_ENABLED(kChromeRefresh2023);
+15 -15
View File
@@ -35,7 +35,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionMod
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -754,10 +754,17 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -737,10 +737,17 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@TabLaunchType int type, @TabLaunchType int type,
@TabCreationState int creationState, @TabCreationState int creationState,
boolean markedForSelection) { boolean markedForSelection) {
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
import org.chromium.base.ObserverList; import org.chromium.base.ObserverList;
import org.chromium.base.TraceEvent; import org.chromium.base.TraceEvent;
import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.ObservableSupplier;
@@ -227,6 +228,13 @@ public class LayoutManagerImpl @@ -228,6 +229,13 @@ public class LayoutManagerImpl
&& launchType != TabLaunchType.FROM_RECENT_TABS && launchType != TabLaunchType.FROM_RECENT_TABS
&& launchType != TabLaunchType.FROM_RESTORE_TABS_UI && launchType != TabLaunchType.FROM_RESTORE_TABS_UI
|| (!getTabModelSelector().isIncognitoSelected() && incognito); || (!getTabModelSelector().isIncognitoSelected() && incognito);
@@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.base.TraceEvent; import org.chromium.base.TraceEvent;
import org.chromium.base.metrics.RecordUserAction; import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.ObservableSupplier;
@@ -841,11 +842,16 @@ public class RootUiCoordinator @@ -814,11 +815,16 @@ public class RootUiCoordinator
TrackerFactory.getTrackerForProfile(tab.getProfile()) TrackerFactory.getTrackerForProfile(tab.getProfile())
.notifyEvent(EventConstants.WEB_SEARCH_PERFORMED); .notifyEvent(EventConstants.WEB_SEARCH_PERFORMED);
@@ -153,10 +153,11 @@ new file mode 100644
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml --- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml +++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -73,4 +73,28 @@ found in the LICENSE file. @@ -63,4 +63,28 @@ found in the LICENSE file.
android:key="disable_toolbar_swipeup" android:key="move_toolbar_bottom"
android:title="@string/disable_toolbar_swipe_up" /> android:summary="@string/move_toolbar_bottom_summary"
android:title="@string/move_toolbar_bottom_title" />
+
+ <PreferenceCategory + <PreferenceCategory
+ android:key="customize_selecton_popup_section" + android:key="customize_selecton_popup_section"
+ android:title="@string/customize_selecton_popup_title" /> + android:title="@string/customize_selecton_popup_title" />
@@ -180,7 +181,6 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
+ android:key="selection_popup_smart_text" + android:key="selection_popup_smart_text"
+ android:summary="@string/selection_popup_smart_text_summary" + android:summary="@string/selection_popup_smart_text_summary"
+ android:title="@string/selection_popup_smart_text_title" /> + android:title="@string/selection_popup_smart_text_title" />
+
</PreferenceScreen> </PreferenceScreen>
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java --- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
@@ -353,7 +353,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
if (isSelectionPassword || intentHandler == null) { if (isSelectionPassword || intentHandler == null) {
addAdditionalTextProcessingItems(textProcessingItems, selectionActionMenuDelegate); addAdditionalTextProcessingItems(textProcessingItems, selectionActionMenuDelegate);
return textProcessingItems; return textProcessingItems;
@@ -432,7 +479,7 @@ public class SelectActionMenuHelper { @@ -431,7 +478,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_cut) .setId(R.id.select_action_menu_cut)
.setIconAttr(android.R.attr.actionModeCutDrawable) .setIconAttr(android.R.attr.actionModeCutDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.CUT) .setAlphabeticShortcut(ItemKeyShortcuts.CUT)
@@ -362,7 +362,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags( .setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled) .setIsEnabled(isEnabled)
@@ -444,7 +491,7 @@ public class SelectActionMenuHelper { @@ -443,7 +490,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_copy) .setId(R.id.select_action_menu_copy)
.setIconAttr(android.R.attr.actionModeCopyDrawable) .setIconAttr(android.R.attr.actionModeCopyDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.COPY) .setAlphabeticShortcut(ItemKeyShortcuts.COPY)
@@ -371,7 +371,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags( .setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled) .setIsEnabled(isEnabled)
@@ -456,7 +503,7 @@ public class SelectActionMenuHelper { @@ -455,7 +502,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_paste) .setId(R.id.select_action_menu_paste)
.setIconAttr(android.R.attr.actionModePasteDrawable) .setIconAttr(android.R.attr.actionModePasteDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.PASTE) .setAlphabeticShortcut(ItemKeyShortcuts.PASTE)
@@ -380,7 +380,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags( .setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled) .setIsEnabled(isEnabled)
@@ -470,7 +517,7 @@ public class SelectActionMenuHelper { @@ -469,7 +516,7 @@ public class SelectActionMenuHelper {
return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_share)) return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_share))
.setId(R.id.select_action_menu_share) .setId(R.id.select_action_menu_share)
.setIconAttr(android.R.attr.actionModeShareDrawable) .setIconAttr(android.R.attr.actionModeShareDrawable)
@@ -389,7 +389,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags( .setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled) .setIsEnabled(isEnabled)
@@ -482,7 +529,7 @@ public class SelectActionMenuHelper { @@ -481,7 +528,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_select_all) .setId(R.id.select_action_menu_select_all)
.setIconAttr(android.R.attr.actionModeSelectAllDrawable) .setIconAttr(android.R.attr.actionModeSelectAllDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.SELECT_ALL) .setAlphabeticShortcut(ItemKeyShortcuts.SELECT_ALL)
@@ -398,7 +398,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags( .setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled) .setIsEnabled(isEnabled)
@@ -495,7 +542,7 @@ public class SelectActionMenuHelper { @@ -494,7 +541,7 @@ public class SelectActionMenuHelper {
SelectionMenuItem.Builder builder = SelectionMenuItem.Builder builder =
new SelectionMenuItem.Builder(android.R.string.paste_as_plain_text) new SelectionMenuItem.Builder(android.R.string.paste_as_plain_text)
.setId(R.id.select_action_menu_paste_as_plain_text) .setId(R.id.select_action_menu_paste_as_plain_text)
@@ -407,7 +407,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags( .setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled); .setIsEnabled(isEnabled);
@@ -515,7 +562,7 @@ public class SelectActionMenuHelper { @@ -514,7 +561,7 @@ public class SelectActionMenuHelper {
return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_web_search)) return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_web_search))
.setId(R.id.select_action_menu_web_search) .setId(R.id.select_action_menu_web_search)
.setIconAttr(android.R.attr.actionModeWebSearchDrawable) .setIconAttr(android.R.attr.actionModeWebSearchDrawable)
@@ -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 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -3205,8 +3205,8 @@ @@ -3110,8 +3110,8 @@
status: "stable", status: "stable",
}, },
{ {
@@ -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 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 --- 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 +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
@@ -291,8 +291,17 @@ class LocationBarMediator @@ -289,8 +289,17 @@ class LocationBarMediator
if (mNativeInitialized) RecordUserAction.record("FocusLocation"); if (mNativeInitialized) RecordUserAction.record("FocusLocation");
// Don't clear Omnibox if the user just pasted text to NTP Omnibox. // Don't clear Omnibox if the user just pasted text to NTP Omnibox.
if (mShouldClearOmniboxOnFocus) { if (mShouldClearOmniboxOnFocus) {
@@ -36,13 +36,13 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
+ android:summary="@string/enable_accessibility_summary" + android:summary="@string/enable_accessibility_summary"
+ android:title="@string/enable_accessibility_title" /> + android:title="@string/enable_accessibility_title" />
+ +
<org.chromium.chrome.browser.accessibility.settings.TextScalePreference <org.chromium.components.browser_ui.accessibility.TextScalePreference
android:key="text_scale" android:key="text_scale"
android:title="@string/font_size" android:title="@string/font_size"
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 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 --- 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 +++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
@@ -1039,6 +1039,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa @@ -1112,6 +1112,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
structure.setChildCount(0); structure.setChildCount(0);
return; return;
} }
+9 -23
View File
@@ -4,32 +4,18 @@ Subject: Disable Compose feature
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
--- ---
chrome/browser/extensions/api/settings_private/prefs_util.cc | 2 ++ components/compose/core/browser/compose_features.cc | 3 +++
components/compose/core/browser/compose_features.cc | 2 ++ components/compose/features.gni | 2 +-
components/compose/features.gni | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-)
3 files changed, 5 insertions(+), 1 deletion(-)
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
@@ -483,8 +483,10 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)
[::permissions::prefs::kUnusedSitePermissionsRevocationEnabled] =
settings_api::PrefType::kBoolean;
+#if BUILDFLAG(ENABLE_COMPOSE)
(*s_allowlist)[prefs::kEnableProactiveNudge] =
settings_api::PrefType::kBoolean;
+#endif
// Clear browsing data settings.
(*s_allowlist)[browsing_data::prefs::kDeleteBrowsingHistory] =
diff --git a/components/compose/core/browser/compose_features.cc b/components/compose/core/browser/compose_features.cc diff --git a/components/compose/core/browser/compose_features.cc b/components/compose/core/browser/compose_features.cc
--- a/components/compose/core/browser/compose_features.cc --- a/components/compose/core/browser/compose_features.cc
+++ b/components/compose/core/browser/compose_features.cc +++ b/components/compose/core/browser/compose_features.cc
@@ -73,4 +73,6 @@ BASE_FEATURE(kEnableNudgeForUnspecifiedHint, @@ -56,4 +56,7 @@ BASE_FEATURE(kComposeTextOutputAnimation,
"ComposeEnableNudgeForUnspecifiedHint", BASE_FEATURE(kComposeTextSelection,
base::FEATURE_ENABLED_BY_DEFAULT); "ComposeTextSelection",
base::FEATURE_DISABLED_BY_DEFAULT);
+
+SET_CROMITE_FEATURE_DISABLED(kEnableCompose); +SET_CROMITE_FEATURE_DISABLED(kEnableCompose);
+SET_CROMITE_FEATURE_DISABLED(kComposeEligible); +SET_CROMITE_FEATURE_DISABLED(kComposeEligible);
} // namespace compose::features } // namespace compose::features
@@ -40,7 +26,7 @@ diff --git a/components/compose/features.gni b/components/compose/features.gni
declare_args() { declare_args() {
# Whether Compose is enabled in the build. # Whether Compose is enabled in the build.
- enable_compose = is_mac || is_win || is_linux || is_chromeos - enable_compose = is_mac || is_win || is_linux
+ enable_compose = false + enable_compose = false
} }
-- --
@@ -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 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -677,16 +677,18 @@ @@ -651,16 +651,18 @@
} }
}, },
{ {
@@ -10,24 +10,22 @@ 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 License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../browser/chrome_content_browser_client.cc | 3 +++ .../browser/chrome_content_browser_client.cc | 3 +++
chrome/browser/prefs/browser_prefs.cc | 2 +-
.../privacy_sandbox_settings_delegate.cc | 1 + .../privacy_sandbox_settings_delegate.cc | 1 +
.../privacy_sandbox/privacy_sandbox_prompt.cc | 1 + .../privacy_sandbox/privacy_sandbox_prompt.cc | 1 +
.../history/core/browser/history_backend.cc | 13 +------------ .../history/core/browser/history_backend.cc | 13 +------------
.../privacy_sandbox_attestations.cc | 2 -- .../privacy_sandbox_attestations.cc | 2 --
.../privacy_sandbox_features.cc | 5 +++++ .../privacy_sandbox_features.cc | 4 ++++
.../privacy_sandbox/privacy_sandbox_prefs.cc | 2 +- .../privacy_sandbox/privacy_sandbox_prefs.cc | 4 ++--
.../privacy_sandbox_settings_impl.cc | 19 ++++++++++++++----- .../privacy_sandbox_settings_impl.cc | 19 ++++++++++++++-----
.../identity_manager/account_capabilities.cc | 2 +- .../Disable-FLoC-and-privacy-sandbox.inc | 1 +
.../Disable-FLoC-and-privacy-sandbox.inc | 4 ++++
third_party/blink/common/features.cc | 1 + third_party/blink/common/features.cc | 1 +
12 files changed, 33 insertions(+), 22 deletions(-) 10 files changed, 28 insertions(+), 21 deletions(-)
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-FLoC-and-privacy-sandbox.inc create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-FLoC-and-privacy-sandbox.inc
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc 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 --- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc
@@ -3297,6 +3297,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed( @@ -3239,6 +3239,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin, const url::Origin* destination_origin,
const url::Origin* reporting_origin, const url::Origin* reporting_origin,
bool* can_bypass) { bool* can_bypass) {
@@ -37,22 +35,10 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
Profile* profile = Profile::FromBrowserContext(browser_context); Profile* profile = Profile::FromBrowserContext(browser_context);
auto* privacy_sandbox_settings = auto* privacy_sandbox_settings =
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -1456,7 +1456,7 @@ void RegisterProfilePrefsForMigration(
registry->RegisterTimePref(kPlusAddressLastFetchedTime, base::Time());
// Deprecated 03/2024.
- registry->RegisterBooleanPref(kPrivacySandboxApisEnabled, true);
+ registry->RegisterBooleanPref(kPrivacySandboxApisEnabled, false);
// Deprecated 03/2024.
registry->RegisterBooleanPref(kShowInternalAccessibilityTree, false);
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc 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 --- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc +++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc
@@ -160,6 +160,7 @@ bool PrivacySandboxSettingsDelegate::HasAppropriateTopicsConsent() const { @@ -159,6 +159,7 @@ bool PrivacySandboxSettingsDelegate::HasAppropriateTopicsConsent() const {
bool PrivacySandboxSettingsDelegate::PrivacySandboxRestrictedNoticeRequired() bool PrivacySandboxSettingsDelegate::PrivacySandboxRestrictedNoticeRequired()
const { const {
@@ -96,7 +82,7 @@ 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 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 --- a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc
+++ b/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc +++ b/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc
@@ -485,8 +485,6 @@ void PrivacySandboxAttestations::OnAttestationsParsed( @@ -478,8 +478,6 @@ void PrivacySandboxAttestations::OnAttestationsParsed(
if (attestations_map.has_value() && if (attestations_map.has_value() &&
(!file_version_.IsValid() || file_version_.CompareTo(version) < 0)) { (!file_version_.IsValid() || file_version_.CompareTo(version) < 0)) {
// Parsing succeeded and the attestations file has newer version. // Parsing succeeded and the attestations file has newer version.
@@ -108,20 +94,28 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_san
diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components/privacy_sandbox/privacy_sandbox_features.cc 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 --- a/components/privacy_sandbox/privacy_sandbox_features.cc
+++ b/components/privacy_sandbox/privacy_sandbox_features.cc +++ b/components/privacy_sandbox/privacy_sandbox_features.cc
@@ -193,4 +193,9 @@ BASE_FEATURE(kTrackingProtectionReminder, @@ -167,4 +167,8 @@ BASE_FEATURE(kTrackingProtectionNoticeRequestTracking,
"TrackingProtectionReminder",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID)
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings4); +SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings4);
+SET_CROMITE_FEATURE_ENABLED(kDisablePrivacySandboxPrompts); +SET_CROMITE_FEATURE_ENABLED(kDisablePrivacySandboxPrompts);
+SET_CROMITE_FEATURE_DISABLED(kEnforcePrivacySandboxAttestations); +SET_CROMITE_FEATURE_DISABLED(kEnforcePrivacySandboxAttestations);
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxFirstPartySetsUI); +SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxFirstPartySetsUI);
+
} // namespace privacy_sandbox } // namespace privacy_sandbox
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc 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 --- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
+++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc +++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
@@ -24,7 +24,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { @@ -12,7 +12,7 @@ namespace privacy_sandbox {
void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
- prefs::kPrivacySandboxApisEnabled, true,
+ prefs::kPrivacySandboxApisEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kPrivacySandboxM1ConsentDecisionMade,
false);
@@ -27,7 +27,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kPrivacySandboxM1FledgeEnabled, false); registry->RegisterBooleanPref(prefs::kPrivacySandboxM1FledgeEnabled, false);
registry->RegisterBooleanPref(prefs::kPrivacySandboxM1AdMeasurementEnabled, registry->RegisterBooleanPref(prefs::kPrivacySandboxM1AdMeasurementEnabled,
false); false);
@@ -133,7 +127,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc 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 --- a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
+++ b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc +++ b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
@@ -125,7 +125,7 @@ std::set<browsing_topics::Topic> GetTopicsSetFromString( @@ -123,7 +123,7 @@ std::set<browsing_topics::Topic> GetTopicsSetFromString(
// static // static
bool PrivacySandboxSettingsImpl::IsAllowed(Status status) { bool PrivacySandboxSettingsImpl::IsAllowed(Status status) {
@@ -142,7 +136,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
} }
// static // static
@@ -245,7 +245,8 @@ PrivacySandboxSettingsImpl::GetFinchPrioritizedTopics() { @@ -232,7 +232,8 @@ PrivacySandboxSettingsImpl::GetFinchPrioritizedTopics() {
return finch_prioritized_topics_; return finch_prioritized_topics_;
} }
@@ -152,7 +146,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
Status status = GetM1TopicAllowedStatus(); Status status = GetM1TopicAllowedStatus();
JoinHistogram(kIsTopicsAllowedHistogram, status); JoinHistogram(kIsTopicsAllowedHistogram, status);
return IsAllowed(status); return IsAllowed(status);
@@ -277,7 +278,8 @@ bool PrivacySandboxSettingsImpl::IsTopicsAllowedForContext( @@ -264,7 +265,8 @@ bool PrivacySandboxSettingsImpl::IsTopicsAllowedForContext(
return IsAllowed(status); return IsAllowed(status);
} }
@@ -162,7 +156,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
const auto& blocked_topics = const auto& blocked_topics =
pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics); pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics);
@@ -479,6 +481,7 @@ bool PrivacySandboxSettingsImpl:: @@ -466,6 +468,7 @@ bool PrivacySandboxSettingsImpl::
void PrivacySandboxSettingsImpl::SetFledgeJoiningAllowed( void PrivacySandboxSettingsImpl::SetFledgeJoiningAllowed(
const std::string& top_frame_etld_plus1, const std::string& top_frame_etld_plus1,
bool allowed) { bool allowed) {
@@ -170,7 +164,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
ScopedDictPrefUpdate scoped_pref_update( ScopedDictPrefUpdate scoped_pref_update(
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked); pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
@@ -549,7 +552,8 @@ void PrivacySandboxSettingsImpl::ClearFledgeJoiningAllowedSettings( @@ -536,7 +539,8 @@ void PrivacySandboxSettingsImpl::ClearFledgeJoiningAllowedSettings(
} }
bool PrivacySandboxSettingsImpl::IsFledgeJoiningAllowed( bool PrivacySandboxSettingsImpl::IsFledgeJoiningAllowed(
@@ -180,7 +174,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
ScopedDictPrefUpdate scoped_pref_update( ScopedDictPrefUpdate scoped_pref_update(
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked); pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
auto& pref_data = scoped_pref_update.Get(); auto& pref_data = scoped_pref_update.Get();
@@ -795,7 +799,10 @@ void PrivacySandboxSettingsImpl::SetDelegateForTesting( @@ -782,7 +786,10 @@ void PrivacySandboxSettingsImpl::SetDelegateForTesting(
delegate_ = std::move(delegate); delegate_ = std::move(delegate);
} }
@@ -192,7 +186,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
pref_service_->SetTime(prefs::kPrivacySandboxTopicsDataAccessibleSince, pref_service_->SetTime(prefs::kPrivacySandboxTopicsDataAccessibleSince,
base::Time::Now()); base::Time::Now());
@@ -808,6 +815,7 @@ PrivacySandboxSettingsImpl::Status @@ -795,6 +802,7 @@ PrivacySandboxSettingsImpl::Status
PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus( PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus(
const url::Origin& top_frame_origin, const url::Origin& top_frame_origin,
const GURL& url) const { const GURL& url) const {
@@ -200,7 +194,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
// Relying on |host_content_settings_map_| instead of |cookie_settings_| // Relying on |host_content_settings_map_| instead of |cookie_settings_|
// allows to query whether the site associated with the |url| is allowed to // allows to query whether the site associated with the |url| is allowed to
// access Site data (aka ContentSettingsType::COOKIES) without considering any // access Site data (aka ContentSettingsType::COOKIES) without considering any
@@ -822,6 +830,7 @@ PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus( @@ -809,6 +817,7 @@ PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus(
PrivacySandboxSettingsImpl::Status PrivacySandboxSettingsImpl::Status
PrivacySandboxSettingsImpl::GetPrivacySandboxAllowedStatus( PrivacySandboxSettingsImpl::GetPrivacySandboxAllowedStatus(
bool should_ignore_restriction /*=false*/) const { bool should_ignore_restriction /*=false*/) const {
@@ -208,32 +202,17 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
if (delegate_->IsIncognitoProfile()) { if (delegate_->IsIncognitoProfile()) {
return Status::kIncognitoProfile; return Status::kIncognitoProfile;
} }
diff --git a/components/signin/public/identity_manager/account_capabilities.cc b/components/signin/public/identity_manager/account_capabilities.cc
--- a/components/signin/public/identity_manager/account_capabilities.cc
+++ b/components/signin/public/identity_manager/account_capabilities.cc
@@ -82,7 +82,7 @@ signin::Tribool AccountCapabilities::
signin::Tribool AccountCapabilities::can_run_chrome_privacy_sandbox_trials()
const {
- return GetCapabilityByName(kCanRunChromePrivacySandboxTrialsCapabilityName);
+ return signin::Tribool::kFalse;
}
signin::Tribool AccountCapabilities::is_opted_in_to_parental_supervision()
diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-FLoC-and-privacy-sandbox.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-FLoC-and-privacy-sandbox.inc diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-FLoC-and-privacy-sandbox.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-FLoC-and-privacy-sandbox.inc
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/cromite_flags/third_party/blink/common/features_cc/Disable-FLoC-and-privacy-sandbox.inc +++ b/cromite_flags/third_party/blink/common/features_cc/Disable-FLoC-and-privacy-sandbox.inc
@@ -0,0 +1,4 @@ @@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kFencedFrames); +SET_CROMITE_FEATURE_DISABLED(kFencedFrames);
+SET_CROMITE_FEATURE_DISABLED(kSharedStorageAPI);
+SET_CROMITE_FEATURE_DISABLED(kSharedStorageAPIM118);
+SET_CROMITE_FEATURE_DISABLED(kSharedStorageAPIM125);
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc
@@ -2604,6 +2604,7 @@ BASE_FEATURE(kWebviewAccelerateSmallCanvases, @@ -2462,6 +2462,7 @@ bool IsAllowPageWithIDBConnectionAndTransactionInBFCacheEnabled() {
// constants for features in the section above. }
bool IsAllowURNsInIframeEnabled() { bool IsAllowURNsInIframeEnabled() {
+ if ((true)) return false; // see https://chromium-review.googlesource.com/c/chromium/src/+/3690741 + if ((true)) return false; // see https://chromium-review.googlesource.com/c/chromium/src/+/3690741
+4 -5
View File
@@ -4,22 +4,21 @@ Subject: Disable FedCm
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
--- ---
.../content/public/common/content_features_cc/Disable-FedCm.inc | 2 ++ .../content/public/common/content_features_cc/Disable-FedCm.inc | 1 +
.../blink/renderer/platform/runtime_enabled_features.json5 | 2 +- .../blink/renderer/platform/runtime_enabled_features.json5 | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-) 2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc b/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc b/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc +++ b/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc
@@ -0,0 +1,2 @@ @@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kFedCm); +SET_CROMITE_FEATURE_DISABLED(kFedCm);
+SET_CROMITE_FEATURE_DISABLED(kFedCmWithStorageAccessAPI);
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1559,7 +1559,7 @@ @@ -1570,7 +1570,7 @@
{ {
name: "FedCm", name: "FedCm",
public: true, public: true,
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc --- a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc +++ b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
@@ -419,7 +419,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() { @@ -418,7 +418,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() {
void PrivacySandboxServiceImpl::SetFirstPartySetsDataAccessEnabled( void PrivacySandboxServiceImpl::SetFirstPartySetsDataAccessEnabled(
bool enabled) { bool enabled) {
pref_service_->SetBoolean(prefs::kPrivacySandboxRelatedWebsiteSetsEnabled, pref_service_->SetBoolean(prefs::kPrivacySandboxRelatedWebsiteSetsEnabled,
@@ -58,7 +58,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc b/ch
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc 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 --- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
+++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc +++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
@@ -48,7 +48,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { @@ -51,7 +51,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref( registry->RegisterBooleanPref(
prefs::kPrivacySandboxFirstPartySetsDataAccessAllowedInitialized, false); prefs::kPrivacySandboxFirstPartySetsDataAccessAllowedInitialized, false);
registry->RegisterBooleanPref( registry->RegisterBooleanPref(
@@ -70,14 +70,13 @@ 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 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 --- a/components/privacy_sandbox/tracking_protection_prefs.cc
+++ b/components/privacy_sandbox/tracking_protection_prefs.cc +++ b/components/privacy_sandbox/tracking_protection_prefs.cc
@@ -64,14 +64,14 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { @@ -64,13 +64,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
// Tracking Protection Settings Prefs // Tracking Protection Settings Prefs
registry->RegisterBooleanPref( registry->RegisterBooleanPref(
- prefs::kBlockAll3pcToggleEnabled, false, - prefs::kBlockAll3pcToggleEnabled, false,
+ prefs::kBlockAll3pcToggleEnabled, false, // with true enables FPS + prefs::kBlockAll3pcToggleEnabled, false, // with true enables FPS
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kAllowAll3pcToggleEnabled, false);
registry->RegisterIntegerPref( registry->RegisterIntegerPref(
prefs::kTrackingProtectionLevel, prefs::kTrackingProtectionLevel,
static_cast<int>(TrackingProtectionLevel::kStandard), static_cast<int>(TrackingProtectionLevel::kStandard),
+3 -3
View File
@@ -19,10 +19,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler.RequestMetadata; import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler.RequestMetadata;
import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.gsa.GSAState; -import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteControllerProvider;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileManager;
@@ -258,8 +257,6 @@ public class IntentHandler { @@ -244,8 +243,6 @@ public class IntentHandler {
private static int sReferrerId; private static int sReferrerId;
private static String sPendingIncognitoUrl; 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_GMAIL = "com.google.android.gm";
private static final String PACKAGE_PLUS = "com.google.android.apps.plus"; private static final String PACKAGE_PLUS = "com.google.android.apps.plus";
private static final String PACKAGE_HANGOUTS = "com.google.android.talk"; private static final String PACKAGE_HANGOUTS = "com.google.android.talk";
@@ -475,8 +472,6 @@ public class IntentHandler { @@ -461,8 +458,6 @@ public class IntentHandler {
return ExternalAppId.LINE; return ExternalAppId.LINE;
} else if (packageName.equals(PACKAGE_WHATSAPP)) { } else if (packageName.equals(PACKAGE_WHATSAPP)) {
return ExternalAppId.WHATSAPP; return ExternalAppId.WHATSAPP;
@@ -30,9 +30,9 @@ diff --git a/content/browser/installedapp/installed_app_provider_impl_win.cc b/c
blink::mojom::InstalledAppProvider::FilterInstalledAppsCallback callback, blink::mojom::InstalledAppProvider::FilterInstalledAppsCallback callback,
const GURL frame_url) { const GURL frame_url) {
+ CHECK(true); + CHECK(true);
ComPtr<IUriRuntimeClassFactory> url_factory; ComPtr<ILauncherStatics4> launcher_statics;
HRESULT hr = HRESULT hr = base::win::RoActivateInstance(
base::win::GetActivationFactory<IUriRuntimeClassFactory, base::win::ScopedHString::Create(RuntimeClass_Windows_System_Launcher)
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-GetInstalledRelatedApps-API.inc b/cromite_flags/content/public/common/content_features_cc/Disable-GetInstalledRelatedApps-API.inc diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-GetInstalledRelatedApps-API.inc b/cromite_flags/content/public/common/content_features_cc/Disable-GetInstalledRelatedApps-API.inc
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
@@ -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 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2166,9 +2166,9 @@ @@ -2114,9 +2114,9 @@
status: {"Android": "test", "default": "stable"}, status: {"Android": "test", "default": "stable"},
}, },
{ {
+13 -11
View File
@@ -4,17 +4,17 @@ Subject: Disable PrivacyGuide
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/java/res/xml/privacy_preferences.xml | 1 + chrome/android/java/res/xml/privacy_preferences.xml | 1 +
chrome/browser/ui/webui/settings/settings_ui.cc | 3 +-- chrome/browser/ui/webui/settings/settings_ui.cc | 2 +-
.../common/chrome_features_cc/Disable-PrivacyGuide.inc | 6 ++++++ .../common/chrome_features_cc/Disable-PrivacyGuide.inc | 9 +++++++++
3 files changed, 8 insertions(+), 2 deletions(-) 3 files changed, 11 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide.inc create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide.inc
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml 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 --- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -27,6 +27,7 @@ found in the LICENSE file. @@ -21,6 +21,7 @@ found in the LICENSE file.
app:isPreferenceVisible="false" /> android:fragment="org.chromium.chrome.browser.browsing_data.ClearBrowsingDataTabsFragment" />
<Preference <Preference
android:key="privacy_guide" android:key="privacy_guide"
+ app:isPreferenceVisible="false" + app:isPreferenceVisible="false"
@@ -24,21 +24,23 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc 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 --- a/chrome/browser/ui/webui/settings/settings_ui.cc
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc +++ b/chrome/browser/ui/webui/settings/settings_ui.cc
@@ -366,8 +366,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) @@ -357,7 +357,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
#endif // !BUILDFLAG(IS_CHROMEOS_LACROS) #endif // !BUILDFLAG(IS_CHROMEOS_LACROS)
bool show_privacy_guide = bool show_privacy_guide =
- base::FeatureList::IsEnabled(features::kPrivacyGuideForceAvailable) || - !chrome::ShouldDisplayManagedUi(profile) && !profile->IsChild();
- (!chrome::ShouldDisplayManagedUi(profile) && !profile->IsChild());
+ false; + false;
html_source->AddBoolean("showPrivacyGuide", show_privacy_guide); html_source->AddBoolean("showPrivacyGuide", show_privacy_guide);
html_source->AddBoolean( html_source->AddBoolean("enablePrivacyGuide3", base::FeatureList::IsEnabled(
diff --git a/cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide.inc b/cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide.inc diff --git a/cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide.inc b/cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide.inc
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide.inc +++ b/cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide.inc
@@ -0,0 +1,6 @@ @@ -0,0 +1,9 @@
+SET_CROMITE_FEATURE_DISABLED(kPrivacyGuide3);
+SET_CROMITE_FEATURE_DISABLED(kPrivacyGuidePreload);
+
+#if BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_ANDROID)
+ +
+SET_CROMITE_FEATURE_DISABLED(kPrivacyGuideAndroid3); +SET_CROMITE_FEATURE_DISABLED(kPrivacyGuideAndroid3);
+25 -24
View File
@@ -4,16 +4,16 @@ Subject: Disable Real Box
Real-box is search box in ntp Real-box is search box in ntp
--- ---
chrome/browser/prefs/browser_prefs.cc | 2 +- chrome/browser/prefs/browser_prefs.cc | 2 +-
chrome/browser/resources/new_tab_page/app.html | 5 ----- chrome/browser/resources/new_tab_page/app.html | 5 -----
chrome/browser/ui/webui/searchbox/searchbox_handler.cc | 1 + chrome/browser/ui/webui/realbox/realbox_handler.cc | 2 +-
components/search/ntp_features.cc | 6 +++--- components/search/ntp_features.cc | 6 +++---
4 files changed, 5 insertions(+), 9 deletions(-) 4 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc
@@ -2159,7 +2159,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, @@ -2072,7 +2072,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
registry->RegisterBooleanPref( registry->RegisterBooleanPref(
prefs::kLensRegionSearchEnabled, true, prefs::kLensRegionSearchEnabled, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
@@ -25,33 +25,34 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html
--- a/chrome/browser/resources/new_tab_page/app.html --- a/chrome/browser/resources/new_tab_page/app.html
+++ b/chrome/browser/resources/new_tab_page/app.html +++ b/chrome/browser/resources/new_tab_page/app.html
@@ -423,11 +423,6 @@ @@ -504,11 +504,6 @@
hidden$="[[!logoEnabled_]]"> hidden$="[[!logoEnabled_]]">
</ntp-logo> </ntp-logo>
<div id="realboxContainer"> <div id="realboxContainer">
- <cr-realbox id="realbox" is-dark="[[theme_.isDark]]" - <ntp-realbox id="realbox" is-dark="[[theme_.isDark]]"
- color-source-is-baseline="[[colorSourceIsBaseline]]" - color-source-is-baseline="[[colorSourceIsBaseline]]"
- on-open-lens-search="onOpenLensSearch_" - on-open-lens-search="onOpenLensSearch_"
- on-open-voice-search="onOpenVoiceSearch_" shown$="[[realboxShown_]]"> - on-open-voice-search="onOpenVoiceSearch_" shown$="[[realboxShown_]]">
- </cr-realbox> - </ntp-realbox>
<template is="dom-if" if="[[showLensUploadDialog_]]" restamp> <template is="dom-if" if="[[showLensUploadDialog_]]" restamp>
<ntp-lens-upload-dialog id="lensUploadDialog" <ntp-lens-upload-dialog id="lensUploadDialog"
on-close-lens-search="onCloseLensSearch_"> on-close-lens-search="onCloseLensSearch_">
diff --git a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc b/chrome/browser/ui/webui/searchbox/searchbox_handler.cc diff --git a/chrome/browser/ui/webui/realbox/realbox_handler.cc b/chrome/browser/ui/webui/realbox/realbox_handler.cc
--- a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc --- a/chrome/browser/ui/webui/realbox/realbox_handler.cc
+++ b/chrome/browser/ui/webui/searchbox/searchbox_handler.cc +++ b/chrome/browser/ui/webui/realbox/realbox_handler.cc
@@ -451,6 +451,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source, @@ -672,7 +672,7 @@ void RealboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
Profile* profile,
bool enable_voice_search, source->AddBoolean(
bool enable_lens_search) { "realboxLensSearch",
+ enable_lens_search = false; - profile->GetPrefs()->GetBoolean(prefs::kLensDesktopNTPSearchEnabled));
// Embedders which are served from chrome-untrusted:// URLs should override + false);
// this to false. The chrome.timeTicks capability that the metrics reporter source->AddString("realboxLensVariations", GetBase64UrlVariations(profile));
// depends on is not defined in chrome-untrusted environments and attempting source->AddBoolean(
"realboxLensDirectUpload",
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
--- a/components/search/ntp_features.cc --- a/components/search/ntp_features.cc
+++ b/components/search/ntp_features.cc +++ b/components/search/ntp_features.cc
@@ -176,7 +176,7 @@ BASE_FEATURE(kNtpHandleMostVisitedNavigationExplicitly, @@ -171,7 +171,7 @@ BASE_FEATURE(kNtpHandleMostVisitedNavigationExplicitly,
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// If enabled, logo will be shown. // If enabled, logo will be shown.
@@ -60,7 +61,7 @@ diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.
// If enabled, logo will fill up less vertical space. // If enabled, logo will fill up less vertical space.
BASE_FEATURE(kNtpReducedLogoSpace, BASE_FEATURE(kNtpReducedLogoSpace,
@@ -253,8 +253,8 @@ BASE_FEATURE(kNtpMostVisitedReflowOnOverflow, @@ -248,8 +248,8 @@ BASE_FEATURE(kNtpMostVisitedReflowOnOverflow,
// If enabled, OneGoogleBar will be shown. // If enabled, OneGoogleBar will be shown.
BASE_FEATURE(kNtpOneGoogleBar, BASE_FEATURE(kNtpOneGoogleBar,
@@ -69,6 +70,6 @@ diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.
+ "NtpOneGoogleBar", // disabled + "NtpOneGoogleBar", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default + base::FEATURE_DISABLED_BY_DEFAULT); // by default
// If enabled, outlook calendar module will be shown. // If enabled, Google Photos module will be shown.
BASE_FEATURE(kNtpOutlookCalendarModule, BASE_FEATURE(kNtpPhotosModule,
-- --
@@ -14,15 +14,15 @@ 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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -648,7 +648,7 @@ public abstract class ChromeFeatureList { @@ -634,7 +634,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sSmallerTabStripTitleLimit = public static final CachedFlag sSmallerTabStripTitleLimit =
newCachedFlag(SMALLER_TAB_STRIP_TITLE_LIMIT, false); newCachedFlag(SMALLER_TAB_STRIP_TITLE_LIMIT, false);
public static final CachedFlag sStartSurfaceAndroid = public static final CachedFlag sStartSurfaceAndroid =
- newCachedFlag(START_SURFACE_ANDROID, true); - newCachedFlag(START_SURFACE_ANDROID, true);
+ newCachedFlag(START_SURFACE_ANDROID, false); + newCachedFlag(START_SURFACE_ANDROID, false);
public static final CachedFlag sStartSurfaceReturnTime = public static final CachedFlag sStartSurfaceOnTablet =
newCachedFlag(START_SURFACE_RETURN_TIME, true); newCachedFlag(START_SURFACE_ON_TABLET, true);
public static final CachedFlag sStopAppIndexingReport = public static final CachedFlag sStartSurfaceRefactor =
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-StartSurface-feature.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-StartSurface-feature.inc diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-StartSurface-feature.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-StartSurface-feature.inc
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+9 -9
View File
@@ -79,7 +79,7 @@ new file mode 100644
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
--- a/net/http/http_network_session.cc --- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc +++ b/net/http/http_network_session.cc
@@ -209,6 +209,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params, @@ -208,6 +208,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
next_protos_.push_back(kProtoHTTP11); next_protos_.push_back(kProtoHTTP11);
@@ -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_session_pool.cc b/net/quic/quic_session_pool.cc diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
--- a/net/quic/quic_session_pool.cc --- a/net/quic/quic_session_pool.cc
+++ b/net/quic/quic_session_pool.cc +++ b/net/quic/quic_session_pool.cc
@@ -77,6 +77,7 @@ @@ -69,6 +69,7 @@
#include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h" #include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h"
#include "net/traffic_annotation/network_traffic_annotation.h" #include "net/traffic_annotation/network_traffic_annotation.h"
#include "third_party/boringssl/src/include/openssl/aead.h" #include "third_party/boringssl/src/include/openssl/aead.h"
@@ -98,7 +98,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
#include "url/gurl.h" #include "url/gurl.h"
#include "url/scheme_host_port.h" #include "url/scheme_host_port.h"
#include "url/url_constants.h" #include "url/url_constants.h"
@@ -196,6 +197,38 @@ void LogUsingExistingSession(const NetLogWithSource& request_net_log, @@ -156,6 +157,38 @@ std::set<std::string> HostsFromOrigins(std::set<HostPortPair> origins) {
} // namespace } // namespace
@@ -137,7 +137,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {} QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {}
QuicSessionRequest::~QuicSessionRequest() { QuicSessionRequest::~QuicSessionRequest() {
@@ -1894,7 +1927,7 @@ QuicSessionPool::CreateCryptoConfigHandle( @@ -1716,7 +1749,7 @@ QuicSessionPool::CreateCryptoConfigHandle(
cert_verifier_, transport_security_state_, sct_auditing_delegate_, cert_verifier_, transport_security_state_, sct_auditing_delegate_,
HostsFromOrigins(params_.origins_to_force_quic_on), HostsFromOrigins(params_.origins_to_force_quic_on),
actual_network_anonymization_key), actual_network_anonymization_key),
@@ -149,7 +149,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
--- a/net/socket/ssl_client_socket_impl.cc --- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc +++ b/net/socket/ssl_client_socket_impl.cc
@@ -288,7 +288,33 @@ SSLClientSocketImpl::SSLClientSocketImpl( @@ -380,7 +380,33 @@ SSLClientSocketImpl::SSLClientSocketImpl(
CHECK(context_); CHECK(context_);
} }
@@ -183,7 +183,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
Disconnect(); Disconnect();
} }
@@ -672,6 +698,8 @@ int SSLClientSocketImpl::Init() { @@ -764,6 +790,8 @@ int SSLClientSocketImpl::Init() {
} }
if (session) if (session)
SSL_set_session(ssl_.get(), session.get()); SSL_set_session(ssl_.get(), session.get());
@@ -192,7 +192,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
} }
const int kBufferSize = GetDefaultOpenSSLBufferSize(); const int kBufferSize = GetDefaultOpenSSLBufferSize();
@@ -959,6 +987,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { @@ -1062,6 +1090,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
: SSLHandshakeDetails::kTLS13Full; : SSLHandshakeDetails::kTLS13Full;
} }
} }
@@ -228,7 +228,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details); UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details);
// Measure TLS connections that implement the renegotiation_info extension. // Measure TLS connections that implement the renegotiation_info extension.
@@ -1584,6 +1641,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { @@ -1699,6 +1756,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
} }
bool SSLClientSocketImpl::IsCachingEnabled() const { bool SSLClientSocketImpl::IsCachingEnabled() const {
@@ -240,7 +240,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
diff --git a/net/socket/ssl_client_socket_impl.h b/net/socket/ssl_client_socket_impl.h diff --git a/net/socket/ssl_client_socket_impl.h b/net/socket/ssl_client_socket_impl.h
--- a/net/socket/ssl_client_socket_impl.h --- a/net/socket/ssl_client_socket_impl.h
+++ b/net/socket/ssl_client_socket_impl.h +++ b/net/socket/ssl_client_socket_impl.h
@@ -125,6 +125,8 @@ class SSLClientSocketImpl : public SSLClientSocket, @@ -124,6 +124,8 @@ class SSLClientSocketImpl : public SSLClientSocket,
friend class SSLClientSocket; friend class SSLClientSocket;
friend class SSLContext; friend class SSLContext;
+4 -4
View File
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc --- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc
@@ -578,6 +578,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( @@ -586,6 +586,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
WebRuntimeFeatures::EnableV8IdleTasks(true); WebRuntimeFeatures::EnableV8IdleTasks(true);
} }
@@ -24,7 +24,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc --- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc +++ b/gpu/config/gpu_finch_features.cc
@@ -280,7 +280,7 @@ BASE_FEATURE(kEnableDrDc, @@ -266,7 +266,7 @@ BASE_FEATURE(kEnableDrDc,
// enabled by default on supported platforms. // enabled by default on supported platforms.
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \
BUILDFLAG(IS_ANDROID) BUILDFLAG(IS_ANDROID)
@@ -36,12 +36,12 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
diff --git a/third_party/blink/renderer/modules/webgpu/gpu.cc b/third_party/blink/renderer/modules/webgpu/gpu.cc diff --git a/third_party/blink/renderer/modules/webgpu/gpu.cc b/third_party/blink/renderer/modules/webgpu/gpu.cc
--- a/third_party/blink/renderer/modules/webgpu/gpu.cc --- a/third_party/blink/renderer/modules/webgpu/gpu.cc
+++ b/third_party/blink/renderer/modules/webgpu/gpu.cc +++ b/third_party/blink/renderer/modules/webgpu/gpu.cc
@@ -380,6 +380,7 @@ ScriptPromise<IDLNullable<GPUAdapter>> GPU::requestAdapter( @@ -376,6 +376,7 @@ ScriptPromise GPU::requestAdapter(ScriptState* script_state,
"WebGPU is experimental on this platform. See " "WebGPU is experimental on this platform. See "
"https://github.com/gpuweb/gpuweb/wiki/" "https://github.com/gpuweb/gpuweb/wiki/"
"Implementation-Status#implementation-status")); "Implementation-Status#implementation-status"));
+ //(UAZO) add site setting + //(UAZO) add site setting
} }
auto* resolver = auto* resolver = MakeGarbageCollected<ScriptPromiseResolver>(script_state);
-- --
+187 -112
View File
@@ -5,33 +5,34 @@ Subject: Disable all predictors code
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html 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 License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/BUILD.gn | 2 -- chrome/browser/BUILD.gn | 2 --
.../preloading_model_keyed_service.cc | 3 +++ .../preloading_model_keyed_service.cc | 1 +
.../preloading_model_keyed_service_factory.cc | 4 +--- .../preloading_model_keyed_service_factory.cc | 4 +--
.../optimization_guide/chrome_hints_manager.cc | 1 + .../chrome_hints_manager.cc | 1 +
.../model_validator_keyed_service.cc | 6 +++++- .../model_validator_keyed_service.cc | 7 +++++-
.../optimization_guide_keyed_service.cc | 1 - .../optimization_guide_keyed_service.cc | 1 -
.../predictors/loading_predictor_config.cc | 4 ++-- .../predictors/loading_predictor_config.cc | 4 +--
chrome/browser/predictors/predictors_features.cc | 3 +-- .../browser/predictors/predictors_features.cc | 11 ++------
chrome/browser/ui/tab_helpers.cc | 1 - chrome/browser/ui/tab_helpers.cc | 1 -
.../ui/webui/omnibox/omnibox_page_handler.cc | 2 ++ .../ui/webui/omnibox/omnibox_page_handler.cc | 14 +++++++++++
.../core/browser/autofill_optimization_guide.cc | 5 +++-- .../browser/autofill_optimization_guide.cc | 5 ++--
.../omnibox/browser/autocomplete_controller.cc | 4 ++++ .../metrics/shadow_prediction_metrics.cc | 2 +-
.../optimization_guide/core/hints_fetcher.cc | 1 + .../browser/autocomplete_controller.cc | 2 ++
.../optimization_guide/core/hints_manager.cc | 5 +++++ .../optimization_guide/core/hints_fetcher.cc | 1 +
.../core/optimization_guide_features.cc | 15 +++++++++------ .../optimization_guide/core/hints_manager.cc | 5 ++++
.../core/prediction_model_download_manager.cc | 6 ++++-- .../core/optimization_guide_features.cc | 25 +++++++++++--------
.../core/prediction_model_fetcher_impl.cc | 1 + .../core/prediction_model_download_manager.cc | 6 +++--
components/optimization_guide/features.gni | 3 +-- .../core/prediction_model_fetcher_impl.cc | 1 +
.../core/page_content_annotations_features.cc | 5 +++++ components/optimization_guide/features.gni | 3 +--
components/search/ntp_features.cc | 3 +++ .../phishing_classifier.cc | 2 +-
.../Disable-all-predictors-code.inc | 4 ++++ components/search/ntp_features.cc | 3 +++
.../Disable-all-predictors-code.inc | 1 + .../Disable-all-predictors-code.inc | 4 +++
.../features_cc/Disable-all-predictors-code.inc | 4 ++++ .../Disable-all-predictors-code.inc | 7 ++++++
.../features_cc/Disable-all-predictors-code.inc | 2 ++ .../Disable-all-predictors-code.inc | 4 +++
.../document_speculation_rules.cc | 1 + .../Disable-all-predictors-code.inc | 2 ++
.../platform/runtime_enabled_features.json5 | 2 +- .../document_speculation_rules.cc | 1 +
26 files changed, 64 insertions(+), 25 deletions(-) .../platform/runtime_enabled_features.json5 | 2 +-
27 files changed, 83 insertions(+), 38 deletions(-)
create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc 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/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/components/permissions/features_cc/Disable-all-predictors-code.inc
@@ -40,7 +41,7 @@ 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 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -853,8 +853,6 @@ static_library("browser") { @@ -851,8 +851,6 @@ static_library("browser") {
"navigation_predictor/navigation_predictor_keyed_service_factory.h", "navigation_predictor/navigation_predictor_keyed_service_factory.h",
"navigation_predictor/navigation_predictor_metrics_document_data.cc", "navigation_predictor/navigation_predictor_metrics_document_data.cc",
"navigation_predictor/navigation_predictor_metrics_document_data.h", "navigation_predictor/navigation_predictor_metrics_document_data.h",
@@ -52,22 +53,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc b/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc 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 --- a/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc
+++ b/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc +++ b/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc
@@ -11,6 +11,7 @@ @@ -16,6 +16,7 @@ PreloadingModelKeyedService::Inputs::Inputs() = default;
#include "chrome/browser/navigation_predictor/preloading_model_handler.h"
#endif
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
namespace {
// The model takes all of its inputs as floats, so this is a convenience
@@ -28,12 +29,14 @@ constexpr float ToInput(base::TimeDelta val) {
static_assert(1.0f == ToInput(true));
} // namespace
+#endif
PreloadingModelKeyedService::Inputs::Inputs() = default;
PreloadingModelKeyedService::PreloadingModelKeyedService( PreloadingModelKeyedService::PreloadingModelKeyedService(
OptimizationGuideKeyedService* optimization_guide_keyed_service) { OptimizationGuideKeyedService* optimization_guide_keyed_service) {
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) #if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
@@ -101,7 +87,15 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc b/chrome/browser/optimization_guide/model_validator_keyed_service.cc diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc b/chrome/browser/optimization_guide/model_validator_keyed_service.cc
--- a/chrome/browser/optimization_guide/model_validator_keyed_service.cc --- a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
+++ b/chrome/browser/optimization_guide/model_validator_keyed_service.cc +++ b/chrome/browser/optimization_guide/model_validator_keyed_service.cc
@@ -53,13 +53,13 @@ namespace optimization_guide { @@ -8,6 +8,7 @@
#include "base/files/file_util.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/task_traits.h"
+#include "base/task/thread_pool.h"
#include "build/build_config.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/identity_manager_factory.h"
@@ -55,13 +56,13 @@ namespace optimization_guide {
ModelValidatorKeyedService::ModelValidatorKeyedService(Profile* profile) ModelValidatorKeyedService::ModelValidatorKeyedService(Profile* profile)
: profile_(profile) { : profile_(profile) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -116,7 +110,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
if (switches::ShouldValidateModel()) { if (switches::ShouldValidateModel()) {
// Create the validator object which will get destroyed when the model // Create the validator object which will get destroyed when the model
// load is complete. // load is complete.
@@ -120,6 +120,7 @@ void ModelValidatorKeyedService::OnPrimaryAccountChanged( @@ -122,6 +123,7 @@ void ModelValidatorKeyedService::OnPrimaryAccountChanged(
void ModelValidatorKeyedService::StartModelExecutionValidation() { void ModelValidatorKeyedService::StartModelExecutionValidation() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -124,15 +118,15 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
auto* opt_guide_service = auto* opt_guide_service =
OptimizationGuideKeyedServiceFactory::GetForProfile(profile_); OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
if (!opt_guide_service) { if (!opt_guide_service) {
@@ -137,6 +138,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() { @@ -139,6 +141,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() {
ModelBasedCapabilityKey::kTest, request, proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_TEST, request,
base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse, base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse,
weak_ptr_factory_.GetWeakPtr())); weak_ptr_factory_.GetWeakPtr()));
+#endif +#endif
} }
void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation( void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation(
@@ -154,6 +156,7 @@ void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation( @@ -156,6 +159,7 @@ void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation(
void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation( void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation(
std::unique_ptr<optimization_guide::proto::ComposeRequest> request) { std::unique_ptr<optimization_guide::proto::ComposeRequest> request) {
@@ -140,7 +134,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
auto* opt_guide_service = auto* opt_guide_service =
OptimizationGuideKeyedServiceFactory::GetForProfile(profile_); OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
@@ -167,6 +170,7 @@ void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation( @@ -168,6 +172,7 @@ void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation(
*request, base::RepeatingCallback(base::BindRepeating( *request, base::RepeatingCallback(base::BindRepeating(
&ModelValidatorKeyedService::OnDeviceModelExecuteResponse, &ModelValidatorKeyedService::OnDeviceModelExecuteResponse,
weak_ptr_factory_.GetWeakPtr()))); weak_ptr_factory_.GetWeakPtr())));
@@ -151,7 +145,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc 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 --- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc +++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
@@ -522,7 +522,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( @@ -528,7 +528,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes( void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>& const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) { optimization_types) {
@@ -176,20 +170,41 @@ 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 diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/predictors/predictors_features.cc
--- a/chrome/browser/predictors/predictors_features.cc --- a/chrome/browser/predictors/predictors_features.cc
+++ b/chrome/browser/predictors/predictors_features.cc +++ b/chrome/browser/predictors/predictors_features.cc
@@ -12,8 +12,7 @@ namespace features { @@ -39,11 +39,7 @@ BASE_FEATURE(kLoadingPredictorDisregardAlwaysAccessesNetwork,
namespace {
constexpr base::FeatureState kFeatureEnabledOnlyOnAndroid = const base::FeatureState
- BUILDFLAG(IS_ANDROID) ? base::FEATURE_ENABLED_BY_DEFAULT kLoadingPredictorUseOptimizationGuideDefaultFeatureState =
- : base::FEATURE_DISABLED_BY_DEFAULT; -#if BUILDFLAG(IS_ANDROID)
+ base::FEATURE_DISABLED_BY_DEFAULT; - base::FEATURE_ENABLED_BY_DEFAULT;
-#else
- base::FEATURE_DISABLED_BY_DEFAULT;
-#endif
+ base::FEATURE_DISABLED_BY_DEFAULT;
} // namespace // Modifies loading predictor so that it can also use predictions coming from
// the optimization guide.
@@ -52,11 +48,7 @@ BASE_FEATURE(kLoadingPredictorUseOptimizationGuide,
kLoadingPredictorUseOptimizationGuideDefaultFeatureState);
const base::FeatureState kLoadingPredictorPrefetchDefaultFeatureState =
-#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT;
-#else
base::FEATURE_DISABLED_BY_DEFAULT;
-#endif
// 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 diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc
@@ -418,7 +418,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { @@ -414,7 +414,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
} }
MixedContentSettingsTabHelper::CreateForWebContents(web_contents); MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
NavigationMetricsRecorder::CreateForWebContents(web_contents); NavigationMetricsRecorder::CreateForWebContents(web_contents);
@@ -205,15 +220,61 @@ diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/br
#include "components/omnibox/browser/autocomplete_provider.h" #include "components/omnibox/browser/autocomplete_provider.h"
#include "components/omnibox/browser/autocomplete_result.h" #include "components/omnibox/browser/autocomplete_result.h"
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
#include "components/omnibox/browser/omnibox_field_trial.h" #include "components/omnibox/browser/autocomplete_scoring_model_service.h"
+#endif +#endif
#include "components/optimization_guide/machine_learning_tflite_buildflags.h" #include "components/omnibox/browser/omnibox_field_trial.h"
#include "components/search_engines/template_url.h" #include "components/search_engines/template_url.h"
#include "content/public/browser/web_ui.h" #include "content/public/browser/web_ui.h"
@@ -498,6 +500,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) {
@@ -510,10 +513,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);
@@ -523,6 +530,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(
@@ -547,8 +557,12 @@ OmniboxPageHandler::GetAutocompleteControllerType(
}
AutocompleteScoringModelService* OmniboxPageHandler::GetMlService() {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
return OmniboxFieldTrial::IsMlUrlScoringEnabled()
? 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 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 --- a/components/autofill/core/browser/autofill_optimization_guide.cc
+++ b/components/autofill/core/browser/autofill_optimization_guide.cc +++ b/components/autofill/core/browser/autofill_optimization_guide.cc
@@ -165,6 +165,7 @@ void AutofillOptimizationGuide::OnDidParseForm( @@ -163,6 +163,7 @@ void AutofillOptimizationGuide::OnDidParseForm(
// If we do not have any optimization types to register, do not do anything. // If we do not have any optimization types to register, do not do anything.
if (!optimization_types.empty()) { if (!optimization_types.empty()) {
// Register all optimization types that we need based on `form_structure`. // Register all optimization types that we need based on `form_structure`.
@@ -221,7 +282,7 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c
decider_->RegisterOptimizationTypes( decider_->RegisterOptimizationTypes(
std::vector<optimization_guide::proto::OptimizationType>( std::vector<optimization_guide::proto::OptimizationType>(
std::move(optimization_types).extract())); std::move(optimization_types).extract()));
@@ -216,7 +217,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions( @@ -214,7 +215,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions(
AutofillField* field) const { AutofillField* field) const {
// If the field's storable type is `IBAN_VALUE`, check whether IBAN // If the field's storable type is `IBAN_VALUE`, check whether IBAN
// suggestions should be blocked based on `url`. // suggestions should be blocked based on `url`.
@@ -230,51 +291,47 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c
optimization_guide::OptimizationGuideDecision decision = optimization_guide::OptimizationGuideDecision decision =
decider_->CanApplyOptimization( decider_->CanApplyOptimization(
url, optimization_guide::proto::IBAN_AUTOFILL_BLOCKED, url, optimization_guide::proto::IBAN_AUTOFILL_BLOCKED,
@@ -242,7 +243,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion( @@ -240,7 +241,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion(
const CreditCard& card) const { const CreditCard* card) const {
if (auto optimization_type = if (auto optimization_type =
GetVcnMerchantOptOutOptimizationTypeForCard(card); GetVcnMerchantOptOutOptimizationTypeForCard(*card);
- optimization_type != optimization_guide::proto::TYPE_UNSPECIFIED) { - optimization_type != optimization_guide::proto::TYPE_UNSPECIFIED) {
+ decider_ && optimization_type != optimization_guide::proto::TYPE_UNSPECIFIED) { + decider_ && optimization_type != optimization_guide::proto::TYPE_UNSPECIFIED) {
optimization_guide::OptimizationGuideDecision decision = optimization_guide::OptimizationGuideDecision decision =
decider_->CanApplyOptimization(url, optimization_type, decider_->CanApplyOptimization(url, optimization_type,
/*optimization_metadata=*/nullptr); /*optimization_metadata=*/nullptr);
diff --git a/components/autofill/core/browser/metrics/shadow_prediction_metrics.cc b/components/autofill/core/browser/metrics/shadow_prediction_metrics.cc
--- a/components/autofill/core/browser/metrics/shadow_prediction_metrics.cc
+++ b/components/autofill/core/browser/metrics/shadow_prediction_metrics.cc
@@ -74,7 +74,7 @@ void LogRegexShadowPredictions(const AutofillField& field) {
void LogMlShadowPredictions(const AutofillField& field) {
#if !BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- return;
+ if ((true)) return;
#endif
if (!base::FeatureList::IsEnabled(features::kAutofillModelPredictions)) {
return;
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
--- a/components/omnibox/browser/autocomplete_controller.cc --- a/components/omnibox/browser/autocomplete_controller.cc
+++ b/components/omnibox/browser/autocomplete_controller.cc +++ b/components/omnibox/browser/autocomplete_controller.cc
@@ -47,7 +47,9 @@ @@ -47,7 +47,9 @@
#include "components/omnibox/browser/autocomplete_input.h"
#include "components/omnibox/browser/autocomplete_match_type.h" #include "components/omnibox/browser/autocomplete_match_type.h"
#include "components/omnibox/browser/autocomplete_provider.h" #include "components/omnibox/browser/autocomplete_provider.h"
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
#include "components/omnibox/browser/autocomplete_provider_client.h" #include "components/omnibox/browser/autocomplete_provider_client.h"
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
#include "components/omnibox/browser/autocomplete_scoring_model_service.h"
+#endif +#endif
#include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h" #include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h"
#include "components/omnibox/browser/bookmark_provider.h" #include "components/omnibox/browser/bookmark_provider.h"
#include "components/omnibox/browser/bookmark_scoring_signals_annotator.h" #include "components/omnibox/browser/bookmark_scoring_signals_annotator.h"
@@ -116,6 +118,7 @@ using ScoringSignals = ::metrics::OmniboxEventProto::Suggestion::ScoringSignals;
constexpr bool is_android = !!BUILDFLAG(IS_ANDROID);
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
void RecordMlScoreCoverage(size_t matches_with_non_null_scores,
size_t total_scored_matches) {
int percent_score_coverage =
@@ -124,6 +127,7 @@ void RecordMlScoreCoverage(size_t matches_with_non_null_scores,
"Omnibox.URLScoringModelExecuted.MLScoreCoverage",
percent_score_coverage);
}
+#endif
// Appends available autocompletion of the given type, subtype, and number to
// the existing available autocompletions string, encoding according to the
diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc 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 --- a/components/optimization_guide/core/hints_fetcher.cc
+++ b/components/optimization_guide/core/hints_fetcher.cc +++ b/components/optimization_guide/core/hints_fetcher.cc
@@ -185,6 +185,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints( @@ -183,6 +183,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
bool skip_cache, bool skip_cache,
HintsFetchedCallback hints_fetched_callback, HintsFetchedCallback hints_fetched_callback,
std::optional<proto::RequestContextMetadata> request_context_metadata) { proto::RequestContextMetadata* request_context_metadata) {
+ if ((true)) return false; + if ((true)) return false;
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK_GT(optimization_types.size(), 0u); DCHECK_GT(optimization_types.size(), 0u);
@@ -282,7 +339,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 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 --- a/components/optimization_guide/core/hints_manager.cc
+++ b/components/optimization_guide/core/hints_manager.cc +++ b/components/optimization_guide/core/hints_manager.cc
@@ -393,6 +393,7 @@ void HintsManager::Shutdown() { @@ -390,6 +390,7 @@ void HintsManager::Shutdown() {
OptimizationGuideDecision OptimizationGuideDecision
HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision( HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
OptimizationTypeDecision optimization_type_decision) { OptimizationTypeDecision optimization_type_decision) {
@@ -290,15 +347,15 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
switch (optimization_type_decision) { switch (optimization_type_decision) {
case OptimizationTypeDecision::kAllowedByOptimizationFilter: case OptimizationTypeDecision::kAllowedByOptimizationFilter:
case OptimizationTypeDecision::kAllowedByHint: case OptimizationTypeDecision::kAllowedByHint:
@@ -1116,6 +1117,7 @@ void HintsManager::CanApplyOptimizationOnDemand( @@ -1110,6 +1111,7 @@ void HintsManager::CanApplyOptimizationOnDemand(
OnDemandOptimizationGuideDecisionRepeatingCallback callback, OnDemandOptimizationGuideDecisionRepeatingCallback callback,
std::optional<proto::RequestContextMetadata> request_context_metadata) { proto::RequestContextMetadata* request_context_metadata) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ if ((true)) return; // no consent on bromite + if ((true)) return; // no consent on bromite
InsertionOrderedSet<GURL> urls_to_fetch; InsertionOrderedSet<GURL> urls_to_fetch;
InsertionOrderedSet<std::string> hosts_to_fetch; InsertionOrderedSet<std::string> hosts_to_fetch;
@@ -1421,6 +1423,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization( @@ -1416,6 +1418,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
bool skip_cache, bool skip_cache,
OptimizationMetadata* optimization_metadata) { OptimizationMetadata* optimization_metadata) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -311,9 +368,16 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc 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 --- a/components/optimization_guide/core/optimization_guide_features.cc
+++ b/components/optimization_guide/core/optimization_guide_features.cc +++ b/components/optimization_guide/core/optimization_guide_features.cc
@@ -37,11 +37,7 @@ namespace features { @@ -37,18 +37,10 @@ namespace features {
namespace { namespace {
constexpr auto enabled_by_default_desktop_only =
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
base::FEATURE_DISABLED_BY_DEFAULT;
-#else
- base::FEATURE_ENABLED_BY_DEFAULT;
-#endif
constexpr auto enabled_by_default_mobile_only = constexpr auto enabled_by_default_mobile_only =
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
- base::FEATURE_ENABLED_BY_DEFAULT; - base::FEATURE_ENABLED_BY_DEFAULT;
@@ -321,9 +385,9 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
base::FEATURE_DISABLED_BY_DEFAULT; base::FEATURE_DISABLED_BY_DEFAULT;
-#endif -#endif
} // namespace // Returns whether |locale| is a supported locale for |feature|.
//
@@ -427,8 +423,7 @@ size_t MaxURLKeyedHintCacheSize() { @@ -575,8 +567,7 @@ size_t MaxURLKeyedHintCacheSize() {
} }
bool ShouldPersistHintsToDisk() { bool ShouldPersistHintsToDisk() {
@@ -333,8 +397,8 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
} }
RequestContextSet GetAllowedContextsForPersonalizedMetadata() { RequestContextSet GetAllowedContextsForPersonalizedMetadata() {
@@ -814,5 +809,13 @@ double GetOnDeviceModelDefaultTemperature() { @@ -1080,5 +1071,19 @@ bool GetOnDeviceModelRetractRepeats() {
return kTemperature.Get(); return kOnDeviceModelRetractRepeats.Get();
} }
+SET_CROMITE_FEATURE_DISABLED(kOptimizationHints); +SET_CROMITE_FEATURE_DISABLED(kOptimizationHints);
@@ -342,8 +406,14 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
+SET_CROMITE_FEATURE_DISABLED(kRemoteOptimizationGuideFetchingAnonymousDataConsent); +SET_CROMITE_FEATURE_DISABLED(kRemoteOptimizationGuideFetchingAnonymousDataConsent);
+SET_CROMITE_FEATURE_DISABLED(kOptimizationTargetPrediction); +SET_CROMITE_FEATURE_DISABLED(kOptimizationTargetPrediction);
+SET_CROMITE_FEATURE_DISABLED(kOptimizationGuideModelDownloading); +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(kPushNotifications);
+SET_CROMITE_FEATURE_DISABLED(kPageVisibilityBatchAnnotations);
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsValidation);
+SET_CROMITE_FEATURE_DISABLED(kPreventLongRunningPredictionModels); +SET_CROMITE_FEATURE_DISABLED(kPreventLongRunningPredictionModels);
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsPersistSalientImageMetadata);
+SET_CROMITE_FEATURE_DISABLED(kOptimizationGuideFetchingForSRP); +SET_CROMITE_FEATURE_DISABLED(kOptimizationGuideFetchingForSRP);
} // namespace features } // namespace features
} // namespace optimization_guide } // namespace optimization_guide
@@ -408,23 +478,22 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
} }
declare_args() { declare_args() {
diff --git a/components/page_content_annotations/core/page_content_annotations_features.cc b/components/page_content_annotations/core/page_content_annotations_features.cc diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.cc b/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.cc
--- a/components/page_content_annotations/core/page_content_annotations_features.cc --- a/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.cc
+++ b/components/page_content_annotations/core/page_content_annotations_features.cc +++ b/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.cc
@@ -270,4 +270,9 @@ size_t MaxRelatedSearchesCacheSize() { @@ -234,7 +234,7 @@ void PhishingClassifier::VisualExtractionFinished(bool success) {
"max_related_searches_cache_size", 10); *bitmap_, base::BindOnce(&PhishingClassifier::OnVisualTfLiteModelDone,
weak_factory_.GetWeakPtr(), std::move(verdict)));
#else
- RunCallback(*verdict);
+ //RunCallback(*verdict);
#endif
} }
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotations);
+SET_CROMITE_FEATURE_DISABLED(kRemotePageMetadata);
+SET_CROMITE_FEATURE_DISABLED(kPageVisibilityBatchAnnotations);
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsValidation);
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsPersistSalientImageMetadata);
} // namespace page_content_annotations::features
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
--- a/components/search/ntp_features.cc --- a/components/search/ntp_features.cc
+++ b/components/search/ntp_features.cc +++ b/components/search/ntp_features.cc
@@ -566,4 +566,7 @@ std::vector<std::string> GetModulesOrder() { @@ -544,4 +544,7 @@ std::vector<std::string> GetModulesOrder() {
base::SplitResult::SPLIT_WANT_NONEMPTY); base::SplitResult::SPLIT_WANT_NONEMPTY);
} }
@@ -445,8 +514,14 @@ diff --git a/cromite_flags/chrome/common/chrome_features_cc/Disable-all-predicto
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/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
@@ -0,0 +1 @@ @@ -0,0 +1,7 @@
+SET_CROMITE_FEATURE_DISABLED(kPrerenderFallbackToPreconnect); +SET_CROMITE_FEATURE_DISABLED(kPrerenderFallbackToPreconnect);
+
+#if !BUILDFLAG(IS_ANDROID)
+
+SET_CROMITE_FEATURE_DISABLED(kSafetyCheckNotificationPermissions);
+
+#endif
diff --git a/cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc b/cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc diff --git a/cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc b/cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
@@ -466,18 +541,18 @@ new file mode 100644
diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
--- a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc --- a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
+++ b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc +++ b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
@@ -657,6 +657,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { @@ -599,6 +599,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
return; return;
} }
+ if ((true)) return; + if ((true)) return;
HeapVector<Member<SpeculationCandidate>> candidates; HeapVector<Member<SpeculationCandidate>> candidates;
auto push_candidates = [&candidates, &document]( auto push_candidates = [&candidates, &execution_context](
mojom::blink::SpeculationAction action, mojom::blink::SpeculationAction action,
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -3053,7 +3053,7 @@ @@ -2961,7 +2961,7 @@
// //
// It also has some feature params defined throughout the codebase. // It also has some feature params defined throughout the codebase.
name: "Prerender2", name: "Prerender2",
@@ -17,7 +17,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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -1334,6 +1334,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @@ -1243,6 +1243,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
} }
private boolean maybeShowPromo(Profile profile) { private boolean maybeShowPromo(Profile profile) {
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -144,7 +144,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { @@ -138,7 +138,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled, registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled,
false); false);
@@ -40,7 +40,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
diff --git a/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc b/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc diff --git a/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc b/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc
--- a/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc --- a/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc
+++ b/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc +++ b/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc
@@ -75,6 +75,7 @@ ui::ElementContext BrowserFeaturePromoController::GetAnchorContext() const { @@ -132,6 +132,7 @@ ui::ElementContext BrowserFeaturePromoController::GetAnchorContext() const {
bool BrowserFeaturePromoController::CanShowPromoForElement( bool BrowserFeaturePromoController::CanShowPromoForElement(
ui::TrackedElement* anchor_element) const { ui::TrackedElement* anchor_element) const {
@@ -51,7 +51,7 @@ diff --git a/chrome/browser/ui/views/user_education/browser_feature_promo_contro
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 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 --- 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 +++ b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
@@ -125,6 +125,7 @@ public class UserEducationHelper { @@ -74,6 +74,7 @@ public class UserEducationHelper {
} }
private void showIPH(Tracker tracker, IPHCommand iphCommand) { private void showIPH(Tracker tracker, IPHCommand iphCommand) {
@@ -62,7 +62,7 @@ diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/
diff --git a/components/user_education/common/feature_promo_controller.cc b/components/user_education/common/feature_promo_controller.cc diff --git a/components/user_education/common/feature_promo_controller.cc b/components/user_education/common/feature_promo_controller.cc
--- a/components/user_education/common/feature_promo_controller.cc --- a/components/user_education/common/feature_promo_controller.cc
+++ b/components/user_education/common/feature_promo_controller.cc +++ b/components/user_education/common/feature_promo_controller.cc
@@ -604,6 +604,7 @@ FeaturePromoResult FeaturePromoControllerCommon::CanShowPromoCommon( @@ -589,6 +589,7 @@ FeaturePromoResult FeaturePromoControllerCommon::CanShowPromoCommon(
const FeaturePromoSpecification** spec_out, const FeaturePromoSpecification** spec_out,
std::unique_ptr<FeaturePromoLifecycle>* lifecycle_out, std::unique_ptr<FeaturePromoLifecycle>* lifecycle_out,
ui::TrackedElement** anchor_element_out) const { ui::TrackedElement** anchor_element_out) const {
@@ -73,8 +73,8 @@ diff --git a/components/user_education/common/feature_promo_controller.cc b/comp
diff --git a/components/user_education/common/feature_promo_registry.cc b/components/user_education/common/feature_promo_registry.cc diff --git a/components/user_education/common/feature_promo_registry.cc b/components/user_education/common/feature_promo_registry.cc
--- a/components/user_education/common/feature_promo_registry.cc --- a/components/user_education/common/feature_promo_registry.cc
+++ b/components/user_education/common/feature_promo_registry.cc +++ b/components/user_education/common/feature_promo_registry.cc
@@ -20,6 +20,7 @@ FeaturePromoRegistry& FeaturePromoRegistry::operator=( @@ -29,6 +29,7 @@ const FeaturePromoSpecification* FeaturePromoRegistry::GetParamsForFeature(
FeaturePromoRegistry::~FeaturePromoRegistry() = default; }
void FeaturePromoRegistry::RegisterFeature(FeaturePromoSpecification spec) { void FeaturePromoRegistry::RegisterFeature(FeaturePromoSpecification spec) {
+ if ((true)) return; + if ((true)) return;
@@ -46,27 +46,27 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
--- a/android_webview/browser/aw_content_browser_client.cc --- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc +++ b/android_webview/browser/aw_content_browser_client.cc
@@ -1249,6 +1249,7 @@ network::mojom::AttributionSupport @@ -1163,6 +1163,7 @@ network::mojom::AttributionSupport
AwContentBrowserClient::GetAttributionSupport( AwContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state, AttributionReportingOsApiState state,
bool client_os_disabled) { content::WebContents* web_contents) {
+ if ((true)) return network::mojom::AttributionSupport::kNone; + if ((true)) return network::mojom::AttributionSupport::kNone;
// WebView only supports OS-level attribution and not web-attribution. AwSettings* aw_settings = AwSettings::FromWebContents(web_contents);
switch (state) { if (aw_settings && aw_settings->GetAttributionBehavior() ==
case AttributionReportingOsApiState::kDisabled: AwSettings::AttributionBehavior::DISABLED) {
@@ -1267,6 +1268,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( @@ -1187,6 +1188,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin, const url::Origin* destination_origin,
const url::Origin* reporting_origin, const url::Origin* reporting_origin,
bool* can_bypass) { bool* can_bypass) {
+ if ((true)) + if ((true))
+ return false; + return false;
// WebView only supports OS-level attribution and not web-attribution. // Check if attribution reporting has been disabled.
// Note: We do not check here if attribution reporting has been disabled // This method should not be called at all if the configured behavior is
// for the associated WebView as this is checked at the start of processing // DISABLED.
diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.java b/android_webview/java/src/org/chromium/android_webview/AwSettings.java diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.java b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
--- a/android_webview/java/src/org/chromium/android_webview/AwSettings.java --- a/android_webview/java/src/org/chromium/android_webview/AwSettings.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwSettings.java +++ b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
@@ -167,7 +167,7 @@ public class AwSettings { @@ -162,7 +162,7 @@ public class AwSettings {
private boolean mSpatialNavigationEnabled; // Default depends on device features. private boolean mSpatialNavigationEnabled; // Default depends on device features.
private boolean mEnableSupportedHardwareAcceleratedFeatures; private boolean mEnableSupportedHardwareAcceleratedFeatures;
private int mMixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW; private int mMixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW;
@@ -75,7 +75,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja
private boolean mCSSHexAlphaColorEnabled; private boolean mCSSHexAlphaColorEnabled;
private boolean mScrollTopLeftInteropEnabled; private boolean mScrollTopLeftInteropEnabled;
private boolean mWillSuppressErrorPage; private boolean mWillSuppressErrorPage;
@@ -1705,7 +1705,7 @@ public class AwSettings { @@ -1689,7 +1689,7 @@ public class AwSettings {
public void setAttributionBehavior(@AttributionBehavior int behavior) { public void setAttributionBehavior(@AttributionBehavior int behavior) {
synchronized (mAwSettingsLock) { synchronized (mAwSettingsLock) {
if (mAttributionBehavior != behavior) { if (mAttributionBehavior != behavior) {
@@ -95,7 +95,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30"/> <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30"/>
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_CONNECT"/> <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_CONNECT"/>
<!-- <!--
@@ -1166,9 +1165,6 @@ by a child template that "extends" this file. @@ -1165,9 +1164,6 @@ by a child template that "extends" this file.
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" > android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" >
</activity> </activity>
@@ -128,7 +128,7 @@ diff --git a/components/embedder_support/origin_trials/features.cc b/components/
diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc
--- a/components/renderer_context_menu/render_view_context_menu_base.cc --- a/components/renderer_context_menu/render_view_context_menu_base.cc
+++ b/components/renderer_context_menu/render_view_context_menu_base.cc +++ b/components/renderer_context_menu/render_view_context_menu_base.cc
@@ -503,9 +503,6 @@ RenderViewContextMenuBase::GetOpenURLParamsWithExtraHeaders( @@ -502,9 +502,6 @@ RenderViewContextMenuBase::GetOpenURLParamsWithExtraHeaders(
open_url_params.source_site_instance = site_instance_; open_url_params.source_site_instance = site_instance_;
@@ -141,7 +141,7 @@ diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b
diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b/content/browser/aggregation_service/aggregatable_report_sender.cc diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b/content/browser/aggregation_service/aggregatable_report_sender.cc
--- a/content/browser/aggregation_service/aggregatable_report_sender.cc --- a/content/browser/aggregation_service/aggregatable_report_sender.cc
+++ b/content/browser/aggregation_service/aggregatable_report_sender.cc +++ b/content/browser/aggregation_service/aggregatable_report_sender.cc
@@ -138,19 +138,18 @@ void AggregatableReportSender::SendReport(const GURL& url, @@ -137,19 +137,18 @@ void AggregatableReportSender::SendReport(const GURL& url,
// Allow bodies of non-2xx responses to be returned. // Allow bodies of non-2xx responses to be returned.
simple_url_loader_ptr->SetAllowHttpErrorResults(true); simple_url_loader_ptr->SetAllowHttpErrorResults(true);
@@ -180,10 +180,10 @@ diff --git a/content/browser/aggregation_service/aggregation_service_features.cc
diff --git a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc diff --git a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
--- a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc --- a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
+++ b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc +++ b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
@@ -1100,6 +1100,7 @@ void AttributionDataHostManagerImpl::ParseHeader( @@ -924,6 +924,7 @@ void AttributionDataHostManagerImpl::ParseHeader(
HeaderPendingDecode pending_decode, HeaderPendingDecode pending_decode,
Registrar registrar) { Registrar registrar) {
CHECK(it != registrations_.end()); DCHECK(it != registrations_.end());
+ if ((true)) return; + if ((true)) return;
switch (it->eligibility()) { switch (it->eligibility()) {
@@ -191,7 +191,7 @@ diff --git a/content/browser/attribution_reporting/attribution_data_host_manager
diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc
--- a/content/browser/attribution_reporting/attribution_host.cc --- a/content/browser/attribution_reporting/attribution_host.cc
+++ b/content/browser/attribution_reporting/attribution_host.cc +++ b/content/browser/attribution_reporting/attribution_host.cc
@@ -258,6 +258,7 @@ void AttributionHost::NotifyNavigationRegistrationData( @@ -257,6 +257,7 @@ void AttributionHost::NotifyNavigationRegistrationData(
return; return;
} }
@@ -202,15 +202,15 @@ diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content
diff --git a/content/browser/attribution_reporting/attribution_os_level_manager.cc b/content/browser/attribution_reporting/attribution_os_level_manager.cc diff --git a/content/browser/attribution_reporting/attribution_os_level_manager.cc b/content/browser/attribution_reporting/attribution_os_level_manager.cc
--- a/content/browser/attribution_reporting/attribution_os_level_manager.cc --- a/content/browser/attribution_reporting/attribution_os_level_manager.cc
+++ b/content/browser/attribution_reporting/attribution_os_level_manager.cc +++ b/content/browser/attribution_reporting/attribution_os_level_manager.cc
@@ -45,6 +45,7 @@ std::optional<ApiState> g_state GUARDED_BY_CONTEXT(GetSequenceChecker()); @@ -47,6 +47,7 @@ std::optional<ApiState> g_state GUARDED_BY_CONTEXT(GetSequenceChecker());
// static // static
bool AttributionOsLevelManager::ShouldInitializeApiState() { bool AttributionOsLevelManager::ShouldUseOsWebSource(
GlobalRenderFrameHostId render_frame_id) {
+ if ((true)) return false; + if ((true)) return false;
DCHECK_CALLED_ON_VALID_SEQUENCE(GetSequenceChecker()); return GetContentClient()
if (g_state.has_value()) { ->browser()
return false; ->ShouldUseOsWebSourceAttributionReporting(
@@ -56,7 +57,7 @@ bool AttributionOsLevelManager::ShouldInitializeApiState() { @@ -75,7 +76,7 @@ bool AttributionOsLevelManager::ShouldInitializeApiState() {
// static // static
ApiState AttributionOsLevelManager::GetApiState() { ApiState AttributionOsLevelManager::GetApiState() {
DCHECK_CALLED_ON_VALID_SEQUENCE(GetSequenceChecker()); DCHECK_CALLED_ON_VALID_SEQUENCE(GetSequenceChecker());
@@ -248,7 +248,7 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/content/browser/attribution_reporting/attribution_storage_sql.cc diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/content/browser/attribution_reporting/attribution_storage_sql.cc
--- a/content/browser/attribution_reporting/attribution_storage_sql.cc --- a/content/browser/attribution_reporting/attribution_storage_sql.cc
+++ b/content/browser/attribution_reporting/attribution_storage_sql.cc +++ b/content/browser/attribution_reporting/attribution_storage_sql.cc
@@ -461,14 +461,16 @@ base::FilePath DatabasePath(const base::FilePath& user_data_directory) { @@ -459,14 +459,16 @@ base::FilePath DatabasePath(const base::FilePath& user_data_directory) {
return user_data_directory.Append(kDatabasePath); return user_data_directory.Append(kDatabasePath);
} }
@@ -271,7 +271,7 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
--- a/content/browser/storage_partition_impl.cc --- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc +++ b/content/browser/storage_partition_impl.cc
@@ -1452,15 +1452,6 @@ void StoragePartitionImpl::Initialize( @@ -1443,15 +1443,6 @@ void StoragePartitionImpl::Initialize(
bucket_manager_ = std::make_unique<BucketManager>(this); bucket_manager_ = std::make_unique<BucketManager>(this);
@@ -321,7 +321,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
import org.jni_zero.CalledByNative; import org.jni_zero.CalledByNative;
import org.jni_zero.JNINamespace; import org.jni_zero.JNINamespace;
@@ -55,6 +43,10 @@ import java.util.concurrent.TimeoutException; @@ -54,6 +42,10 @@ import java.util.concurrent.TimeoutException;
*/ */
@JNINamespace("content") @JNINamespace("content")
public class AttributionOsLevelManager { public class AttributionOsLevelManager {
@@ -332,7 +332,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
private static final String TAG = "AttributionManager"; private static final String TAG = "AttributionManager";
// TODO: replace with constant in android.Manifest.permission once it becomes available in U. // TODO: replace with constant in android.Manifest.permission once it becomes available in U.
private static final String PERMISSION_ACCESS_ADSERVICES_ATTRIBUTION = private static final String PERMISSION_ACCESS_ADSERVICES_ATTRIBUTION =
@@ -119,63 +111,11 @@ public class AttributionOsLevelManager { @@ -118,63 +110,11 @@ public class AttributionOsLevelManager {
} }
private static boolean supportsAttribution() { private static boolean supportsAttribution() {
@@ -397,7 +397,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
} }
@CalledByNative @CalledByNative
@@ -184,22 +124,7 @@ public class AttributionOsLevelManager { @@ -183,22 +123,7 @@ public class AttributionOsLevelManager {
} }
private MeasurementManagerFutures getManager() { private MeasurementManagerFutures getManager() {
@@ -421,7 +421,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
} }
private void onRegistrationCompleted( private void onRegistrationCompleted(
@@ -213,28 +138,6 @@ public class AttributionOsLevelManager { @@ -212,28 +137,6 @@ public class AttributionOsLevelManager {
} }
} }
@@ -450,7 +450,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
@CalledByNative @CalledByNative
private static List<WebSourceParams> createWebSourceParamsList(int size) { private static List<WebSourceParams> createWebSourceParamsList(int size) {
if (!supportsAttribution()) { if (!supportsAttribution()) {
@@ -249,7 +152,6 @@ public class AttributionOsLevelManager { @@ -248,7 +151,6 @@ public class AttributionOsLevelManager {
if (!supportsAttribution()) { if (!supportsAttribution()) {
return; return;
} }
@@ -458,7 +458,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
} }
/** /**
@@ -266,32 +168,12 @@ public class AttributionOsLevelManager { @@ -265,32 +167,12 @@ public class AttributionOsLevelManager {
OperationResult.ERROR_VERSION_UNSUPPORTED); OperationResult.ERROR_VERSION_UNSUPPORTED);
return; return;
} }
@@ -490,8 +490,8 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
- .RegisterSourceOptIn.class) - .RegisterSourceOptIn.class)
@CalledByNative @CalledByNative
private void registerAttributionSource( private void registerAttributionSource(
int requestId, @JniType("std::vector") GURL[] registrationUrls, MotionEvent event) { int requestId, GURL[] registrationUrls, MotionEvent event) {
@@ -302,37 +184,16 @@ public class AttributionOsLevelManager { @@ -301,37 +183,16 @@ public class AttributionOsLevelManager {
OperationResult.ERROR_VERSION_UNSUPPORTED); OperationResult.ERROR_VERSION_UNSUPPORTED);
return; return;
} }
@@ -530,7 +530,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
} }
/** /**
@@ -349,18 +210,6 @@ public class AttributionOsLevelManager { @@ -348,18 +209,6 @@ public class AttributionOsLevelManager {
OperationResult.ERROR_VERSION_UNSUPPORTED); OperationResult.ERROR_VERSION_UNSUPPORTED);
return; return;
} }
@@ -549,7 +549,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
} }
/** /**
@@ -376,15 +225,6 @@ public class AttributionOsLevelManager { @@ -375,15 +224,6 @@ public class AttributionOsLevelManager {
OperationResult.ERROR_VERSION_UNSUPPORTED); OperationResult.ERROR_VERSION_UNSUPPORTED);
return; return;
} }
@@ -565,7 +565,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
} }
private void onDataDeletionCompleted(int requestId) { private void onDataDeletionCompleted(int requestId) {
@@ -419,96 +259,7 @@ public class AttributionOsLevelManager { @@ -418,96 +258,7 @@ public class AttributionOsLevelManager {
onDataDeletionCompleted(requestId); onDataDeletionCompleted(requestId);
return; return;
} }
@@ -663,7 +663,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
} }
private static void onMeasurementStateReturned(int status, @OperationResult int result) { private static void onMeasurementStateReturned(int status, @OperationResult int result) {
@@ -524,6 +275,10 @@ public class AttributionOsLevelManager { @@ -523,6 +274,10 @@ public class AttributionOsLevelManager {
private static void getMeasurementApiStatus() { private static void getMeasurementApiStatus() {
ThreadUtils.assertOnBackgroundThread(); ThreadUtils.assertOnBackgroundThread();
@@ -674,7 +674,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
if (sManagerForTesting != null) { if (sManagerForTesting != null) {
AttributionOsLevelManagerJni.get().onMeasurementStateReturned(1); AttributionOsLevelManagerJni.get().onMeasurementStateReturned(1);
return; return;
@@ -543,49 +298,6 @@ public class AttributionOsLevelManager { @@ -542,49 +297,6 @@ public class AttributionOsLevelManager {
onMeasurementStateReturned(/* status= */ 0, OperationResult.ERROR_PERMISSION_UNGRANTED); onMeasurementStateReturned(/* status= */ 0, OperationResult.ERROR_PERMISSION_UNGRANTED);
return; return;
} }
@@ -727,15 +727,15 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc 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 --- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc
@@ -544,6 +544,7 @@ void ContentBrowserClient::OnAuctionComplete( @@ -543,6 +543,7 @@ void ContentBrowserClient::OnAuctionComplete(
network::mojom::AttributionSupport ContentBrowserClient::GetAttributionSupport( network::mojom::AttributionSupport ContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state, AttributionReportingOsApiState state,
bool client_os_disabled) { content::WebContents* web_contents) {
+ if ((true)) return network::mojom::AttributionSupport::kNone; + if ((true)) return network::mojom::AttributionSupport::kNone;
switch (state) { switch (state) {
case AttributionReportingOsApiState::kDisabled: case AttributionReportingOsApiState::kDisabled:
return network::mojom::AttributionSupport::kWeb; return network::mojom::AttributionSupport::kWeb;
@@ -561,13 +562,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed( @@ -559,17 +560,17 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin, const url::Origin* destination_origin,
const url::Origin* reporting_origin, const url::Origin* reporting_origin,
bool* can_bypass) { bool* can_bypass) {
@@ -743,18 +743,14 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
+ return false; + return false;
} }
ContentBrowserClient::AttributionReportingOsRegistrars bool ContentBrowserClient::ShouldUseOsWebSourceAttributionReporting(
ContentBrowserClient::GetAttributionReportingOsRegistrars( content::RenderFrameHost* rfh) {
WebContents* web_contents) { - return true;
- return {AttributionReportType::kWeb, AttributionReportType::kWeb}; + return false;
+ return {AttributionReportType::kDisabled, AttributionReportType::kDisabled};
} }
bool ContentBrowserClient::IsAttributionReportingAllowedForContext( bool ContentBrowserClient::ShouldUseOsWebTriggerAttributionReporting(
@@ -575,7 +576,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext( content::RenderFrameHost* rfh) {
content::RenderFrameHost* rfh,
const url::Origin& context_origin,
const url::Origin& reporting_origin) {
- return true; - return true;
+ return false; + return false;
} }
@@ -836,7 +832,7 @@ diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
--- a/third_party/blink/renderer/core/page/page.cc --- a/third_party/blink/renderer/core/page/page.cc
+++ b/third_party/blink/renderer/core/page/page.cc +++ b/third_party/blink/renderer/core/page/page.cc
@@ -1412,7 +1412,7 @@ void Page::UpdateBrowsingContextGroup( @@ -1352,7 +1352,7 @@ void Page::UpdateBrowsingContextGroup(
void Page::SetAttributionSupport( void Page::SetAttributionSupport(
network::mojom::AttributionSupport attribution_support) { network::mojom::AttributionSupport attribution_support) {
+1 -1
View File
@@ -11,7 +11,7 @@ Subject: Disable crash reporting
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc 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 --- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2556,15 +2556,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( @@ -2509,15 +2509,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
base::NumberToString(pid)); base::NumberToString(pid));
} }
#endif #endif
+2 -2
View File
@@ -17,7 +17,7 @@ diff --git a/third_party/blink/renderer/core/loader/ping_loader.cc b/third_party
if (!frame->DomWindow() if (!frame->DomWindow()
->GetContentSecurityPolicyForWorld(&state.World()) ->GetContentSecurityPolicyForWorld(&state.World())
->AllowConnectToSource(url, url, RedirectStatus::kNoRedirect)) { ->AllowConnectToSource(url, url, RedirectStatus::kNoRedirect)) {
@@ -107,6 +108,7 @@ bool SendBeaconCommon(const ScriptState& state, @@ -103,6 +104,7 @@ bool SendBeaconCommon(const ScriptState& state,
void PingLoader::SendLinkAuditPing(LocalFrame* frame, void PingLoader::SendLinkAuditPing(LocalFrame* frame,
const KURL& ping_url, const KURL& ping_url,
const KURL& destination_url) { const KURL& destination_url) {
@@ -25,7 +25,7 @@ diff --git a/third_party/blink/renderer/core/loader/ping_loader.cc b/third_party
if (!ping_url.ProtocolIsInHTTPFamily()) if (!ping_url.ProtocolIsInHTTPFamily())
return; return;
@@ -147,6 +149,7 @@ void PingLoader::SendLinkAuditPing(LocalFrame* frame, @@ -140,6 +142,7 @@ void PingLoader::SendLinkAuditPing(LocalFrame* frame,
void PingLoader::SendViolationReport(ExecutionContext* execution_context, void PingLoader::SendViolationReport(ExecutionContext* execution_context,
const KURL& report_url, const KURL& report_url,
scoped_refptr<EncodedFormData> report) { scoped_refptr<EncodedFormData> report) {
@@ -7,14 +7,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/prefs/browser_prefs.cc | 4 ++-- chrome/browser/prefs/browser_prefs.cc | 4 ++--
components/feed/core/common/pref_names.cc | 13 +------------ components/feed/core/common/pref_names.cc | 13 +------------
components/feed/core/shared_prefs/pref_names.cc | 2 +- components/feed/core/shared_prefs/pref_names.cc | 2 +-
components/feed/feed_feature_list.cc | 3 +++ components/feed/feed_feature_list.cc | 2 ++
4 files changed, 7 insertions(+), 15 deletions(-) 4 files changed, 6 insertions(+), 15 deletions(-)
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc
@@ -1925,10 +1925,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, @@ -1840,10 +1840,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
ChromeRLZTrackerDelegate::RegisterProfilePrefs(registry); supervised_user::RegisterProfilePrefs(registry);
#endif #endif
-#if BUILDFLAG(ENABLE_FEED_V2) -#if BUILDFLAG(ENABLE_FEED_V2)
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/components/feed/core/common/pref_names.cc b/components/feed/core/common/pref_names.cc diff --git a/components/feed/core/common/pref_names.cc b/components/feed/core/common/pref_names.cc
--- a/components/feed/core/common/pref_names.cc --- a/components/feed/core/common/pref_names.cc
+++ b/components/feed/core/common/pref_names.cc +++ b/components/feed/core/common/pref_names.cc
@@ -107,18 +107,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { @@ -105,18 +105,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
} }
void MigrateObsoleteProfilePrefsOct_2022(PrefService* prefs) { void MigrateObsoleteProfilePrefsOct_2022(PrefService* prefs) {
@@ -64,17 +64,11 @@ diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/c
diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
--- a/components/feed/feed_feature_list.cc --- a/components/feed/feed_feature_list.cc
+++ b/components/feed/feed_feature_list.cc +++ b/components/feed/feed_feature_list.cc
@@ -151,9 +151,12 @@ BASE_FEATURE(kFeedContainment, @@ -164,4 +164,6 @@ BASE_FEATURE(kRefreshFeedOnRestart,
"RefreshFeedOnRestart",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
bool IsWebFeedEnabledForLocale(const std::string& country) {
+ if ((true)) return false;
const std::vector<std::string> launched_countries = {"AU", "CA", "GB",
"NZ", "US", "ZA"};
return base::Contains(launched_countries, country);
}
+SET_CROMITE_FEATURE_DISABLED(kInterestFeedV2); +SET_CROMITE_FEATURE_DISABLED(kInterestFeedV2);
+ +SET_CROMITE_FEATURE_DISABLED(kWebFeed);
} // namespace feed } // namespace feed
-- --
@@ -7,8 +7,7 @@ Disable reporting of Omnibox suggestions header.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../origin_trials_component_loader.cc | 1 + android_webview/common/aw_features.cc | 4 +--
android_webview/common/aw_content_client.cc | 2 ++
android_webview/nonembedded/BUILD.gn | 2 -- android_webview/nonembedded/BUILD.gn | 2 --
...eddedFastVariationsSeedSafeModeAction.java | 2 -- ...eddedFastVariationsSeedSafeModeAction.java | 2 --
...SafeModeVariationsSeedContentProvider.java | 5 --- ...SafeModeVariationsSeedContentProvider.java | 5 ---
@@ -28,32 +27,23 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../variations_render_thread_observer.cc | 9 ----- .../variations_render_thread_observer.cc | 9 -----
.../Disable-fetching-of-all-field-trials.inc | 1 + .../Disable-fetching-of-all-field-trials.inc | 1 +
.../renderer/core/loader/document_loader.cc | 7 ---- .../renderer/core/loader/document_loader.cc | 7 ----
21 files changed, 29 insertions(+), 89 deletions(-) 20 files changed, 28 insertions(+), 91 deletions(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-fetching-of-all-field-trials.inc create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-fetching-of-all-field-trials.inc
diff --git a/android_webview/browser/component_updater/origin_trials_component_loader.cc b/android_webview/browser/component_updater/origin_trials_component_loader.cc diff --git a/android_webview/common/aw_features.cc b/android_webview/common/aw_features.cc
--- a/android_webview/browser/component_updater/origin_trials_component_loader.cc --- a/android_webview/common/aw_features.cc
+++ b/android_webview/browser/component_updater/origin_trials_component_loader.cc +++ b/android_webview/common/aw_features.cc
@@ -14,6 +14,7 @@ namespace android_webview { @@ -113,8 +113,8 @@ BASE_FEATURE(kWebViewJavaJsBridgeMojo,
void LoadOriginTrialsComponent( // Field trial feature for controlling support of Origin Trials on WebView.
component_updater::ComponentLoaderPolicyVector& policies) { BASE_FEATURE(kWebViewOriginTrials,
+ if ((true)) return; - "WebViewOriginTrials",
policies.push_back(std::make_unique<OriginTrialsComponentLoaderPolicy>()); - base::FEATURE_ENABLED_BY_DEFAULT);
} + "WebViewOriginTrials", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
diff --git a/android_webview/common/aw_content_client.cc b/android_webview/common/aw_content_client.cc // Whether to record size of the embedding app's data directory to the UMA
--- a/android_webview/common/aw_content_client.cc // histogram Android.WebView.AppDataDirectorySize.
+++ b/android_webview/common/aw_content_client.cc
@@ -113,6 +113,8 @@ void AwContentClient::ExposeInterfacesToBrowser(
}
blink::OriginTrialPolicy* AwContentClient::GetOriginTrialPolicy() {
+ if ((true)) return nullptr;
+
// Prevent initialization race (see crbug.com/721144). There may be a
// race when the policy is needed for worker startup (which happens on a
// separate worker thread).
diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn
--- a/android_webview/nonembedded/BUILD.gn --- a/android_webview/nonembedded/BUILD.gn
+++ b/android_webview/nonembedded/BUILD.gn +++ b/android_webview/nonembedded/BUILD.gn
@@ -152,7 +142,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc
--- a/components/ukm/ukm_recorder_impl.cc --- a/components/ukm/ukm_recorder_impl.cc
+++ b/components/ukm/ukm_recorder_impl.cc +++ b/components/ukm/ukm_recorder_impl.cc
@@ -190,6 +190,9 @@ std::string WebFeaturesToStringForDebug( @@ -164,6 +164,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
UkmRecorderImpl::UkmRecorderImpl() UkmRecorderImpl::UkmRecorderImpl()
: sampling_seed_(static_cast<uint32_t>(base::RandUint64())) { : sampling_seed_(static_cast<uint32_t>(base::RandUint64())) {
@@ -177,7 +167,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
--- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java --- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
+++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java +++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
@@ -469,39 +469,13 @@ public class VariationsSeedFetcher { @@ -468,39 +468,13 @@ public class VariationsSeedFetcher {
*/ */
public void fetchSeed(String restrictMode, String milestone, String channel) { public void fetchSeed(String restrictMode, String milestone, String channel) {
assert !ThreadUtils.runningOnUiThread(); assert !ThreadUtils.runningOnUiThread();
@@ -221,7 +211,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
} }
private void recordFetchResultOrCode(int resultOrCode) { private void recordFetchResultOrCode(int resultOrCode) {
@@ -553,7 +527,7 @@ public class VariationsSeedFetcher { @@ -552,7 +526,7 @@ public class VariationsSeedFetcher {
* @param curSeedInfo optional currently saved seed info to set the `If-None-Match` header. * @param curSeedInfo optional currently saved seed info to set the `If-None-Match` header.
* @return the object holds the request result and seed data with its related header fields. * @return the object holds the request result and seed data with its related header fields.
*/ */
@@ -367,9 +357,9 @@ diff --git a/content/browser/loader/url_loader_throttles.cc b/content/browser/lo
diff --git a/content/browser/origin_trials/origin_trials_utils.cc b/content/browser/origin_trials/origin_trials_utils.cc diff --git a/content/browser/origin_trials/origin_trials_utils.cc b/content/browser/origin_trials/origin_trials_utils.cc
--- a/content/browser/origin_trials/origin_trials_utils.cc --- a/content/browser/origin_trials/origin_trials_utils.cc
+++ b/content/browser/origin_trials/origin_trials_utils.cc +++ b/content/browser/origin_trials/origin_trials_utils.cc
@@ -15,7 +15,7 @@ namespace { @@ -14,7 +14,7 @@ namespace {
std::vector<std::string> GetHeaderValues( std::vector<std::string> GetHeaderValues(
std::string_view header_name, base::StringPiece header_name,
const net::HttpResponseHeaders* headers) { const net::HttpResponseHeaders* headers) {
- if (!headers) { - if (!headers) {
+ if ((true)) { + if ((true)) {
+2 -2
View File
@@ -55,9 +55,9 @@ diff --git a/third_party/blink/renderer/modules/idle/idle_detector.idl b/third_p
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2081,6 +2081,11 @@ @@ -2054,6 +2054,11 @@
name: "HTMLUnsafeMethods", name: "HTMLUnsafeMethods",
status: "stable", status: "experimental",
}, },
+ { + {
+ name: "IdleDetection", // disabled + name: "IdleDetection", // disabled
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
--- a/components/omnibox/common/omnibox_features.cc --- a/components/omnibox/common/omnibox_features.cc
+++ b/components/omnibox/common/omnibox_features.cc +++ b/components/omnibox/common/omnibox_features.cc
@@ -420,8 +420,8 @@ BASE_FEATURE(kOmniboxModernizeVisualUpdate, @@ -434,8 +434,8 @@ BASE_FEATURE(kOmniboxModernizeVisualUpdate,
// used, on non-Android platforms this is controlled through the // used, on non-Android platforms this is controlled through the
// ChromeRefresh2023 flag. // ChromeRefresh2023 flag.
BASE_FEATURE(kUpdatedConnectionSecurityIndicators, BASE_FEATURE(kUpdatedConnectionSecurityIndicators,
@@ -23,7 +23,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
if (!base::FeatureList::IsEnabled(kMediaRouter)) if (!base::FeatureList::IsEnabled(kMediaRouter))
return false; return false;
@@ -148,7 +149,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { @@ -147,7 +148,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterStringPref(prefs::kMediaRouterReceiverIdHashToken, "", registry->RegisterStringPref(prefs::kMediaRouterReceiverIdHashToken, "",
PrefRegistry::PUBLIC); PrefRegistry::PUBLIC);
registry->RegisterBooleanPref( registry->RegisterBooleanPref(
@@ -32,7 +32,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
registry->RegisterBooleanPref( registry->RegisterBooleanPref(
media_router::prefs::kMediaRouterShowCastSessionsStartedByOtherDevices, media_router::prefs::kMediaRouterShowCastSessionsStartedByOtherDevices,
true); true);
@@ -219,4 +220,7 @@ std::optional<base::TimeDelta> GetCastMirroringPlayoutDelay() { @@ -218,4 +219,7 @@ std::optional<base::TimeDelta> GetCastMirroringPlayoutDelay() {
#endif // !BUILDFLAG(IS_ANDROID) #endif // !BUILDFLAG(IS_ANDROID)
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc --- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc
@@ -421,7 +421,7 @@ void ProfileImpl::RegisterProfilePrefs( @@ -425,7 +425,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif #endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false); registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
@@ -55,7 +55,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc --- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc
@@ -578,6 +578,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( @@ -586,6 +586,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
WebRuntimeFeatures::EnableBackForwardCache( WebRuntimeFeatures::EnableBackForwardCache(
content::IsBackForwardCacheEnabled()); content::IsBackForwardCacheEnabled());
@@ -79,7 +79,7 @@ diff --git a/third_party/blink/renderer/modules/remoteplayback/remote_playback.c
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -3180,14 +3180,10 @@ @@ -3086,14 +3086,10 @@
base_feature: "none", base_feature: "none",
}, },
{ {
@@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
--- a/components/endpoint_fetcher/endpoint_fetcher.cc --- a/components/endpoint_fetcher/endpoint_fetcher.cc
+++ b/components/endpoint_fetcher/endpoint_fetcher.cc +++ b/components/endpoint_fetcher/endpoint_fetcher.cc
@@ -369,7 +369,7 @@ void EndpointFetcher::OnResponseFetched( @@ -367,7 +367,7 @@ void EndpointFetcher::OnResponseFetched(
} }
} else { } else {
std::string net_error = net::ErrorToString(net_error_code); std::string net_error = net::ErrorToString(net_error_code);
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc 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 --- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -2187,9 +2187,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { @@ -2147,9 +2147,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
} }
PluginData* LocalFrame::GetPluginData() const { PluginData* LocalFrame::GetPluginData() const {
@@ -13,7 +13,7 @@ This feature can be used for fingerprinting as it exposes a user preference
diff --git a/third_party/blink/renderer/core/css/media_query_exp.cc b/third_party/blink/renderer/core/css/media_query_exp.cc diff --git a/third_party/blink/renderer/core/css/media_query_exp.cc b/third_party/blink/renderer/core/css/media_query_exp.cc
--- a/third_party/blink/renderer/core/css/media_query_exp.cc --- a/third_party/blink/renderer/core/css/media_query_exp.cc
+++ b/third_party/blink/renderer/core/css/media_query_exp.cc +++ b/third_party/blink/renderer/core/css/media_query_exp.cc
@@ -115,7 +115,8 @@ static inline bool FeatureWithValidIdent(const String& media_feature, @@ -114,7 +114,8 @@ static inline bool FeatureWithValidIdent(const String& media_feature,
ident == CSSValueID::kLess || ident == CSSValueID::kCustom; ident == CSSValueID::kLess || ident == CSSValueID::kCustom;
} }
@@ -26,7 +26,7 @@ diff --git a/third_party/blink/renderer/core/css/media_query_exp.cc b/third_part
diff --git a/third_party/blink/renderer/core/css/parser/media_query_parser.cc b/third_party/blink/renderer/core/css/parser/media_query_parser.cc diff --git a/third_party/blink/renderer/core/css/parser/media_query_parser.cc b/third_party/blink/renderer/core/css/parser/media_query_parser.cc
--- a/third_party/blink/renderer/core/css/parser/media_query_parser.cc --- a/third_party/blink/renderer/core/css/parser/media_query_parser.cc
+++ b/third_party/blink/renderer/core/css/parser/media_query_parser.cc +++ b/third_party/blink/renderer/core/css/parser/media_query_parser.cc
@@ -80,8 +80,8 @@ class MediaQueryFeatureSet : public MediaQueryParser::FeatureSet { @@ -79,8 +79,8 @@ class MediaQueryFeatureSet : public MediaQueryParser::FeatureSet {
RuntimeEnabledFeatures::CSSUpdateMediaFeatureEnabled()) || RuntimeEnabledFeatures::CSSUpdateMediaFeatureEnabled()) ||
(feature == media_feature_names::kPrefersReducedDataMediaFeature && (feature == media_feature_names::kPrefersReducedDataMediaFeature &&
RuntimeEnabledFeatures::PrefersReducedDataEnabled()) || RuntimeEnabledFeatures::PrefersReducedDataEnabled()) ||
@@ -51,7 +51,7 @@ diff --git a/third_party/blink/renderer/core/preferences/preference_manager.idl
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -3033,7 +3033,11 @@ @@ -2945,7 +2945,11 @@
settable_from_internals: true, settable_from_internals: true,
}, },
{ {
@@ -5,8 +5,6 @@ Subject: Disable privacy issues in password manager
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
--- ---
chrome/android/java/AndroidManifest.xml | 9 --------- chrome/android/java/AndroidManifest.xml | 9 ---------
...sword_store_android_backend_dispatcher_bridge_impl.cc | 1 +
.../android/password_store_android_local_backend.cc | 2 +-
.../generated_password_leak_detection_pref.cc | 3 +-- .../generated_password_leak_detection_pref.cc | 3 +--
.../affiliations/core/browser/affiliation_backend.cc | 1 + .../affiliations/core/browser/affiliation_backend.cc | 1 +
.../core/browser/affiliation_service_impl.cc | 4 ++++ .../core/browser/affiliation_service_impl.cc | 4 ++++
@@ -14,12 +12,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../core/browser/features/password_features.cc | 4 ++++ .../core/browser/features/password_features.cc | 4 ++++
.../leak_detection/leak_detection_check_factory_impl.cc | 5 +++++ .../leak_detection/leak_detection_check_factory_impl.cc | 5 +++++
.../browser/leak_detection/leak_detection_check_impl.cc | 4 +--- .../browser/leak_detection/leak_detection_check_impl.cc | 4 +---
10 files changed, 22 insertions(+), 15 deletions(-) 8 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml --- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml +++ b/chrome/android/java/AndroidManifest.xml
@@ -453,15 +453,6 @@ by a child template that "extends" this file. @@ -450,15 +450,6 @@ by a child template that "extends" this file.
</intent-filter> </intent-filter>
</receiver> </receiver>
@@ -35,29 +33,6 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<!-- Upgrade related --> <!-- Upgrade related -->
<receiver android:name="org.chromium.chrome.browser.upgrade.PackageReplacedBroadcastReceiver" <receiver android:name="org.chromium.chrome.browser.upgrade.PackageReplacedBroadcastReceiver"
android:exported="false"> android:exported="false">
diff --git a/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc b/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc
--- a/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc
+++ b/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc
@@ -66,6 +66,7 @@ bool PasswordStoreAndroidBackendDispatcherBridge::
bool PasswordStoreAndroidBackendDispatcherBridge::
CanUseGetAllLoginsWithBrandingInfoAPI() {
+ if ((true)) return false;
base::android::BuildInfo* info = base::android::BuildInfo::GetInstance();
int current_gms_core_version;
if (!base::StringToInt(info->gms_version_code(), &current_gms_core_version)) {
diff --git a/chrome/browser/password_manager/android/password_store_android_local_backend.cc b/chrome/browser/password_manager/android/password_store_android_local_backend.cc
--- a/chrome/browser/password_manager/android/password_store_android_local_backend.cc
+++ b/chrome/browser/password_manager/android/password_store_android_local_backend.cc
@@ -37,7 +37,7 @@ PasswordStoreAndroidLocalBackend::PasswordStoreAndroidLocalBackend(
// AccountBackend doesn't call `DisablePrefetching` when sync is turned off.
// This is why we have to explicitly call it here whenever local GMSCore is
// created.
- affiliations_prefetcher->DisablePrefetching();
+ if ((true)) affiliations_prefetcher->DisablePrefetching();
}
PasswordStoreAndroidLocalBackend::~PasswordStoreAndroidLocalBackend() = default;
diff --git a/chrome/browser/password_manager/generated_password_leak_detection_pref.cc b/chrome/browser/password_manager/generated_password_leak_detection_pref.cc diff --git a/chrome/browser/password_manager/generated_password_leak_detection_pref.cc b/chrome/browser/password_manager/generated_password_leak_detection_pref.cc
--- a/chrome/browser/password_manager/generated_password_leak_detection_pref.cc --- a/chrome/browser/password_manager/generated_password_leak_detection_pref.cc
+++ b/chrome/browser/password_manager/generated_password_leak_detection_pref.cc +++ b/chrome/browser/password_manager/generated_password_leak_detection_pref.cc
@@ -85,7 +60,7 @@ diff --git a/components/affiliations/core/browser/affiliation_backend.cc b/compo
diff --git a/components/affiliations/core/browser/affiliation_service_impl.cc b/components/affiliations/core/browser/affiliation_service_impl.cc diff --git a/components/affiliations/core/browser/affiliation_service_impl.cc b/components/affiliations/core/browser/affiliation_service_impl.cc
--- a/components/affiliations/core/browser/affiliation_service_impl.cc --- a/components/affiliations/core/browser/affiliation_service_impl.cc
+++ b/components/affiliations/core/browser/affiliation_service_impl.cc +++ b/components/affiliations/core/browser/affiliation_service_impl.cc
@@ -128,6 +128,10 @@ void AffiliationServiceImpl::Shutdown() { @@ -127,6 +127,10 @@ void AffiliationServiceImpl::Shutdown() {
void AffiliationServiceImpl::PrefetchChangePasswordURLs( void AffiliationServiceImpl::PrefetchChangePasswordURLs(
const std::vector<GURL>& urls, const std::vector<GURL>& urls,
base::OnceClosure callback) { base::OnceClosure callback) {
@@ -113,9 +88,9 @@ diff --git a/components/affiliations/core/browser/facet_manager.cc b/components/
diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc 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 --- a/components/password_manager/core/browser/features/password_features.cc
+++ b/components/password_manager/core/browser/features/password_features.cc +++ b/components/password_manager/core/browser/features/password_features.cc
@@ -194,4 +194,8 @@ BASE_FEATURE(kUsernameFirstFlowWithIntermediateValuesVoting, @@ -176,4 +176,8 @@ BASE_FEATURE(kUseGMSCoreForBrandingInfo,
"UsernameFirstFlowWithIntermediateValuesVoting", base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT); #endif
+SET_CROMITE_FEATURE_ENABLED(kFillOnAccountSelect); +SET_CROMITE_FEATURE_ENABLED(kFillOnAccountSelect);
+SET_CROMITE_FEATURE_DISABLED(kPasswordManagerEnableReceiverService); +SET_CROMITE_FEATURE_DISABLED(kPasswordManagerEnableReceiverService);
@@ -26,7 +26,7 @@ diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_p
diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stream_factory_job_controller.cc diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stream_factory_job_controller.cc
--- a/net/http/http_stream_factory_job_controller.cc --- a/net/http/http_stream_factory_job_controller.cc
+++ b/net/http/http_stream_factory_job_controller.cc +++ b/net/http/http_stream_factory_job_controller.cc
@@ -1259,11 +1259,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( @@ -1256,11 +1256,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
// single user on a multi-user system to hijack the alternate protocol. // single user on a multi-user system to hijack the alternate protocol.
// These systems also enforce ports <1024 as restricted ports. So don't // These systems also enforce ports <1024 as restricted ports. So don't
// allow protocol upgrades to user-controllable ports. // allow protocol upgrades to user-controllable ports.
@@ -39,7 +39,7 @@ diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stre
continue; continue;
} }
@@ -1307,8 +1303,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( @@ -1305,8 +1301,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
GURL destination = CreateAltSvcUrl( GURL destination = CreateAltSvcUrl(
original_url, alternative_service_info.host_port_pair()); original_url, alternative_service_info.host_port_pair());
@@ -52,7 +52,7 @@ diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stre
diff --git a/net/quic/quic_context.h b/net/quic/quic_context.h diff --git a/net/quic/quic_context.h b/net/quic/quic_context.h
--- a/net/quic/quic_context.h --- a/net/quic/quic_context.h
+++ b/net/quic/quic_context.h +++ b/net/quic/quic_context.h
@@ -185,7 +185,7 @@ struct NET_EXPORT QuicParams { @@ -186,7 +186,7 @@ struct NET_EXPORT QuicParams {
bool allow_server_migration = false; bool allow_server_migration = false;
// If true, allows QUIC to use alternative services with a different // If true, allows QUIC to use alternative services with a different
// hostname from the origin. // hostname from the origin.
+26 -27
View File
@@ -4,55 +4,55 @@ Subject: Disable safety check
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/BUILD.gn | 5 ----- chrome/android/BUILD.gn | 5 -----
chrome/android/chrome_java_sources.gni | 1 - chrome/android/chrome_java_sources.gni | 1 -
chrome/android/java/res/xml/main_preferences.xml | 5 ----- chrome/android/java/res/xml/main_preferences.xml | 5 -----
.../browser/settings/SettingsActivity.java | 16 ---------------- .../chrome/browser/settings/SettingsActivity.java | 15 ---------------
.../browser/settings/SettingsLauncherImpl.java | 5 +---- .../browser/settings/SettingsLauncherImpl.java | 5 +----
chrome/browser/BUILD.gn | 1 - chrome/browser/BUILD.gn | 1 -
.../omnibox/suggestions/action/OmniboxPedal.java | 3 --- .../omnibox/suggestions/action/OmniboxPedal.java | 3 ---
7 files changed, 1 insertion(+), 35 deletions(-) 7 files changed, 1 insertion(+), 34 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn
@@ -437,7 +437,6 @@ if (current_toolchain == default_toolchain) { @@ -401,7 +401,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/recent_tabs:helper_java", "//chrome/browser/recent_tabs:helper_java",
"//chrome/browser/recent_tabs:java", "//chrome/browser/recent_tabs:java",
"//chrome/browser/safe_browsing/android:java", "//chrome/browser/safe_browsing/android:java",
- "//chrome/browser/safety_check/android:java", - "//chrome/browser/safety_check/android:java",
"//chrome/browser/safety_hub/android:java",
"//chrome/browser/screenshot_monitor:java", "//chrome/browser/screenshot_monitor:java",
"//chrome/browser/search_engines/android:java", "//chrome/browser/search_engines/android:java",
@@ -1095,8 +1094,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/search_resumption:java",
@@ -1039,8 +1038,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/recent_tabs:java", "//chrome/browser/recent_tabs:java",
"//chrome/browser/recent_tabs:junit", "//chrome/browser/recent_tabs:junit",
"//chrome/browser/recent_tabs/internal:junit", "//chrome/browser/recent_tabs/internal:junit",
- "//chrome/browser/safety_check/android:java", - "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:junit", - "//chrome/browser/safety_check/android:junit",
"//chrome/browser/safety_hub/android:java",
"//chrome/browser/safety_hub/android:junit",
"//chrome/browser/screenshot_monitor:java", "//chrome/browser/screenshot_monitor:java",
@@ -1732,8 +1729,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/search_engines/android:java",
"//chrome/browser/search_engines/android:junit",
@@ -1661,8 +1658,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/quick_delete:javatests", "//chrome/browser/quick_delete:javatests",
"//chrome/browser/safe_browsing/android:java", "//chrome/browser/safe_browsing/android:java",
"//chrome/browser/safe_browsing/android:javatests", "//chrome/browser/safe_browsing/android:javatests",
- "//chrome/browser/safety_check/android:java", - "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:javatests", - "//chrome/browser/safety_check/android:javatests",
"//chrome/browser/safety_hub/android:java",
"//chrome/browser/screenshot_monitor:java", "//chrome/browser/screenshot_monitor:java",
"//chrome/browser/search_engines/android:java", "//chrome/browser/search_engines/android:java",
"//chrome/browser/segmentation_platform:javatests",
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni
@@ -1011,7 +1011,6 @@ chrome_java_sources = [ @@ -1009,7 +1009,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java", "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java",
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java", "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java",
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsLauncher.java", "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsLauncher.java",
- "java/src/org/chromium/chrome/browser/safety_check/SafetyCheckUpdatesDelegateImpl.java", - "java/src/org/chromium/chrome/browser/safety_check/SafetyCheckUpdatesDelegateImpl.java",
"java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java", "java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java",
"java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java", "java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java",
"java/src/org/chromium/chrome/browser/searchwidget/SearchActivityTabDelegateFactory.java", "java/src/org/chromium/chrome/browser/searchwidget/SearchBoxDataProvider.java",
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml 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 --- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -66,12 +66,12 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
- android:order="13" - android:order="13"
- android:title="@string/prefs_safety_check"/> - android:title="@string/prefs_safety_check"/>
<Preference <Preference
android:fragment="org.chromium.chrome.browser.safety_hub.SafetyHubFragment" android:fragment="org.chromium.chrome.browser.settings.AdBlockPreferences"
android:key="safety_hub" android:key="adblock"
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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -69,10 +69,6 @@ import org.chromium.chrome.browser.profiles.Profile; @@ -66,10 +66,6 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.browser.profiles.ProfileManagerUtils; import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
import org.chromium.chrome.browser.safe_browsing.settings.SafeBrowsingSettingsFragmentBase; import org.chromium.chrome.browser.safe_browsing.settings.SafeBrowsingSettingsFragmentBase;
@@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings; import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl; import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate; import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
@@ -538,18 +534,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity @@ -535,17 +531,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
baseSiteSettingsFragment.setCustomTabIntentHelper( baseSiteSettingsFragment.setCustomTabIntentHelper(
LaunchIntentDispatcher::createCustomTabActivityIntent); LaunchIntentDispatcher::createCustomTabActivityIntent);
} }
@@ -95,8 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
- SyncConsentActivityLauncherImpl.get(), - SyncConsentActivityLauncherImpl.get(),
- getModalDialogManagerSupplier(), - getModalDialogManagerSupplier(),
- SyncServiceFactory.getForProfile(mProfile), - SyncServiceFactory.getForProfile(mProfile),
- UserPrefs.get(mProfile), - UserPrefs.get(mProfile));
- PasswordManagerHelper.getForProfile(mProfile));
- } - }
if (fragment instanceof PasswordCheckFragmentView) { if (fragment instanceof PasswordCheckFragmentView) {
PasswordCheckComponentUiFactory.create( PasswordCheckComponentUiFactory.create(
@@ -104,14 +103,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java
@@ -18,7 +18,6 @@ import org.chromium.chrome.browser.autofill.settings.AutofillPaymentMethodsFragm @@ -17,7 +17,6 @@ import org.chromium.chrome.browser.autofill.settings.AutofillPaymentMethodsFragm
import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragment; import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragment;
import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragmentAdvanced; import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragmentAdvanced;
import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataTabsFragment; import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataTabsFragment;
-import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment; -import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
import org.chromium.components.browser_ui.settings.SettingsLauncher; import org.chromium.components.browser_ui.settings.SettingsLauncher;
import org.chromium.components.browser_ui.site_settings.SiteSettings; import org.chromium.components.browser_ui.site_settings.SiteSettings;
@@ -56,9 +55,7 @@ public class SettingsLauncherImpl implements SettingsLauncher { @@ -56,9 +55,7 @@ public class SettingsLauncherImpl implements SettingsLauncher {
break; break;
@@ -126,14 +125,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -3550,7 +3550,6 @@ static_library("browser") { @@ -3482,7 +3482,6 @@ static_library("browser") {
"//chrome/browser/reading_list/android", "//chrome/browser/reading_list/android",
"//chrome/browser/recent_tabs:jni_headers", "//chrome/browser/recent_tabs:jni_headers",
"//chrome/browser/safe_browsing/android:safe_browsing_enums", "//chrome/browser/safe_browsing/android:safe_browsing_enums",
- "//chrome/browser/safety_check/android", - "//chrome/browser/safety_check/android",
"//chrome/browser/safety_hub/android",
"//chrome/browser/search_resumption:jni_headers", "//chrome/browser/search_resumption:jni_headers",
"//chrome/browser/signin/services/android:jni_headers", "//chrome/browser/signin/services/android:jni_headers",
"//chrome/browser/sync/android:jni_headers",
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
@@ -44,7 +44,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearc
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -186,6 +186,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { @@ -183,6 +183,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTEmbedderSpecialBehaviorTrigger, &kCCTEmbedderSpecialBehaviorTrigger,
&kCCTExtendTrustedCdnPublisher, &kCCTExtendTrustedCdnPublisher,
&kCCTFeatureUsage, &kCCTFeatureUsage,
@@ -55,18 +55,18 @@ 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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -227,6 +227,7 @@ public abstract class ChromeFeatureList { @@ -220,6 +220,7 @@ public abstract class ChromeFeatureList {
public static final String CCT_MINIMIZED_ENABLED_BY_DEFAULT = "CCTMinimizedEnabledByDefault"; public static final String CCT_MINIMIZED_ENABLED_BY_DEFAULT = "CCTMinimizedEnabledByDefault";
public static final String CCT_INTENT_FEATURE_OVERRIDES = "CCTIntentFeatureOverrides"; public static final String CCT_INTENT_FEATURE_OVERRIDES = "CCTIntentFeatureOverrides";
public static final String CCT_PAGE_INSIGHTS_HUB = "CCTPageInsightsHub"; public static final String CCT_PAGE_INSIGHTS_HUB = "CCTPageInsightsHub";
+ public static final String CHROME_SMART_SELECTION = "ChromeSmartSelection"; + public static final String CHROME_SMART_SELECTION = "ChromeSmartSelection";
public static final String CCT_PAGE_INSIGHTS_HUB_BETTER_SCROLL = public static final String CCT_PAGE_INSIGHTS_HUB_BETTER_SCROLL =
"CCTPageInsightsHubBetterScroll"; "CCTPageInsightsHubBetterScroll";
public static final String CCT_REPORT_PARALLEL_REQUEST_STATUS =
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
@@ -1199,7 +1199,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper @@ -1172,7 +1172,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
public boolean canWebSearch() { public boolean canWebSearch() {
return hasSelection() return hasSelection()
&& !isFocusedNodeEditable() && !isFocusedNodeEditable()
@@ -31,7 +31,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 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 --- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -1631,7 +1631,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient( @@ -1625,7 +1625,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
std::unique_ptr<media::SpeechRecognitionClient> std::unique_ptr<media::SpeechRecognitionClient>
ChromeContentRendererClient::CreateSpeechRecognitionClient( ChromeContentRendererClient::CreateSpeechRecognitionClient(
content::RenderFrame* render_frame) { content::RenderFrame* render_frame) {
@@ -43,7 +43,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
--- a/components/content_settings/renderer/content_settings_agent_impl.cc --- a/components/content_settings/renderer/content_settings_agent_impl.cc
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc +++ b/components/content_settings/renderer/content_settings_agent_impl.cc
@@ -484,6 +484,14 @@ bool ContentSettingsAgentImpl::IsAllowlistedForContentSettingsCromite() const { @@ -473,6 +473,14 @@ bool ContentSettingsAgentImpl::IsAllowlistedForContentSettings() const {
return false; return false;
} }
@@ -58,7 +58,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
bool ContentSettingsAgentImpl::UpdateOverrides() { bool ContentSettingsAgentImpl::UpdateOverrides() {
// Evaluate the content setting rules // Evaluate the content setting rules
ContentSetting setting = CONTENT_SETTING_ALLOW; ContentSetting setting = CONTENT_SETTING_ALLOW;
@@ -494,7 +502,6 @@ bool ContentSettingsAgentImpl::UpdateOverrides() { @@ -483,7 +491,6 @@ bool ContentSettingsAgentImpl::UpdateOverrides() {
} }
return UpdateTimeZoneOverride( return UpdateTimeZoneOverride(
setting, content_setting_rules_->timezone_override_value); setting, content_setting_rules_->timezone_override_value);
@@ -69,7 +69,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h
--- a/components/content_settings/renderer/content_settings_agent_impl.h --- a/components/content_settings/renderer/content_settings_agent_impl.h
+++ b/components/content_settings/renderer/content_settings_agent_impl.h +++ b/components/content_settings/renderer/content_settings_agent_impl.h
@@ -123,6 +123,8 @@ class ContentSettingsAgentImpl @@ -117,6 +117,8 @@ class ContentSettingsAgentImpl
void SetRendererContentSettingRulesForTest( void SetRendererContentSettingRulesForTest(
const RendererContentSettingRules& rules); const RendererContentSettingRules& rules);
@@ -139,7 +139,7 @@ new file mode 100644
diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/third_party/blink/public/platform/web_content_settings_client.h diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/third_party/blink/public/platform/web_content_settings_client.h
--- a/third_party/blink/public/platform/web_content_settings_client.h --- a/third_party/blink/public/platform/web_content_settings_client.h
+++ b/third_party/blink/public/platform/web_content_settings_client.h +++ b/third_party/blink/public/platform/web_content_settings_client.h
@@ -115,6 +115,8 @@ class WebContentSettingsClient { @@ -111,6 +111,8 @@ class WebContentSettingsClient {
// frame. // frame.
virtual bool ShouldAutoupgradeMixedContent() { return true; } virtual bool ShouldAutoupgradeMixedContent() { return true; }
@@ -22,10 +22,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc --- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc +++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
@@ -368,7 +368,7 @@ void PrefsTabHelper::RegisterProfilePrefs( @@ -366,7 +366,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
prefs::kEnableReferrers,
!base::FeatureList::IsEnabled(features::kNoReferrers));
registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true); registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true);
registry->RegisterStringPref(prefs::kPrefixedVideoFullscreenApiAvailability,
"runtime-enabled");
- registry->RegisterBooleanPref(prefs::kScrollToTextFragmentEnabled, true); - registry->RegisterBooleanPref(prefs::kScrollToTextFragmentEnabled, true);
+ registry->RegisterBooleanPref(prefs::kScrollToTextFragmentEnabled, false); + registry->RegisterBooleanPref(prefs::kScrollToTextFragmentEnabled, false);
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
@@ -34,7 +34,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc --- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc
@@ -296,6 +296,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { @@ -306,6 +306,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
#endif #endif
{wf::EnableTouchDragAndContextMenu, {wf::EnableTouchDragAndContextMenu,
raw_ref(features::kTouchDragAndContextMenu)}, raw_ref(features::kTouchDragAndContextMenu)},
@@ -74,9 +74,9 @@ new file mode 100644
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc 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 --- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4684,9 +4684,14 @@ void Document::SetURL(const KURL& url) { @@ -4624,9 +4624,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, TRACE_EVENT1("navigation", "Document::SetURL", "url",
"url", new_url.GetString().Utf8()); new_url.GetString().Utf8());
+ // If text fragment identifiers are enabled, we strip the fragment directive + // If text fragment identifiers are enabled, we strip the fragment directive
+ // from the URL fragment. + // from the URL fragment.
@@ -92,7 +92,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 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -3818,10 +3818,9 @@ @@ -3687,10 +3687,9 @@
}, },
{ {
name: "TextFragmentIdentifiers", name: "TextFragmentIdentifiers",
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/common/aw_content_client.cc b/android_webview/common/aw_content_client.cc diff --git a/android_webview/common/aw_content_client.cc b/android_webview/common/aw_content_client.cc
--- a/android_webview/common/aw_content_client.cc --- a/android_webview/common/aw_content_client.cc
+++ b/android_webview/common/aw_content_client.cc +++ b/android_webview/common/aw_content_client.cc
@@ -126,7 +126,6 @@ blink::OriginTrialPolicy* AwContentClient::GetOriginTrialPolicy() { @@ -127,7 +127,6 @@ blink::OriginTrialPolicy* AwContentClient::GetOriginTrialPolicy() {
// flag to true after construction. This will work because trial token // flag to true after construction. This will work because trial token
// validator will always get the current instance of policy when needed. // validator will always get the current instance of policy when needed.
if (IsDisableOriginTrialsSafeModeActionOn()) { if (IsDisableOriginTrialsSafeModeActionOn()) {
@@ -76,7 +76,7 @@ diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
--- a/content/browser/renderer_host/navigation_request.cc --- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc
@@ -8858,7 +8858,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() { @@ -8686,7 +8686,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() {
void NavigationRequest::ForceEnableOriginTrials( void NavigationRequest::ForceEnableOriginTrials(
const std::vector<std::string>& trials) { const std::vector<std::string>& trials) {
DCHECK(!HasCommitted()); DCHECK(!HasCommitted());
@@ -130,7 +130,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
if (!commit_params.early_hints_preloaded_resources.empty()) { if (!commit_params.early_hints_preloaded_resources.empty()) {
navigation_params->early_hints_preloaded_resources = WebVector<WebURL>(); navigation_params->early_hints_preloaded_resources = WebVector<WebURL>();
for (const auto& resource : commit_params.early_hints_preloaded_resources) { for (const auto& resource : commit_params.early_hints_preloaded_resources) {
@@ -635,11 +625,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( @@ -636,11 +626,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.GetURLRequestExtraData().get()); info->url_request.GetURLRequestExtraData().get());
DCHECK(url_request_extra_data); DCHECK(url_request_extra_data);
@@ -142,7 +142,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
blink::NavigationDownloadPolicy download_policy; blink::NavigationDownloadPolicy download_policy;
download_policy.ApplyDownloadFramePolicy( download_policy.ApplyDownloadFramePolicy(
info->is_opener_navigation, info->url_request.HasUserGesture(), info->is_opener_navigation, info->url_request.HasUserGesture(),
@@ -662,7 +647,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( @@ -663,7 +648,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.HasUserGesture(), info->url_request.HasUserGesture(),
info->url_request.HasTextFragmentToken(), info->url_request.HasTextFragmentToken(),
info->should_check_main_world_content_security_policy, info->should_check_main_world_content_security_policy,
@@ -227,7 +227,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result; return result;
} }
@@ -3033,10 +3020,6 @@ void DocumentLoader::CreateParserPostCommit() { @@ -2936,10 +2923,6 @@ void DocumentLoader::CreateParserPostCommit() {
mojom::blink::OriginTrialFeature::kTouchEventFeatureDetection); mojom::blink::OriginTrialFeature::kTouchEventFeatureDetection);
} }
@@ -253,7 +253,7 @@ diff --git a/third_party/blink/renderer/core/loader/http_equiv.cc b/third_party/
diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
--- a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc --- a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
+++ b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc +++ b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
@@ -315,6 +315,9 @@ void OriginTrialContext::AddToken(const String& token) { @@ -314,6 +314,9 @@ void OriginTrialContext::AddToken(const String& token) {
void OriginTrialContext::AddTokenFromExternalScript( void OriginTrialContext::AddTokenFromExternalScript(
const String& token, const String& token,
const Vector<scoped_refptr<SecurityOrigin>>& external_origins) { const Vector<scoped_refptr<SecurityOrigin>>& external_origins) {
@@ -263,7 +263,7 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.
Vector<OriginInfo> script_origins; Vector<OriginInfo> script_origins;
for (const scoped_refptr<SecurityOrigin>& origin : external_origins) { for (const scoped_refptr<SecurityOrigin>& origin : external_origins) {
OriginInfo origin_info = {.origin = origin, OriginInfo origin_info = {.origin = origin,
@@ -467,8 +470,6 @@ bool OriginTrialContext::InstallSettingFeature( @@ -466,8 +469,6 @@ bool OriginTrialContext::InstallSettingFeature(
} }
void OriginTrialContext::AddFeature(mojom::blink::OriginTrialFeature feature) { void OriginTrialContext::AddFeature(mojom::blink::OriginTrialFeature feature) {
@@ -272,7 +272,7 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.
} }
bool OriginTrialContext::IsFeatureEnabled( bool OriginTrialContext::IsFeatureEnabled(
@@ -512,6 +513,7 @@ void OriginTrialContext::AddForceEnabledTrials( @@ -511,6 +512,7 @@ void OriginTrialContext::AddForceEnabledTrials(
} }
bool OriginTrialContext::CanEnableTrialFromName(const StringView& trial_name) { bool OriginTrialContext::CanEnableTrialFromName(const StringView& trial_name) {
+1 -1
View File
@@ -10,7 +10,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/background_task_scheduler/ChromeBackgroundTaskFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
@@ -68,7 +68,7 @@ public class ChromeBackgroundTaskFactory implements BackgroundTaskFactory { @@ -67,7 +67,7 @@ public class ChromeBackgroundTaskFactory implements BackgroundTaskFactory {
case TaskIds.WEBAPK_UPDATE_JOB_ID: case TaskIds.WEBAPK_UPDATE_JOB_ID:
return new WebApkUpdateTask(); return new WebApkUpdateTask();
case TaskIds.COMPONENT_UPDATE_JOB_ID: case TaskIds.COMPONENT_UPDATE_JOB_ID:
+22 -22
View File
@@ -24,7 +24,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/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
@@ -64,7 +64,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity @@ -63,7 +63,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity
static final String SHOW_SYNC_CONSENT_PAGE = "ShowSyncConsent"; static final String SHOW_SYNC_CONSENT_PAGE = "ShowSyncConsent";
static final String SHOW_HISTORY_SYNC_PAGE = "ShowHistorySync"; static final String SHOW_HISTORY_SYNC_PAGE = "ShowHistorySync";
@@ -36,15 +36,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/browser/android/ntp/most_visited_sites_bridge.cc diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
--- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc --- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc
+++ b/chrome/browser/android/ntp/most_visited_sites_bridge.cc +++ b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
@@ -23,7 +23,6 @@ @@ -26,7 +26,6 @@
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_android.h"
#include "components/favicon_base/favicon_types.h" #include "components/favicon_base/favicon_types.h"
#include "components/history/core/browser/history_service.h" #include "components/history/core/browser/history_service.h"
-#include "components/ntp_tiles/metrics.h" -#include "components/ntp_tiles/metrics.h"
#include "components/ntp_tiles/most_visited_sites.h" #include "components/ntp_tiles/most_visited_sites.h"
#include "components/ntp_tiles/section_type.h" #include "components/ntp_tiles/section_type.h"
#include "ui/gfx/android/java_bitmap.h" #include "ui/gfx/android/java_bitmap.h"
@@ -43,7 +42,6 @@ using ntp_tiles::NTPTilesVector; @@ -46,7 +45,6 @@ using ntp_tiles::NTPTilesVector;
using ntp_tiles::SectionType; using ntp_tiles::SectionType;
using ntp_tiles::TileTitleSource; using ntp_tiles::TileTitleSource;
using ntp_tiles::TileSource; using ntp_tiles::TileSource;
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
namespace { namespace {
@@ -226,7 +224,6 @@ void MostVisitedSitesBridge::RecordPageImpression( @@ -233,7 +231,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj, const JavaParamRef<jobject>& obj,
jint jtiles_count) { jint jtiles_count) {
@@ -60,11 +60,11 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
} }
void MostVisitedSitesBridge::RecordTileImpression( void MostVisitedSitesBridge::RecordTileImpression(
@@ -238,15 +235,6 @@ void MostVisitedSitesBridge::RecordTileImpression( @@ -245,15 +242,6 @@ void MostVisitedSitesBridge::RecordTileImpression(
jint jtitle_source, jint jtitle_source,
jint jsource, jint jsource,
const JavaParamRef<jobject>& jurl) { const JavaParamRef<jobject>& jurl) {
- GURL url = url::GURLAndroid::ToNativeGURL(env, jurl); - std::unique_ptr<GURL> url = url::GURLAndroid::ToNativeGURL(env, jurl);
- TileTitleSource title_source = static_cast<TileTitleSource>(jtitle_source); - TileTitleSource title_source = static_cast<TileTitleSource>(jtitle_source);
- TileSource source = static_cast<TileSource>(jsource); - TileSource source = static_cast<TileSource>(jsource);
- TileVisualType visual_type = static_cast<TileVisualType>(jvisual_type); - TileVisualType visual_type = static_cast<TileVisualType>(jvisual_type);
@@ -72,11 +72,11 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
- static_cast<favicon_base::IconType>(jicon_type); - static_cast<favicon_base::IconType>(jicon_type);
- -
- ntp_tiles::metrics::RecordTileImpression(ntp_tiles::NTPTileImpression( - ntp_tiles::metrics::RecordTileImpression(ntp_tiles::NTPTileImpression(
- jindex, source, title_source, visual_type, icon_type, url)); - jindex, source, title_source, visual_type, icon_type, *url));
} }
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem( void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
@@ -256,11 +244,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem( @@ -263,11 +251,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
jint tile_type, jint tile_type,
jint title_source, jint title_source,
jint source) { jint source) {
@@ -87,11 +87,11 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
- /*url_for_rappor=*/GURL())); - /*url_for_rappor=*/GURL()));
} }
static jlong JNI_MostVisitedSitesBridge_Init(JNIEnv* env, static jlong JNI_MostVisitedSitesBridge_Init(
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc
@@ -1085,7 +1085,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { @@ -1081,7 +1081,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
#endif // BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(IS_CHROMEOS_ASH)
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled, registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
@@ -103,15 +103,15 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc 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 --- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc
@@ -85,7 +85,6 @@ @@ -83,7 +83,6 @@
#include "chrome/browser/history/history_service_factory.h" #include "chrome/browser/hid/chrome_hid_delegate.h"
#include "chrome/browser/interstitials/enterprise_util.h" #include "chrome/browser/interstitials/enterprise_util.h"
#include "chrome/browser/lifetime/browser_shutdown.h" #include "chrome/browser/lifetime/browser_shutdown.h"
-#include "chrome/browser/lookalikes/lookalike_url_navigation_throttle.h" -#include "chrome/browser/lookalikes/lookalike_url_navigation_throttle.h"
#include "chrome/browser/media/audio_service_util.h" #include "chrome/browser/media/audio_service_util.h"
#include "chrome/browser/media/prefs/capture_device_ranking.h" #include "chrome/browser/media/prefs/capture_device_ranking.h"
#include "chrome/browser/media/router/media_router_feature.h" #include "chrome/browser/media/router/media_router_feature.h"
@@ -5035,16 +5034,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( @@ -4908,16 +4907,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) { content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles; std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@@ -125,10 +125,10 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
- page_load_metrics::MetricsNavigationThrottle::Create(handle)); - page_load_metrics::MetricsNavigationThrottle::Create(handle));
- } - }
- -
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_SUPERVISED_USERS)
// TODO(davidben): This is insufficient to integrate with prerender properly. MaybeAddThrottle(
// https://crbug.com/370595 SupervisedUserNavigationThrottle::MaybeCreateThrottleFor(handle),
@@ -5144,10 +5133,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( @@ -5018,10 +5007,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
throttle_manager->MaybeAppendNavigationThrottles(handle, &throttles); throttle_manager->MaybeAppendNavigationThrottles(handle, &throttles);
} }
@@ -142,7 +142,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc --- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc +++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
@@ -93,6 +93,10 @@ BASE_FEATURE(kPostFREFixMetricsReportingFeature, @@ -92,6 +92,10 @@ BASE_FEATURE(kPostFREFixMetricsReportingFeature,
// Name of the variations param that defines the sampling rate. // Name of the variations param that defines the sampling rate.
const char kRateParamName[] = "sampling_rate_per_mille"; const char kRateParamName[] = "sampling_rate_per_mille";
@@ -179,7 +179,7 @@ diff --git a/chrome/browser/ui/search/ntp_user_data_logger.cc b/chrome/browser/u
diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
--- a/components/ntp_tiles/BUILD.gn --- a/components/ntp_tiles/BUILD.gn
+++ b/components/ntp_tiles/BUILD.gn +++ b/components/ntp_tiles/BUILD.gn
@@ -24,8 +24,6 @@ static_library("ntp_tiles") { @@ -23,8 +23,6 @@ static_library("ntp_tiles") {
"icon_cacher.h", "icon_cacher.h",
"icon_cacher_impl.cc", "icon_cacher_impl.cc",
"icon_cacher_impl.h", "icon_cacher_impl.h",
@@ -188,7 +188,7 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
"most_visited_sites.cc", "most_visited_sites.cc",
"most_visited_sites.h", "most_visited_sites.h",
"ntp_tile.cc", "ntp_tile.cc",
@@ -97,7 +95,6 @@ source_set("unit_tests") { @@ -91,7 +89,6 @@ source_set("unit_tests") {
"custom_links_manager_impl_unittest.cc", "custom_links_manager_impl_unittest.cc",
"custom_links_store_unittest.cc", "custom_links_store_unittest.cc",
"icon_cacher_impl_unittest.cc", "icon_cacher_impl_unittest.cc",
@@ -210,7 +210,7 @@ diff --git a/components/ntp_tiles/custom_links_manager_impl.cc b/components/ntp_
diff --git a/components/ntp_tiles/most_visited_sites.cc b/components/ntp_tiles/most_visited_sites.cc diff --git a/components/ntp_tiles/most_visited_sites.cc b/components/ntp_tiles/most_visited_sites.cc
--- a/components/ntp_tiles/most_visited_sites.cc --- a/components/ntp_tiles/most_visited_sites.cc
+++ b/components/ntp_tiles/most_visited_sites.cc +++ b/components/ntp_tiles/most_visited_sites.cc
@@ -721,8 +721,6 @@ void MostVisitedSites::SaveTilesAndNotify( @@ -704,8 +704,6 @@ void MostVisitedSites::SaveTilesAndNotify(
: new_tiles; : new_tiles;
if (fixed_tiles.size() != new_tiles.size()) { if (fixed_tiles.size() != new_tiles.size()) {
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/visitedlink/browser/visitedlink_writer.cc diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/visitedlink/browser/visitedlink_writer.cc
--- a/components/visitedlink/browser/visitedlink_writer.cc --- a/components/visitedlink/browser/visitedlink_writer.cc
+++ b/components/visitedlink/browser/visitedlink_writer.cc +++ b/components/visitedlink/browser/visitedlink_writer.cc
@@ -237,7 +237,7 @@ VisitedLinkWriter::VisitedLinkWriter(content::BrowserContext* browser_context, @@ -235,7 +235,7 @@ VisitedLinkWriter::VisitedLinkWriter(content::BrowserContext* browser_context,
: browser_context_(browser_context), : browser_context_(browser_context),
delegate_(delegate), delegate_(delegate),
listener_(std::make_unique<VisitedLinkEventListener>(browser_context)), listener_(std::make_unique<VisitedLinkEventListener>(browser_context)),
@@ -22,7 +22,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
VisitedLinkWriter::VisitedLinkWriter(Listener* listener, VisitedLinkWriter::VisitedLinkWriter(Listener* listener,
VisitedLinkDelegate* delegate, VisitedLinkDelegate* delegate,
@@ -247,10 +247,10 @@ VisitedLinkWriter::VisitedLinkWriter(Listener* listener, @@ -245,10 +245,10 @@ VisitedLinkWriter::VisitedLinkWriter(Listener* listener,
int32_t default_table_size) int32_t default_table_size)
: delegate_(delegate), : delegate_(delegate),
listener_(listener), listener_(listener),
@@ -35,7 +35,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
DCHECK(listener_); DCHECK(listener_);
} }
@@ -320,6 +320,7 @@ void VisitedLinkWriter::AddURL(const GURL& url, bool update_file) { @@ -318,6 +318,7 @@ void VisitedLinkWriter::AddURL(const GURL& url, bool update_file) {
} }
VisitedLinkWriter::Hash VisitedLinkWriter::TryToAddURL(const GURL& url) { VisitedLinkWriter::Hash VisitedLinkWriter::TryToAddURL(const GURL& url) {
@@ -43,7 +43,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
// Extra check that we are not incognito. This should not happen. // Extra check that we are not incognito. This should not happen.
// TODO(boliu): Move this check to HistoryService when IsOffTheRecord is // TODO(boliu): Move this check to HistoryService when IsOffTheRecord is
// removed from BrowserContext. // removed from BrowserContext.
@@ -1049,7 +1050,6 @@ bool VisitedLinkWriter::RebuildTableFromDelegate() { @@ -1029,7 +1030,6 @@ bool VisitedLinkWriter::RebuildTableFromDelegate() {
// TODO(brettw) make sure we have reasonable salt! // TODO(brettw) make sure we have reasonable salt!
table_builder_ = new TableBuilder(this, salt_); table_builder_ = new TableBuilder(this, salt_);
@@ -54,7 +54,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
diff --git a/components/visitedlink/common/visitedlink_common.cc b/components/visitedlink/common/visitedlink_common.cc diff --git a/components/visitedlink/common/visitedlink_common.cc b/components/visitedlink/common/visitedlink_common.cc
--- a/components/visitedlink/common/visitedlink_common.cc --- a/components/visitedlink/common/visitedlink_common.cc
+++ b/components/visitedlink/common/visitedlink_common.cc +++ b/components/visitedlink/common/visitedlink_common.cc
@@ -70,6 +70,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& link_url, @@ -43,6 +43,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& url) const {
} }
bool VisitedLinkCommon::IsVisited(Fingerprint fingerprint) const { bool VisitedLinkCommon::IsVisited(Fingerprint fingerprint) const {

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