a6724631dfb28b4be3f87bf8d5359fe09bb66e75
59
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
5a7d81f4d1 |
[cr149][Android] Clean up viewport from FeedSurfaceCoordinator
Chromium changes: https://chromium.googlesource.com/chromium/src/+/6e568c66f774e3be549348fd1805242fb7a7b0c6 commit 6e568c66f774e3be549348fd1805242fb7a7b0c6 Author: Xi Han <hanxi@google.com> Date: Tue Apr 7 12:03:25 2026 -0700 [Feeds] Clean up viewport from FeedSurfaceCoordinator. The viewport is always null in FeedSurfaceCoordinator. Remove it to clean up. Bug: 487641528, 493844946 Change-Id: I1219e1c7556254f5394e45d78ffe54072858ac2c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7736941 Reviewed-by: Xinyi Ji <xinyiji@chromium.org> Commit-Queue: Xi Han <hanxi@chromium.org> Cr-Commit-Position: refs/heads/main@{#1610924} |
||
|
|
1e695730cb |
[cr148][Android] FeedSurfaceMediator.ctor changed
Removed: - headerModel; - openingTabId; - optionsCoordinator; - uiConfig. Chromium change: https://source.chromium.org/chromium/chromium/src/+/c65d635f364e1be31350bce04819b1e0a1465425 commit c65d635f364e1be31350bce04819b1e0a1465425 Author: Yanling <yanlinghu@google.com> Date: Thu Mar 12 12:33:33 2026 -0700 [Feed] Reland: Removes feed header related code This CL is a reland of https://www.google.com/search?q=https://chromium-review.git.corp.google.com/c/chromium/src/%2B/7620591 The code in this CL is identical to the original. The previous CL was reverted because the feed header tests were not completely removed in Clank. Those tests have now been cleaned up, making it safe to land this CL. Bug: 407797637 Change-Id: I06b6481b0f998a811d1498e8d790e3c6f82d9c4c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7620591 Reviewed-by: Xi Han <hanxi@chromium.org> Commit-Queue: Yanling Hu <yanlinghu@google.com> Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org> Cr-Original-Commit-Position: refs/heads/main@{#1597904} Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7661925 Cr-Commit-Position: refs/heads/main@{#1598611} |
||
|
|
d3498262c5 |
[cr147][Android] Move OmniboxActionDelegateImpl back to omnibox folder
Chromium changes: https://chromium.googlesource.com/chromium/src/+/f3299a56bec5f5f0848d62984e01defc3a7f0499 commit f3299a56bec5f5f0848d62984e01defc3a7f0499 Author: Tomasz Wiszkowski <ender@google.com> Date: Wed Feb 18 07:11:44 2026 -0800 Move OmniboxActionDelegateImpl back to omnibox folder. The change reverts https://crrev.com/c/7077115 and exposes the OmniboxActionDelegateImpl to the Autocomplete subsystem. The OmniboxActionDelegate (the interface) is needed to bridge the gap between the //chrome/android and //components, and its function under //chrome/android is irrelevant. Propagating the Impl down to Autocomplete stack allows us to include additional bits of information needed by Omnibox Actions that should not be a part of the interface / should not be modifiable by Actions. Bypass-Check-License: files moved. Change-Id: I9842386460f91f476a3bb309e1a7f8b31251990c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7586837 Reviewed-by: Keigo Oka <oka@chromium.org> Auto-Submit: Tomasz Wiszkowski <ender@google.com> Commit-Queue: Tomasz Wiszkowski <ender@google.com> Reviewed-by: Hidehiko Abe <hidehiko@chromium.org> Cr-Commit-Position: refs/heads/main@{#1586414} |
||
|
|
3efa4c2c72 |
[cr147][Android] Changes for ModuleRegistry refactor
Chromium changes: https://chromium.googlesource.com/chromium/src/+/79c909bca53dfd97ed264b823b1ced45e7956d54 commit 79c909bca53dfd97ed264b823b1ced45e7956d54 Author: Xi Han <hanxi@google.com> Date: Fri Feb 13 08:46:30 2026 -0800 [MagicStack] Refactor ModuleRegistry to fix ChromeTabbedActivity leak. The leak was due to never unregister entries in mModuleConfigCheckerMap which is owned by singleton HomeModulesConfigManager when the CTA is destroyed. In this CL, we remove this map from HomeModulesConfigManager, and all checks go through ModuleRegistry which is one per CTA and is destroyed when CTA is destroyed. 1) Remove ModuleConfigChecker interface, and move the isEligible() to ModuleProviderBuilder interface; 2) Reuse the existing |mModuleBuildersMap| in ModuleRegistry for modules' eligibility checks. 3) Only one behavior change is: the "new tab page cards" is empty if the bottom sheet is opened from the Ntp's customization toolbar button. We have deprecated this button and the list works as before if the bottom sheet is opened from all other entry points, i.e., from menu and magic stack cards. Bug: 462709210 Change-Id: I2cd442a82cf8515246635ecb79cfa102fbebb366 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7574493 Commit-Queue: Xi Han <hanxi@chromium.org> Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org> Reviewed-by: Xinyi Ji <xinyiji@chromium.org> Reviewed-by: Theresa Sullivan <twellington@chromium.org> Cr-Commit-Position: refs/heads/main@{#1584704} |
||
|
|
5210710174 |
Fixing some Nullaway check warnings (#34122)
* Fixed some Nullaway check warnings Resolves brave/brave-browser#53098 |
||
|
|
ff3e9df6a1 |
[cr146][Android] Rename ObservableSupplier -> MonotonicObservableSupplier
Chromium change: https://source.chromium.org/chromium/chromium/src/+/b8cb84d2901aeffc0003b15622a3052de7a20023 Rename ObservableSupplier -> MonotonicObservableSupplier Bypass-Check-License: Rename Change-Id: I101e53b7542d56566c128c23e6d6b081bcd3348c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7487973 |
||
|
|
3e3d45aca1 |
[cr145][Android] Convert TabStripTopControlLayer -> SettableNonNullObservableSupplier
Chromium changes: https://chromium.googlesource.com/chromium/src/+/78262fcabdb7ea6154698ce2d8de3be38685d7d1 commit 78262fcabdb7ea6154698ce2d8de3be38685d7d1 Author: Andrew Grieve <agrieve@chromium.org> Date: Mon Dec 15 13:20:12 2025 -0800 Android: Convert TabStripTopControlLayer -> SettableNonNullObservableSupplier Bug: 467389696 Change-Id: I4fa5212f316941730391acc9682256bf08ce0190 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7262594 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Auto-Submit: Andrew Grieve <agrieve@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Cr-Commit-Position: refs/heads/main@{#1558950} |
||
|
|
8c886793f3 |
[cr142][Android] Obsolete jank_tracker stuff was removed
- kCollectAndroidFrameTimelineMetrics feature; - org.chromium.base.jank_tracker.* classes Chromium change: https://source.chromium.org/chromium/chromium/src/+/2517b26f8677a7e51f36b3c10ed3acb61e0777b7 Cleanup Android.FrameTimeLineJank.* histograms and related code. The histograms are not being used actively to derive any investigations. Histogram emission was guarded behind feature flag which hasn't been enabled in any for some time. OBSOLETE_HISTOGRAMS: Patterned histograms Android.FrameTimelineJank.Duration{JankScenario}, Android.FrameTimelineJank.FrameJankStatus{JankScenario}, Android.FrameTimelineJank.{Scenario}.DelayedFramesPercentage.PerScroll{Length}, Android.FrameTimelineJank.{Scenario}.MissedVsyncs{Operator}.PerScroll{Length} haven't been emitted in more than an year. Bug: 408388498 Change-Id: Ice1d88847eef4a8a765d4886a25aba9428961e90 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6434049 |
||
|
|
a5562072d1 |
[cr141][Android] Use java.util.function.Supplier rather than Chrome's copy of it
Chromium changes: https://chromium.googlesource.com/chromium/src/+/94e940f0ad7bd5d37452ee71ab06fe87d675afb2 Use java.util.function.Supplier rather than Chrome's copy of it. This is 99% sed + git cl format. The 1% was a couple shims to not break internal builds. See PS1->PS5 for them. Bug: 440309602 Change-Id: I9ff8438583286b238505c4f63062279c7b24b254 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6897327 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Andrew Grieve <agrieve@chromium.org> Owners-Override: Andrew Grieve <agrieve@chromium.org> Cr-Commit-Position: refs/heads/main@{#1507988} |
||
|
|
83b4a8670f |
[cr141][Android] Apply Error Prone fixes for NonCanonicalType
Chromium changes: https://chromium.googlesource.com/chromium/src/+/8832afce78a8c5f089f74d8ef8bc2de9ec3ecf0b commit 8832afce78a8c5f089f74d8ef8bc2de9ec3ecf0b Author: Andrew Grieve <agrieve@chromium.org> Date: Tue Aug 26 10:30:05 2025 -0700 Apply Error Prone auto-fixes for NonCanonicalType Bug: 40661145 Change-Id: I2ff0d9005ed8e26cfbde75be6fa1d8dc326dfc51 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6883121 Auto-Submit: Andrew Grieve <agrieve@chromium.org> Owners-Override: Andrew Grieve <agrieve@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Cr-Commit-Position: refs/heads/main@{#1506620} |
||
|
|
cda1a14a7c |
[cr138][Android] Fixed FieldCanBeFinal Prone checks
This is an automated change, made by set `ERRORPRONE_CHECKS_TO_APPLY = ['FieldCanBeFinal']` at `src/build/android/gyp/errorprone.py` and run the build with --offline flag Chromium change: https://source.chromium.org/chromium/chromium/src/+/4f7d0b80759a7fd39de219f56984ec686d7aa257 Android: Enable Error Prone checks: FieldCanBeStatic, FieldCanBeFinal, FieldCanBeLocal Leaves FieldCanBeStatic off in tests, since it's arguably nicer to use non-statics in test classes for expected values. Bug: 40661145 Change-Id: I9fdbc6ebed5a6aa98f435dfeccb074715531be16 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6543826 |
||
|
|
8ebf032a33 |
[Android] Draw edge to edge on NTP
Chromium change: https://github.com/brave/chromium/commit/102fef6d8356a30a51a72f139a2a0b97f0930bf2 [E2E] Draw edge to edge on NTP Use SimpleEdgeToEdgePadAdjuster to pad the feed recycler view on NTP to allow the page draw to edge. Preview: https://screenshot.googleplex.com/95y7x9RMgfXUbJw https://screenshot.googleplex.com/9nRKDBmVSZcJQFG Dark: https://screenshot.googleplex.com/5reX99dKKBFP2sQ https://screenshot.googleplex.com/3pKbxh2Xmbcuram Bug: 339025702 |
||
|
|
a1cdd0cbcb |
[Android] Do not plumb around HelpAndFeedbackLauncher
Chromium change: https://source.chromium.org/chromium/chromium/src/+/559707cf2c3b294b46f390ed6434eaec1aecb07f Android] Do not plumb around HelpAndFeedbackLauncher Use HelpAndFeedbackLauncherFactory to get it where needed instead. Use the Profile as a scope. Low-Coverage-Reason: LARGE_SCALE_REFACTOR Bug: 355272662 |
||
|
|
f6f081e24e |
Removed surfaceType arg from FeedSurfaceCoordinator.ctor
Related Chromium change: https://source.chromium.org/chromium/chromium/src/+/a15398a86222b65b458c65531ebaa6c8095b64df [Start] Remove HostSurface. In this CL, we remove: 1) HostSurface of BrowserUiUtils; 2) Deprecate SurfaceType.START_SURFACE of FeedLaunchReliabilityLogger; 3) Remove start surface related metrics from magic stack metrics. OBSOLETE_HISTOGRAMS=Patterned histogram MagicStack.Clank.{ModuleDelegateHost}.* are replaced by MagicStack.Clank.NewTabPage.* since start surface will go away. Bug: 344651414 Change-Id: I552316701b1f41c6337113f03bede9e6db247c0a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5721317 |
||
|
|
0eee242cf2 |
[Android] Changes for logo polish for tablet
Chromium change: https://source.chromium.org/chromium/chromium/src/+/4a6ecfb34aa32438b180284a909dcd2db639ce8e [LogoPolish] Implement logo polish for tablet. This CL modifies the logo height on tablet when Logo Polish is activated. The height of the logo is decided by the selected variation. When using split screen mode on a tablet, the logo's height will remain at the small setting. The screenshots are included in the following link: https://docs.google.com/document/d/16z7y1lXiSJ0sCZ0-UzrXdBC8H2idDrVdVarJ4DIEuho/edit?usp=sharing Bug: 328769923, 330745894 |
||
|
|
a923a2e308 |
Upgrade from Chromium 121 to Chromium 122 (#21524)
* Update from Chromium 121.0.6167.164 to Chromium 122.0.6261.29. * Conflict-resolved patches from Chromium 121.0.6167.139 to Chromium 122.0.6261.18. * Update patches from Chromium 121.0.6167.164 to Chromium 122.0.6261.29. * Updated strings for Chromium 122.0.6261.29. * `GetActivityDataService` deleted from `Configurator` This change adds the new override in place of `GetActivityDataService` used to retrieve the `PersistedData` instance. Chromium change: https://chromium.googlesource.com/chromium/src/+/072744fba32a7435d6a2ee06fed2fa25f645dea9 commit 072744fba32a7435d6a2ee06fed2fa25f645dea9 Author: Joshua Pawlicki <waffles@chromium.org> Date: Wed Dec 6 00:57:12 2023 +0000 update_client: Inject PersistedData from the configurator. This unifies (to some degree) updater::PersistedData and update_client::PersistedData. updater::PD now implements update_client::PD, and internally delegates most functionality to update_client::PersistedDataImpl. Bug: 1496356 * `WebUIBubbleDialogView` constructor taking a weak ptr This constructor is now taking a reference to `BubbleContentsWrapper` as a `WeakPtr`, as the lifetime of the two are not tied. Chromium change: https://chromium.googlesource.com/chromium/src/+/47de8d5f05c98634e3dc3ec4dadc42cb6bdbc7ed commit 47de8d5f05c98634e3dc3ec4dadc42cb6bdbc7ed Author: Justin DeWitt <dewittj@chromium.org> Date: Tue Dec 5 23:45:11 2023 +0000 WebUI: Make WebUIBubbleDialogView hold a weak pointer to BubbleContentsWrapper. WebUIBubbleDialogView dereferences BubbleContentsManager in its destructor, but BubbleContentsWrapper is not a View and so may be destroyed before or after BubbleContentsWrapper. Bug: 1505002, b:313664294 * Fixing `MigrateObsoleteProfilePrefs` override args A new argument has been added to the function being override, which must be passed along. Chromium change: https://chromium.googlesource.com/chromium/src/+/6cc844034df95e44f49fdb8d698f80cdb44bd40a commit 6cc844034df95e44f49fdb8d698f80cdb44bd40a Author: Victor Hugo Vianna Silva <victorvianna@google.com> Date: Wed Dec 6 15:21:57 2023 +0000 Add scaffold of SetUsesSplitStoresAndUPMForLocal() and invoke it This is the function that will be called on startup to set the value of UsesSplitStoresAndUPMForLocal(). Per the doc linked in https://crbug.com/1495626, it needs to be invoked before any keyed services are created. This is done in MigrateObsoleteProfilePrefs(), which is the same approach taken by https://crrev.com/c/5033264. Also add a call to MigrateObsoleteProfilePrefs() to TestingProfile, so the latter can be used for testing later. No behavior change (not even behind flag) because the function is not implemented yet. Bug: 1495626 * Renaming disabled symbolic link blocklist flag This flag has been renamed upstream from kFileSystemAccessDirectoryIterationSymbolicLinkCheck to kFileSystemAccessDirectoryIterationBlocklistCheck, and an additional flag has also be introduced to provide more control over the symbolic link checks. Chromium change: https://chromium.googlesource.com/chromium/src/+/c6780249446e2baa1b6426d9936e11c0e0f30a8c commit c6780249446e2baa1b6426d9936e11c0e0f30a8c Author: Daseul Lee <dslee@chromium.org> Date: Thu Dec 7 19:52:52 2023 +0000 [FSA] Handle symbolic links when checking blocklists. (1) When checking blocklists, use a resolved path returned from `base::MakeAbsoluteFilePath()`, which is expected to resolve any symbolic link. (2) Additionally, check for blocklist when getting a file handle or entries (that are files) from a directory handle. With (1), this check will make sure any new symlink created after the initial check on the parent directory is caught and re-run with blocklist check on fully resolved path. Previously, crrev.com/c/4005144 attempted to handle case (2) partially on POSIX, using `base::IsLink()` and `base::ReadSymbolicLink()`, causing some potential bugs. This CL re-attempts to fix the issue using `base::MakeAbsoluteFilePath()`, which is available on both POSIX and Windows. Both features are disabled and will be enabled after testing. Bug: 1378484 * `kIOSPromoPasswordBubble` deleted upstream Chromium change: https://chromium.googlesource.com/chromium/src/+/43d36ae75975c7145f3c27159dbd22279c71e766 commit 43d36ae75975c7145f3c27159dbd22279c71e766 Author: Nicolas MacBeth <nicolasmacbeth@google.com> Date: Fri Dec 8 20:40:34 2023 +0000 [iOS Desktop password promo] Cleaned up feature flag Cleaned up feature flag for iOS Desktop Acquisition promo for passwords. Only kept the QR code variant of the promo. launch/4243343 Bug: 1490032 * `TabDragController` initialisation returns failure Upstream has added a return type to this procedure to allow the detection of certain initialisation failures. This PR carries along the return value, or carries on with the initialisation for Brave's own override. Chromium change: https://chromium.googlesource.com/chromium/src/+/9d735cd87ac4cdebe7c685b165eb798246331070 commit 9d735cd87ac4cdebe7c685b165eb798246331070 Author: Taylor Bergquist <tbergquist@chromium.org> Date: Sat Dec 9 00:21:02 2023 +0000 Fix crash when TabDragController is destroyed during Init. TabDragController may be destroyed during Init when it calls SetCapture. This is because the OS calls to take capture may reenter Chrome, and tab dragging may end during those reentrant calls. This CL fixes the immediate crash, which happens when TabDragController is dereferenced after Init to do some logging. https://crbug.com/1509581 tracks followup work to extend this approach across the rest of TabDragController. I also moved SetCapture to the end of Init again, and added a giant 'do not add code below here' warning. The code that was after SetCapture wouldn't have run before we potentially reentered TabDragController - so basically TDC was partially uninitialized during that period. Bug: 1431369 * `PartitionKey` to be provide by callers for `PrefProvider` This argument has been changed from defaulted in the declaration to entirely demanded from callers. This change adds the argument to callers, to use the existing WIP default key. Chromium change: https://chromium.googlesource.com/chromium/src/+/805e37d137827ce3e115d7022b044294bf13f760 commit 805e37d137827ce3e115d7022b044294bf13f760 Author: Jason Lin <lxj@google.com> Date: Tue Dec 12 05:52:22 2023 +0000 Remove default PartitionKey from content_settings::ProviderInterface We have migrate all the callers to specify it explicitly. Note that some ProviderInterface subclasses have a default value for `ContentSettingConstraints` (although ProviderInterface itself does not), which is only used by tests. This has also been removed to satisfy the rule of default values. It is probably a good idea to remove it anyway to be consistent with the base class. Bug: b/307193732 * Bypassing visibility checks for cargo crates Chromium change: https://chromium.googlesource.com/chromium/src/+/c3ee076df53f8eadd0ded51d0eb6f14a95376d0e commit c3ee076df53f8eadd0ded51d0eb6f14a95376d0e Author: Nabil Wadih <nwadih@google.com> Date: Tue Dec 12 18:44:37 2023 +0000 Propagate test-only flag to build_script targets Propagate the test-only flag to the `*_build_script__rlib` target which is generated by the build system for cargo_crate targets. Without propagating the flag the build will fail with "Only targets with "test-only=true" can depend on other test-only targets" * Reanchoring `PermissionControllerDelegate` overrides The function that was being used as an anchor for the token replacement has been renamed. Chromium change: https://chromium.googlesource.com/chromium/src/+/33b441e83b1f70381158fcafb0ecde9168b79524 commit 33b441e83b1f70381158fcafb0ecde9168b79524 Author: Balazs Engedy <engedy@chromium.org> Date: Tue Dec 12 18:53:42 2023 +0000 Improve wording of SubscribePermissionStatusChange. To better indicate what is being subscribed to what, rename: SubscribePermissionStatusChange -> SubscribeToPermissionStatusChange UnsubscribePermissionStatusChange -> UnsubscribeFromPermissionStatusChange Bug: 1510841 * [Android] Changes for PermissionDialog Chromium change: https://source.chromium.org/chromium/chromium/src/+/0797b61d3cc617c41998d55c51bd5ae97437b77d Clank OTP: add prompt/delegate JNI logic for one time permissions Bug: 1509386 * [Android] Minor code adjustments to the C122 upstream changes * [Android] Remove most Resources#getColor() Chromium change: https://source.chromium.org/chromium/chromium/src/+/786b549f7d4b2035ae2155ac9f22b15f8013c55e Remove most Resources#getColor(). Low-Coverage-Reason: TRIVIAL_CHANGE Bug: 1302803 * Rename chromium_strings to brave_strings due to upstream branding changes Chromium change: https://source.chromium.org/chromium/chromium/src/+/84840cc4328d7abf6a1de5d71ac1b453a159a0a5 commit 84840cc4328d7abf6a1de5d71ac1b453a159a0a5 Author: Sergei Poletaev <spylogsster@gmail.com> Date: Tue Dec 12 17:29:25 2023 +0000 Fix hardcoded chromium branding for strings grds Building Chromium with separate branding usign branding_path_component strings resources still have hardcoded chromium branding. This patch fixes it using branding_path_component value. Bug: 1510246 * Fixes extraction of Chrome strings into Brave. This was likely broken since the branding change of using the brand name in string files instead of chromium, but hasn't shown up because the affected files maybe haven't changed for a while. * `kEnableLensPing` flag reverted This flag's original CL has been reverted, and since it was being disabled by default, it has no effect to brave. Chromium change: https://chromium.googlesource.com/chromium/src/+/f56b9c19fa18707a353b7ee922c473d71786102c commit f56b9c19fa18707a353b7ee922c473d71786102c Author: Anudeep Palanki <apalanki@google.com> Date: Wed Dec 13 18:01:47 2023 +0000 [Tech Debt] Remove expired enable-lens-ping Reverts changes made in https://chromium-review.googlesource.com/c/chromium/src/+/4406511 Bug: b/311788454,1489925 * `kNtpHistoryClustersModuleDiscounts` flag deleted upstream Chromium change: https://chromium.googlesource.com/chromium/src/+/f0c4460c2a3742970950378fd5d88a882c534ceb commit f0c4460c2a3742970950378fd5d88a882c534ceb Author: Mei Liang <meiliang@chromium.org> Date: Wed Dec 13 20:28:33 2023 +0000 [Discounts][fixit] Clean up the kNtpHistoryClustersModuleDiscounts flag Bug: b:309863117 * [ios] Browser `net` moved into `model/` subfolder This is a regular path refactoring that is taking place upstream. This change in particular requires changes to specific patches we have, as well as inclusion paths. Chromium change: https://chromium.googlesource.com/chromium/src/+/bbeef1ef9429af7741ef8aad3cfdcea9a82568fd commit bbeef1ef9429af7741ef8aad3cfdcea9a82568fd Author: mmrashad <mmrashad@google.com> Date: Thu Dec 14 15:16:46 2023 +0000 [Code Health][iOS][3/3] Move ios/c/b/net to model subfolder To simplify the folder hierarchy on iOS and have a clearer layer separation, all the files in ios/c/b/<foo>/ will be moved to ios/c/b/<foo>/model/ to showcase that they are model files. Bug: 1319852, 1480322 * `RenderViewHost` getter removed from `RenderViewContextMenuProxy` This change is of no effect to brave, as it only affects the stub of a mock returning a nullptr. Chromium change: https://chromium.googlesource.com/chromium/src/+/3fd0e9663bec4f2e83f6313d36e33acbb190ca7b Author: Ian Vollick <vollick@chromium.org> Date: Thu Dec 14 21:51:51 2023 +0000 Avoid use of RenderViewHost in RenderViewContextMenu With this change, we switch callers to getting a RFH (either for the appropriate subframe or the primary main frame of the associated web contents) as suggested by mcnee@. Bug: 1129073,1393234 * Memory saver url constants renamed These URL contants are entirely shadowed in brave, and require to be redifined on our own overrides. Chromium change: https://chromium.googlesource.com/chromium/src/+/3a43a5f06f6c228b7475a0d51d3ed9bbad08805f commit 3a43a5f06f6c228b7475a0d51d3ed9bbad08805f Author: Alison Gale <agale@chromium.org> Date: Thu Dec 14 16:04:22 2023 +0000 Rename remaining instances of high efficiency to memory saver This is one of a set of CLs to rename the "high efficiency" feature to "memory saver" to match the branding we launched with and resolve confusion when searching for code. All CLs are tagged with #rename-high-efficiency. I plan to wait for most of them to be approved before starting to submit these changes to ensure the code remains in a consistent state. After submitting these CLs I'll make another pass to capture any remaining references that can be changed. #rename-high-efficiency Bug: 1493843 * [ios] Include `DriveService` provider This provider is necessary to avoid linking error. Chromium change: https://chromium.googlesource.com/chromium/src/+/3c1ae5137984621c7d9f50bc388d501960067507 commit 3c1ae5137984621c7d9f50bc388d501960067507 Author: Quentin Pubert <qpubert@google.com> Date: Tue Dec 12 17:09:30 2023 +0000 [iOS] Add Drive provider API and DriveService This CL adds a Drive provider API with a single function ``` std::unique_ptr<drive::DriveService> CreateDriveService( const drive::DriveServiceConfiguration& configuration); ``` which returns an instance of `drive::DriveService` based on the provided `DriveServiceConfiguration` instance. Bug: 1495347 * Revert "`RenderViewHost` getter removed from `RenderViewContextMenuProxy`" This reverts commit 11b127abab3772ab3fe045612386669df7c5a0c1. * `kFirstPartySets` deleted upstream Chromium change: https://chromium.googlesource.com/chromium/src/+/2f66b94b342466015f3a0a95479bddc9d7e99f0a commit 2f66b94b342466015f3a0a95479bddc9d7e99f0a Author: Chris Fredrickson <cfredric@chromium.org> Date: Fri Dec 15 20:38:49 2023 +0000 [RWS] Remove RWS feature flag This feature became enabled by default in M119. This CL deletes the FirstPartySetsClearSiteDataOnChangedSets param (which is enabled by default now), and hardcodes the FirstPartySetsMaxAssociatedSites param in the parser. However, the FirstPartySetsNavigationThrottleTimeout param and associated FirstPartySetsNavigationThrottle code (which is a no-op today, other than in tests) shouldn't be deleted yet, since it is important if Chrome is configured to "pause" network requests until RWS is fully initialized. That behavior is controlled by the WaitForFirstPartySetsInit feature (and is tested, since I'd love to enable it someday to fix https://crbug.com/1488079), but is disabled by default. So this CL moves the FirstPartySetsNavigationThrottleTimeout param to the WaitForFirstPartySetsInit feature instead of deleting it. * Changes to CT policy enforce testing methods This is a straight forward change around the use of `SetCTLogListAlwaysTimelyForTesting`, which has been deleted upsrteam. Chromium change: https://chromium.googlesource.com/chromium/src/+/635c4a0fd2ee0985953464778e2af0f94d9063b4 commit 635c4a0fd2ee0985953464778e2af0f94d9063b4 Author: Matt Mueller <mattm@chromium.org> Date: Fri Dec 15 19:05:40 2023 +0000 refactor CTPolicyEnforcer to be run by CertVerifyProc Previously it was run at the socket layer in the network service. Bug: 848277 * Fix `ShouldSkipConditionalFeatureEntry` override This override used to rely on a replacement on its body, however due to recent upstream changes, the token in question has been moved to be guarded for ash-mode only. This change adds a patch to make sure the token is replaced on the exact expected place. Chromium change: https://chromium.googlesource.com/chromium/src/+/dd7cd30687778973e99cfc9829d314b37dbcc1a0 commit dd7cd30687778973e99cfc9829d314b37dbcc1a0 Author: François Beaufort <beaufort.francois@gmail.com> Date: Fri Dec 15 11:58:35 2023 +0000 Show chrome://flags/#enable-unsafe-webgpu on all channels As WebGPU shipped on stable channel, this restriction is not needed anymore. Bug: 852089 * `ENABLE_SEARCH_ENGINE_CHOICE` build flag deleted This build flag has been deleted and it seems that the actual test is whether or not it is an android build. Chromium change: https://chromium.googlesource.com/chromium/src/+/1aae2ba88f573a0517572708647c3ab1ee7fbea5 commit 1aae2ba88f573a0517572708647c3ab1ee7fbea5 Author: Jack Yammine <jyammine@google.com> Date: Sat Dec 16 06:56:36 2023 +0000 [waffle]Remove the 'ENABLE_SEARCH_ENGINE_CHOICE' build flag We remove the buildflag because it has caused a lot of issues when we forget to check if the code compiles on Fuchsia for example. Instead, we build the files on all Desktop operating systems and make sure that the `SearchEngineChoiceService` is only initialized on the operating systems in which we want to display the screen. Fixed: b:308433630 * `use_typescript_sources` deleted upstream The use of this variable was a workaround due to mojom interfaces that needed to still support JS bindings. This seems to be fixed upstream now around the dependencies that had caused this issue in the first place, with the variable gone with it. Chromium change: https://chromium.googlesource.com/chromium/src/+/345a777cc39fcf40be04f1db1023f2b5c4a65ec1 commit 345a777cc39fcf40be04f1db1023f2b5c4a65ec1 Author: Rebekah Potter <rbpotter@chromium.org> Date: Fri Dec 15 20:12:14 2023 +0000 Reland WebUI Mojo Bindings: Remove use_typescript_sources This reverts commit 302442a4b40c217a82ed67c01b83bb3b755542d9. Reason for revert: Fixing typo Original change's description: > Revert "WebUI Mojo Bindings: Remove use_typescript_sources" > > This reverts commit 2599dd89d8c7c4afc478906b02105abbfca40c5f. > > Reason for revert: breaks compile for chromeos dbg > https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-compile-dbg/1632716 > > FileNotFoundError: [Errno 2] No such file or directory: 'gen/mojom-webui/chrome/test/data/webui/chromeos/web_ui_test.mojom-webui.js' > > Original change's description: > > WebUI Mojo Bindings: Remove use_typescript_sources > > > > The use_typescript_sources parameter was confusing to reviewers (not > > clear what "sources" it refers to, or that it is WebUI-specific), and > > is now default true/on which is the reverse of convention and confuses > > developers about when the parameter needs to be specified. > > > > Renaming it to generate_webui_js_bindings, changing to default "off", > > and limiting the parameter to ChromeOS Ash since WebUI bindings always > > use TypeScript on other platforms. > > > > In this CL removing use_typescript_sources and updating a few > > remaining users. > > > > Bug: 1002798 > > Change-Id: Ic6ee29be22b65bb2d4b1f5fda013766b3c06bd5e > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5115946 > > Reviewed-by: Reilly Grant <reillyg@chromium.org> > > Reviewed-by: Robert Sesek <rsesek@chromium.org> > > Commit-Queue: Rebekah Potter <rbpotter@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#1237670} > > Bug: 1002798 > Change-Id: I84c93e8c09ac384f18440e3eb791cf8b5b5d4b22 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5124793 > Auto-Submit: Joel Hockey <joelhockey@chromium.org> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Shibalik Mohapatra <shibalik@chromium.org> > Owners-Override: Shibalik Mohapatra <shibalik@chromium.org> > Cr-Commit-Position: refs/heads/main@{#1237850} Bug: 1002798 * Reanchoring `PermissionPromptBubbleBaseView` override This override used to be part of the constructor of the class, however the button creation step that it is associated with has been moved to a separate method, and therefore data like the browser instance, and delegate must be accessed as data members. Chromium change: https://chromium.googlesource.com/chromium/src/+/187fedf3180a0459668ac5ecc8c1e41dc66f46cc commit 187fedf3180a0459668ac5ecc8c1e41dc66f46cc Author: Daniel d'Andrada <dandrader@google.com> Date: Mon Dec 18 13:59:24 2023 +0000 Refactor PermissionPromptBubbleBaseView Do not override GetWindowTitle() and GetAccessibleWindowTitle() as this duplicates logic already present in WidgetDelegate. Also, instead of having child classes pass this information in the constructor let them use the existing setters instead. Splitting the big do-it-all constructor into separate methods improves readability and extensibility. You no longer have to add yet another constructor parameter when something else in the base prompt needs to be customized. Bug: 1503624 * Fix overrides around `ToolbarButton` There's no need anymore to virtualise `UpdateColorsAndInsets`, as it has been made virtual upstream. There has also been some change to the `ConfigureInkDropForToolbar`, and its argument list that had to be matched on our override. Chromium change: https://chromium.googlesource.com/chromium/src/+/5018745e22b1cc42d8f5e450754a2b757c447638 commit 5018745e22b1cc42d8f5e450754a2b757c447638 Author: EmiliaPaz <emiliapaz@chromium.org> Date: Tue Dec 19 15:14:54 2023 +0000 [Extensions c2s] Add ToolbarChipButton with flat edges ToolbarButton has two formats: default and highlight (label with border). This CL introduces a new formatting that allows the button to have a flat edge. To not interfere with the existing toolbar buttons formatting, it's implemented as ToolbarChipButton. Toolbar chip button is used in the extensions toolbar to display the extensions request access button (right flat edge) and the extensions toolbar button (left flat edge only when request access button is visible). This will allow us to remove the extensions controls view and add the toolbar buttons directly to the extensions container. Screenshot: https://drive.google.com/file/d/1dacX_zUOjTspVojxzzB_ArpAOcw9jPFp/view?usp=sharing Screencast: https://drive.google.com/file/d/1w0oQgpg4Npk_blJqwtK_W1GRD8KGaIvc/view?usp=sharing Bug: 1511762 * Constraining `GetActiveWebContents` substitution This token is being subsituted to inject some code in `ShowDeviceChooserDialogForExtension`. This substitution can easily break due to how common this function name is. This change prempts the inclusion of header that started causing an unwanted substitution. Chromium change: https://chromium.googlesource.com/chromium/src/+/550ac0206ee38484e0cf4604735b106d74aece8f commit 550ac0206ee38484e0cf4604735b106d74aece8f Author: Emilia Paz <emiliapaz@chromium.org> Date: Tue Jun 13 00:54:49 2023 +0000 [Extensions] Add extensions to request access button tooltip Display the extensions requesting site access in the request access button tooltip instead of a hover card. This change is after a study where the users were constantly trying to click on the hover card. Leaving the hover card coordinator and bubble for now, since we are testing the tooltip. Screenshot: https://drive.google.com/file/d/1wicsoVb5RkvJQoA51w9y4A9L94c1uDeP/view?usp=sharing Bug: 123977 * `MutableProfileOAuth2TokenServiceDelegate` ctor updated The brave implementation passes along all the construction arguments necessary, and one of the argument types in the argument list changed, however this is of no effect for our own implementation. Chromium change: https://chromium.googlesource.com/chromium/src/+/c5c0858f7978be99020e9b3da8a3ef5e6cb21ef3 commit c5c0858f7978be99020e9b3da8a3ef5e6cb21ef3 Author: Gabriel Oliveira <gabolvr@google.com> Date: Tue Dec 19 17:04:03 2023 +0000 [Uno-D] Keep signed in account on reload with clear on exit for UNO Bug: b/311143191 * [ios] Browser `tab` moved into `model/` subfolder. This change merely affects inclusion paths. Chromium change: https://chromium.googlesource.com/chromium/src/+/9baed1f5d6064a8aa83525afe3f2a87c355418b4 commit 9baed1f5d6064a8aa83525afe3f2a87c355418b4 Author: Sylvain Defresne <sdefresne@chromium.org> Date: Tue Dec 19 16:25:59 2023 +0000 [ios] Move tabs related model files to //ios/chrome/browser/tabs/model As discussed in https://crrev.com/c/5134814, move a couple of files from //ios/chrome/browser/sync/model to //ios/chrome/browser/tabs/model. Bug: none * Using `raw_ptr` with `vector<T*>` Upstream vector of pointers are now wrapping the reference into a `raw_ptr`. This change corrects our interactions with such upstream containers. Chromium change: https://chromium.googlesource.com/chromium/src/+/e63cbaf6fdcfdac0f04883d956b00e83330bd0a2 commit e63cbaf6fdcfdac0f04883d956b00e83330bd0a2 Author: Ali Hijazi <ahijazi@chromium.org> Date: Wed Dec 20 19:29:35 2023 +0000 Rewrite vector<T*> into vector<raw_ptr<T, VectorExperimental>> See chromium-dev announcement: https://groups.google.com/a/chromium.org/g/chromium-dev/c/sKckMpzHQgY/m/M3SWxEg3AQAJ?utm_medium=email&utm_source=footer Code review: - First patch: Automatic rewrite - Later patches: Manual fixes The automatic rewrite used the script: ./tools/clang/rewrite_templated_container_fields/rewrite-multiple-platforms.sh Binary size increase: The increase is only 33% (+5kB) above the per-patch limit (+16kB). This is not a lot given the size of the rewrite. Increase of around 500kb was approved for MiraclePtr. AX-Relnotes: n/a. * Add metadata to `TransparentButton` derived types Metadata has been added to `TransparentButton`, which forces all derived types to also have it. This change adds the missing metadata to BraveDownloadItemViewButton. Chromium change: https://chromium.googlesource.com/chromium/src/+/dab2d7d8039c805038cd357dd46e7b298728f381 commit dab2d7d8039c805038cd357dd46e7b298728f381 Author: David Yeung <dayeung@chromium.org> Date: Wed Dec 20 18:12:19 2023 +0000 [views] Update METADATA_MACRO to use newer version. Update View classes to use 2 param version of METADATA_HEADER. Low-Coverage-Reason: LARGE_SCALE_REFACTOR Bug: 1485768 * [ios] Browser `web` moved into `model/` subfolder This change affects inclusion paths, deps, and some of the shadowing files in our codebase. There are no functional changes however. Chromium changes: https://chromium.googlesource.com/chromium/src/+/dca21fb37574f4076e051aa229bba6cc122a1e4f commit dca21fb37574f4076e051aa229bba6cc122a1e4f Author: Weizhong Xia <weizhong@google.com> Date: Wed Dec 20 20:10:11 2023 +0000 [Code Health][iOS] Move ios/c/b/web to model subfolder To simplify the folder hierarchy on iOS and have a clearer layer separation, all the files in ios/c/b/<foo>/ will be moved to ios/c/b/<foo>/model/ to showcase that they are model files. Bug: 1480376 * Removing deleted header for notification auth types This header has been deleted upstream, but its deletion is of no consequence to the sites where it was being included. Chromium change: https://chromium.googlesource.com/chromium/src/+/1ae20a326e55ac545846b136b2f5f173995e91f5 commit 1ae20a326e55ac545846b136b2f5f173995e91f5 Author: Erik Chen <erikchen@chromium.org> Date: Tue Dec 26 07:04:17 2023 +0000 Delete auth notification types. All remaining usage has been migrated. The code is unused. Bug: 1371177, 1174785 * [WIP] Fix `BraveOmniboxClient` weakptr substitution Chromium change: https://chromium.googlesource.com/chromium/src/+/f19bec69a942a25908c2842b368f37396193d27a commit f19bec69a942a25908c2842b368f37396193d27a Author: David Bertoni <dbertoni@chromium.org> Date: Wed Dec 27 19:13:13 2023 +0000 [Code Health] Remove uses of base::SupportsWeakPtr (ob) Bug: 647430 * [ios] Public key pins check simplified Upstream has greatly simplified the signature for the `CheckPublicKeyPins`, and this change adjusts that accordingly. Chromium change: https://chromium.googlesource.com/chromium/src/+/e4fc52aab5f330bb114a8054a88751e4759c54e3 commit e4fc52aab5f330bb114a8054a88751e4759c54e3 Author: Emily Stark <estark@google.com> Date: Wed Dec 27 08:02:58 2023 +0000 Remove public key pins reporting This feature is somewhat obviated by Certificate Transparency monitoring and rarely used (only by Google servers), so this CL removes it. Internal doc for context: https://docs.google.com/document/d/1eQDOFIEZgFv5ITIX5d4iqaWYjQNp2vH0D1U7i57Z2tw/edit?tab=t.0 Bug: 1513205 * `SelectFileDialog` listerner passing `SelectedFileInfo` This listener has been simplified to use `SelectedFileInfo` instances on its events. This meant updating our own uses of these overriden interfaces. Chromium change: https://chromium.googlesource.com/chromium/src/+/d0b88a2bb42b34c43720c0e9ee2543e4c9df3071 commit e4fc52aab5f330bb114a8054a88751e4759c54e3 Author: Emily Stark <estark@google.com> Date: Wed Dec 27 08:02:58 2023 +0000 Remove public key pins reporting This feature is somewhat obviated by Certificate Transparency monitoring and rarely used (only by Google servers), so this CL removes it. Internal doc for context: https://docs.google.com/document/d/1eQDOFIEZgFv5ITIX5d4iqaWYjQNp2vH0D1U7i57Z2tw/edit?tab=t.0 Bug: 1513205 * `monochrome_public_common_apk_or_module_tmpl` removed upstream The case for which the patching of this template had been introduced was deleted a while ago, so the patch was not required anymore. Chromium change: https://chromium.googlesource.com/chromium/src/+/f326467d56d41a0db84b5d3209a6db3654978a4b commit f326467d56d41a0db84b5d3209a6db3654978a4b Author: Egor Pasko <pasko@chromium.org> Date: Tue Jan 2 16:03:26 2024 +0000 Remove monochrome_public_common_apk_or_module_tmpl This template is no longer used? Bug: 1427610 * `BubbleContentsWrapper` requires a UI name Upstream validates the UI name during compile-time, and assorts it with some histograms. Although the historgrams are not relevant to brave, the names are being provided to avoid invasive changes in upstream code. Chromium change: https://chromium.googlesource.com/chromium/src/+/80995e9585aa13ab4fb6293a6f9d946a26e81c01 commit 80995e9585aa13ab4fb6293a6f9d946a26e81c01 Author: Anthony Vallee-Dubois <anthonyvd@chromium.org> Date: Tue Jan 2 15:05:05 2024 +0000 Record histograms for LCP of non-tab WebUI content This CL adds some histograms to record the Time to Largest Contentful Paint of different WebUI surfaces. To achieve this, it introduces a new `PageLoadMetricsObserver` subclass that is only installed for `WebContents` associated with a `BubbleContentsWrapperT`. This should cover all of side-panel WebUI contents, as well as some bubbles set up using this wrapper. Having these metrics aims to help analyze the performance of these non-tab WebUI surfaces, and the `PageLoadMetricsObserver` can be extended to further progress towards this goal (more metrics, trace events, etc). Change-Id: I11cfca4358ff8a9f8cdaccd58f06a78eba0dbfc5 * `MakeFixedFlatMap` now `consteval` By making this consteval, the issue of sorting has been sidestepped with a more reliable approach. The use of `base::sorted_unique` is not required anymore for fixed flat maps, as consteval guarantees the operation will happen at compile time, as opposed to the compiler bailing out during sorting with `constexpr`. Chromium change: https://chromium.googlesource.com/chromium/src/+/45e5a3254798f4f5ccb1ee5b220513a6b773f529 commit 45e5a3254798f4f5ccb1ee5b220513a6b773f529 Author: Andrew Grieve <agrieve@chromium.org> Date: Tue Jan 2 18:36:08 2024 +0000 Make base::MakeFixedFlatMap consteval This ensures that it will be evaluated at compile-time. Also adds MakeFixedFlatMapNonConstEval for the one instance where compile-time evaluation is not possible. Bug: None * Removing `proxy_server` from `ProxyChain` The new accessor is indexed by the chain number. This change corrects the existing tests to use the default first chain. Chromium change: https://chromium.googlesource.com/chromium/src/+/13e652b8b2c26c47b5e498c19be37d3189405e04 commit 13e652b8b2c26c47b5e498c19be37d3189405e04 Author: Andrew Williams <awillia@chromium.org> Date: Tue Jan 2 16:49:12 2024 +0000 [IP Protection] Remove ProxyChain::proxy_server and ProxyList::GetAll This continues our migration from using ProxyServers directly to using ProxyChains. Bug: 1491092 * [Android] BaselineGM3SurfaceColors flag was removed Chromium change: https://source.chromium.org/chromium/chromium/src/+/3ef96fad99e1e08269df3965dca06f05b034ce65 [Fixit] Clean up BaselineGM3SurfaceColors This CL also revs a bunch of render tests. Even though the feature has been enabled for some time, the render tests weren't affected because they don't run the actual ChromeBaseAppCompatActivity and wouldn't be applying the theme overlay that was gated behind the--now enabled--flag. Bug: 1410537 * [Android] PrivacyGuideAndroid flag was deprecated Chromium change: https://source.chromium.org/chromium/chromium/src/+/46077c8b9f2e8e3f9ee8c56fc36157fed26606f2 [Fixit] Deprecate kPrivacyGuideAndroid flag Bug: 1490155 * [Android] Generic callback interfaces were removed The quick fix is just to return them back into our code base as they are used in may places in our code. Chromium change: https://github.com/brave/chromium/commit/d166d258ebe6545f2e3401eed812bb72280a9cad Remove the generic Mojo callback interfaces. This potentially allows followups to pass primitive types rather than the Boxed equivalent, and removes the need to write Callback0, Callback1, Callback2, et cetera generic interfaces. Bug: 1491924 * Virtual method `IsConnectionMetered` add to Configurator This method has a simple implementation as an accessor to the implementation's function of the same name. Chromium change: https://chromium.googlesource.com/chromium/src/+/fb0255c8d251639c336a2f133fc65a3c6336f49b commit fb0255c8d251639c336a2f133fc65a3c6336f49b Author: Noah Rose Ledesma <noahrose@google.com> Date: Thu Jan 4 00:28:23 2024 +0000 Allow component updates to be disabled on metered connections Component installer policies can now specify if the component should be updated on metered networks. This will be useful for the addition of larger non-critical components. Bug: 1513241 * Fix `DeviceInfoSyncBridge` access to its data The type of `all_data_` has been changed to an internal class, providing an accessor to `DeviceInfoSpecifics`. Chromium change: https://chromium.googlesource.com/chromium/src/+/eedd55b4358962e0feb1c08ed013275c750ae32e commit eedd55b4358962e0feb1c08ed013275c750ae32e Author: Mikel Astiz <mastiz@chromium.org> Date: Wed Jan 3 16:41:41 2024 +0000 [sync] Precompute DeviceInfo for each DeviceInfoSpecifics Eventually, the goal is to improve performance for functions such as DeviceInfoSyncBridge::GetAllDeviceInfo(). As a first step, the internal map maintained by DeviceInfoSyncBridge is extended to maintain, for each proto, the converted DeviceInfo class. This incurs in some memory overhead but it is deemed negligible for the vast majority of users (a few kilobytes in total for the 99th percentile). This change doesn't immediately come with performance benefits as GetAllDeviceInfo()'s signature enforces the need to make deep copies. As per added TODOs, follow-up patches will update this signature to avoid these expensive copies. Change-Id: I88631d694516954e919299c6da967110440401a5 Bug: b/316374607 * Deprecated `SetPrivacySandboxEnabled` deleted Chromium change: https://chromium.googlesource.com/chromium/src/+/ee1264ea003c2a0f14cc68e585706a13901ad7a4 commit ee1264ea003c2a0f14cc68e585706a13901ad7a4 Author: Mariam Ali <alimariam@google.com> Date: Wed Jan 3 15:07:59 2024 +0000 Privacy Sandbox GA Cleanup: Remove deprecated SetPrivacySandboxEnabled method Bug: 1449833, 1378703 * [Android] kWebViewMetricsFiltering flag was removed Chromium change: https://source.chromium.org/chromium/chromium/src/+/e63d689c6868ae6e96ed7d65967fed056443f198 Clean up WebViewMetricsFiltering after being default enabled Also remove unneeded tests. Bug: 1465353, 1385901 * Changes for PermissionRequestManager::Requests Chromium change: https://source.chromium.org/chromium/chromium/src/+/e63cbaf6fdcfdac0f04883d956b00e83330bd0a2 Rewrite vector<T*> into vector<raw_ptr<T, VectorExperimental>> See chromium-dev announcement: https://groups.google.com/a/chromium.org/g/chromium-dev/c/sKckMpzHQgY/m/M3SWxEg3AQAJ?utm_medium=email&utm_source=footer Code review: - First patch: Automatic rewrite - Later patches: Manual fixes The automatic rewrite used the script: ./tools/clang/rewrite_templated_container_fields/rewrite-multiple-platforms.sh Binary size increase: The increase is only 33% (+5kB) above the per-patch limit (+16kB). This is not a lot given the size of the rewrite. Increase of around 500kb was approved for MiraclePtr. AX-Relnotes: n/a. Binary-Size: See commit description. Bug: 1432993 * [Android] Fix for GetLocalPrepopulatedEngines changes Chromium change: https://source.chromium.org/chromium/chromium/src/+/0cd7f0c1767b6d5d15a0e99adcb39b15ab76c412 🧇 Ensure that GetPrepopulatedTemplateURLData never gets null prefs A previous change started making it required to pass prefs when calling this method, but Android is the last platform where the SearchEngineChoice feature that requires it is not enabled. In preparation of rolling out changes related to this feature on Android too, we close this outstanding issue. Noting that: 1. We still have many tests passing null prefs, so this exception is allowed for now, until we fix this in follow-ups, as part of https://crbug.com/1499181 2. We are assuming that the service should be available when methods are called from Java, and currently return fallback values if it's not the case. We will move the service availability check to Java in another follow-up (see b/318339172). Bug: 1499181 Fixed: b:303632061 * [Android] NTP code cleanup Chromium change: https://source.chromium.org/chromium/chromium/src/+/c61d12a60ddfe88a1f18810c32f338ebaa0b0239 [Android] Cleanup kProbabilisticCryptidRenderer deprecated flag Bug: 1385901 * [Android] Removed unused rounded_corners resource Chromium change: https://source.chromium.org/chromium/chromium/src/+/1511362d0f3b9d49d2d39214b30113c046233ea8 Remove FEED_BACK_TO_TOP We don't have a plan to experiment and launch this feature. We're working on refactoring feed code to support new layout and we don't want to spend extra time maintaining unplanned feature. Bug: 1511104 * [Android] Minor unit tests fixes * [Android] Query tiles feature was deprecated Chromium change: https://source.chromium.org/chromium/chromium/src/+/eda153ebc5666ae870421560c5184783bc73553a [Fixit] Deprecating query tiles feature code for NTP and Start. In this CL, cleanup all the code related related to QueryTiles at NTP and Start. Also deleting QueryTileSegmentation feature flag. Change-Id: I44e88352646deeda69cca90a559139f79535b9dc Bug: b/316606367 * Replace BasicStringPiece with std::basic_string_view Chromium change: https://source.chromium.org/chromium/chromium/src/+/9dcb26dd13712e39f7e76e6678011dc842b630bd commit 9dcb26dd13712e39f7e76e6678011dc842b630bd Author: Takuto Ikuta <tikuta@chromium.org> Date: Tue Dec 19 08:02:08 2023 +0000 base: remove BasicStringPiece Bug: 691162 * Add missing //chrome/browser/permissions dep * Remove obsolete MigrateBraveDarkModePrefs * Testing profile now migrates obsolete profile prefs Chromium change: https://source.chromium.org/chromium/chromium/src/+/e63cbaf6fdcfdac0f04883d956b00e83330bd0a2 commit e63cbaf6fdcfdac0f04883d956b00e83330bd0a2 Author: Ali Hijazi <ahijazi@chromium.org> Date: Wed Dec 20 19:29:35 2023 +0000 Rewrite vector<T*> into vector<raw_ptr<T, VectorExperimental>> See chromium-dev announcement: https://groups.google.com/a/chromium.org/g/chromium-dev/c/sKckMpzHQgY/m/M3SWxEg3AQAJ?utm_medium=email&utm_source=footer Code review: - First patch: Automatic rewrite - Later patches: Manual fixes The automatic rewrite used the script: ./tools/clang/rewrite_templated_container_fields/rewrite-multiple-platforms.sh Binary size increase: The increase is only 33% (+5kB) above the per-patch limit (+16kB). This is not a lot given the size of the rewrite. Increase of around 500kb was services are created. This is done in MigrateObsoleteProfilePrefs(), which is the same approach taken by https://crrev.com/c/5033264. Also add a call to MigrateObsoleteProfilePrefs() to TestingProfile, so the latter can be used for testing later. No behavior change (not even behind flag) because the function is not implemented yet. Bug: 1495626 * [Android] Changes for SingleWebsiteSettings.setupContentSettingsPreference Chromium changes: https://source.chromium.org/chromium/chromium/src/+/104fb6d77c5d1d5c07e33486ad3d4c901bfbf907 Clank OTP: Add support for showing one time grant in page info Bug: 1509386 * Correct access to `DeviceInfoTracker` In order to avoid deep copies, access to `DeviceInfo` in `DeviceInfoTracker` is now done to a vector of pointers for the info. Chromium change: https://chromium.googlesource.com/chromium/src/+/5c6b332f6993841570c4e45eec87d7e5828351bd commit 5c6b332f6993841570c4e45eec87d7e5828351bd Author: Mikel Astiz <mastiz@chromium.org> Date: Thu Jan 4 20:24:30 2024 +0000 [sync] Avoid deep copies of DeviceInfo in DeviceInfoTracker This is a performance improvement that makes APIs calls such as GetAllDeviceInfo(), as implemented by DeviceInfoSyncBridge, significantly faster for users with a very large number of sync-ing devices (deemed to be a rare scenario). There are still codepaths under chrome/browser/sharing that perform deep copies, now moved to the calling site. TODOs have been added to tackle those in follow-up patches. Change-Id: Idd45cffdeb526a3072b2e1afc8eaa89300233956 Bug: b/316374607 * Access around `OmniboxController` moved around `OmniboxController::result()` has been rempoved, and `result` is now retriavable through `autocomplete_controller()` in the controller. Addiotionally, `OmniboxEditModel::StopAutocomplete()` has been deleted and it is now accessed through `OmniboxController`. Chromium change: https://chromium.googlesource.com/chromium/src/+/c36dea22089c9a4ca7bce2d2be11d1f6595b5d0c commit c36dea22089c9a4ca7bce2d2be11d1f6595b5d0c Author: Mohamad Ahmadi <mahmadi@chromium.org> Date: Thu Jan 4 20:17:32 2024 +0000 [omnibox] Moves StopAutocomplete and StartPrefetch to OmniboxController This is intended to beef up the OmniboxController to play more of a controller role in the MVC model and provide a consistent interface for the caller to start/stop the Autocompletion flow. This CL does not move OmniboxEditModel::StartZeroSuggestRequest() and OmniboxEditModel::StartAutocomplete() to the OmniboxController yet. Removes result() and query_in_progress() from OmniboxController. Given the similar naming of OmniboxController and ACController, these convenience methods can be confusing to the reader. These methods can be called directly on an AutocompleteController instance which can be obtained from the OmniboxController. Bug: 1404748 * Fix `ComponentInstaller` overrides arg list The methods being overriden do not include a `TaskPriority` argument any longer. Chromium change: https://chromium.googlesource.com/chromium/src/+/f5b3542ab4e8de9e679924d33c7a3f5fa76695dd commit f5b3542ab4e8de9e679924d33c7a3f5fa76695dd Author: Noah Rose Ledesma <noahrose@google.com> Date: Fri Jan 5 17:14:24 2024 +0000 Allow components to be uninstalled w/o registering Previously attempting to uninstall a component before it was registered could cause a crash due to a null task runner. The task runner initialization has been moved to the installer's constructor. Additionally, Uninstall now operates without relying on registration info to locate the install directory. Bug: 1515745 * `IsPrivacySandboxEnabled` deleted upstream The function `IsPrivacySandboxEnabled` has been deleted based on what seems to be an effort to deprecate old versions supported for sandbox. This change deletes the removed virtual, and also a test around this method that cannot be carried out, now that the method has been deleted upstream. Chromium change: https://chromium.googlesource.com/chromium/src/+/59e9654b8b045701e709da49daf9f287611ef99f commit 59e9654b8b045701e709da49daf9f287611ef99f Author: Mariam Ali <alimariam@google.com> Date: Thu Jan 4 11:13:02 2024 +0000 Privacy Sandbox GA Cleanup: Remove deprecated IsPrivacySandboxEnabled method Bug: 1449833, 1310157 * `version_info` now under `//base` Brave's patches and overrides to the `//components` previous version have been moved into the new location. Chromium change: https://chromium.googlesource.com/chromium/src/+/778e421637a4f1cd2268a41a42130f9f83274e40 commit 778e421637a4f1cd2268a41a42130f9f83274e40 Author: Henrique Nakashima <hnakashima@chromium.org> Date: Fri Jan 5 19:51:57 2024 +0000 Move version_info into //base This is a step to move version_info from //components into //base, which is a dependency of cached feature flags which is also getting moved to //base. //components/version_info is left as a facade of //base/version_info. This CL leaves two copies of Channel.java, one in //components (copy of the auto-generated) and one in //base (auto-generated), in order to perform the migration to //base downstream. Soon after, https://crrev/c/5142488 will delete //components/version_info/.../Channel.java. I cannot do it on the same CL because of the Java @interface Channel which cannot easily be made into a facade. The upstream references are migrated in this same CL. Bug: 1515661 * Move `kPresetZoomFactors` overrides to the new blink path This change corrects the naming and location for the override of this values to the new location. Chromium change: https://chromium.googlesource.com/chromium/src/+/fb71620081ef26d4fce675edf57919840d3bf807 commit fb71620081ef26d4fce675edf57919840d3bf807 Author: Tove Petersson <tovep@chromium.org> Date: Fri Jan 5 11:43:10 2024 +0000 Move kPresetZoomFactors to blink kPresetZoomFactors is moved to blink so that it can be exposed to JavaScript without interprocess communication. Bug: 1466247 * `kPrivacySandboxApisEnabledV2` deprected upstream This change reexports the now deprecated prefs, in order for brave to keep disabling these prefs whenever privacy sandbox settings are changed. Chromium change: https://chromium.googlesource.com/chromium/src/+/59e9654b8b045701e709da49daf9f287611ef99f commit 59e9654b8b045701e709da49daf9f287611ef99f Author: Mariam Ali <alimariam@google.com> Date: Thu Jan 4 11:13:02 2024 +0000 Privacy Sandbox GA Cleanup: Remove deprecated IsPrivacySandboxEnabled method Bug: 1449833, 1310157 * Delete patches for certificate reporting Chromium change: https://chromium.googlesource.com/chromium/src/+/9390d199dd1c2c139fec34029694d9f19a13419a commit 9390d199dd1c2c139fec34029694d9f19a13419a Author: Mustafa Emre Acer <meacer@chromium.org> Date: Tue Jan 9 18:52:28 2024 +0000 Delete certificate reporting code Certificate reports were used to analyze root causes of certificate errors in Chrome and produce data for the SSL error assistant feature. A paper was published to document our findings. The SSL error assistant is also no longer maintained, so this code is no longer needed. Bug: 1479573 * `ExperimentalAsh` trait removed upstream This trait was being required for compatibility with `raw_ptr` instances held by upstream code. Chromium change: https://chromium.googlesource.com/chromium/src/+/447e6fd97fcdc01ccb53a4a064f40bd97528a873 commit 447e6fd97fcdc01ccb53a4a064f40bd97528a873 Author: Bartek Nowierski <bartekn@chromium.org> Date: Mon Jan 8 16:03:05 2024 +0000 Remove remnants of ExperimentalAsh trait This removes all the usage, as well as the definition. The trait was used to select pointers for the BRP experiment. BRP is now fully enabled for Ash, and the experiment is no longer necessary. This CL is mechanical and a no-op. * Privacy sandbox arg removed from `SetupTestState` This argument was aparently unused on the functions implementation with the recent removal of `IsPrivacySandboxEnabled()`. Chromium change: https://chromium.googlesource.com/chromium/src/+/6d0578a047725f4144abd08c74590fe9ca566426 commit 6d0578a047725f4144abd08c74590fe9ca566426 Author: Dan McArdle <dmcardle@chromium.org> Date: Mon Jan 8 16:29:25 2024 +0000 Remove unused privacy_sandbox_enabled param from SetupTestState() I think this was left behind by this cleanup commit: https://crrev.com/454bafbfd77ab9b43c388ca56aa8afe27efbb2ae Bug: 1449833 * Make adjustments for upstream tests * [Android] Update version for media3-exoplayer-hls Updated version to be inline with Chromium's libs. Chromium change: https://source.chromium.org/chromium/chromium/src/+/6f520b5d0cfd467443278c98224ae1e72903726d Updating androidx media3 copies to match DoubleDown required versions DoubleDown is red because we need these updated media3 libraries, which provide the missing ax.media3.session.MediaSession$ConnectionResult$AcceptedResultBuilder Change-Id: I9b5ab41d8ea545929452468d92ef115c8c28980f * Fix CommanderServiceBrowserTest There was a refactoring of the AutocompleteController which caused some tests to fail. There were two causes: A DCHECK that we weren't NotifyListeners wasn't called if the Provider was done in the controller. OmniboxView->SetText isn't immediately reflected in GetText, so there is a small refactor for making the Provider pass the current text. There's a weird going on where the ... has a space before it. I think that's fine to address separately, it doesn't look like the string has changed. * `GetProminent` removed from `MdTextButton` This function has been removed as `GetStyle` can be used with the same effect of determining if a button is with prominent style. Chromium change: https://chromium.googlesource.com/chromium/src/+/295aa0e71882fbb1fabb5e8f426f1745b88959ff commit 295aa0e71882fbb1fabb5e8f426f1745b88959ff Author: EmiliaPaz <emiliapaz@chromium.org> Date: Wed Jan 10 01:28:47 2024 +0000 Remove [Get/Set]Prominent() in favor of [Get/Set]Style Previously, MdTextButton only had 2 styles that could be set with SetProminent(). With the addition of a new style, now button style is set with SetStyle. Therefore, this remove calls GetProminent() and SetProminent() in favor of GetStyle() and SetStyle(ButtonStyle::kProminent), as all callers were updated. Fixed: 1406008 * `OwnedRule` renamed to `Rule` `UnownedRule` was deleted in upstream, and now `OwnedRule` is merely `Rule`, with access to `value()` simplified merely to `.value`. Chromium change: https://chromium.googlesource.com/chromium/src/+/d548a74bc71c5a42db47bc0737c8d17ee957521c commit d548a74bc71c5a42db47bc0737c8d17ee957521c Author: Christian Dullweber <dullweber@chromium.org> Date: Wed Jan 10 08:44:04 2024 +0000 ContentSettings: Remove UnownedRule struct The UnownedRule struct avoids copying base::Value objects but it requires holding a lock. This optimization is not needed anymore when copying Values for individual content setting queries gets removed with a followup change. (See doc linked in bug for details). Bug: b/316530672 * [ios] UI `bookmarks` target made reduntant This target doesn't exist anymore on upstream, and it had some cyclic reference. The iOS build links as normal without it. Chromium change: https://chromium.googlesource.com/chromium/src/+/8732c878384753db20a811084511bb9aae24232d commit 8732c878384753db20a811084511bb9aae24232d Author: Sylvain Defresne <sdefresne@chromium.org> Date: Wed Jan 10 12:00:45 2024 +0000 [ios] Resolve circular dependency in //ios/chrome/browser/ui/bookmarks Move all the files from //ios/chrome/browser/ui/bookmarks to the //ios/chrome/browser/ui/bookmarks/home target to remove circular dependencies between the two targets. As only //ios/chrome/browser/ui/bookmarks/home was including those headers in //ios/chrome/browser/ui/bookmarks, this make sense to merge them to the target. Fixed: 1409490 * `DetachedWebContents` wrapping contents in a `TabModel` Access to the `WebContent` instance occurs now through the `tab()` member. Chromium change: https://chromium.googlesource.com/chromium/src/+/773a4e18ae36bff759d1798ba47c7f8c5c19bcb1 commit 773a4e18ae36bff759d1798ba47c7f8c5c19bcb1 Author: Taylor Bergquist <tbergquist@chromium.org> Date: Thu Jan 11 00:18:11 2024 +0000 Make TabModels movable between tabstrips. This CL also adds a back reference to the containing TabStripModel, which TabStripModel keeps up to date as TabModels are moved in and out. Bug: 1476012 * Fix `SyncServiceObserver` mock listed function. `OnSyncConfigurationCompleted` has been deleted upstream, and this change corrects our mock for it. Chromium change: https://chromium.googlesource.com/chromium/src/+/2f144364e1cc5466d14a5914619fe629163b9eda commit 2f144364e1cc5466d14a5914619fe629163b9eda Author: Rushan Suleymanov <rushans@google.com> Date: Thu Jan 11 14:31:02 2024 +0000 [Sync] Remove unused OnSyncConfigurationCompleted from observer Bug: None * `CreateThrottles` argument type for resource request changed This is a simple type change to the function being overriden for an argument that just gets passed along, and of no consequence for our codebase. Chromium change: https://chromium.googlesource.com/chromium/src/+/2455e700019a2766db2b51c19e9ec4616e62b509 commit 2455e700019a2766db2b51c19e9ec4616e62b509 Author: Tsuyoshi Horo <horo@chromium.org> Date: Thu Jan 11 01:58:45 2024 +0000 Use network::ResourceRequest instead of WebURLRequest in ResourceFetcher blink::WebURLRequest is used for the argument of URLLoaderThrottleProvider::CreateThrottles() method after [1]. But we are planing to call this method from the background thread where we don't use blink::WebURLRequest [2]. Also we are planing to deprecate blink::WebURLRequest, and planing to use network::ResourceRequest instead [3]. So this CL changes the argument type of CreateThrottles() from blink::WebURLRequest to network::ResourceRequest. A network::ResourceRequest is created in ResourceLoader::Start(). So we pass the reference of the structure through ResourceFetcher:: CreateURLLoader(). In frames: ResourceLoader::Start() -> ResourceFetcher::CreateURLLoader() -> LoaderFactoryForFrame::CreateURLLoader() |-> URLLoaderThrottleProvider::CreateThrottles() |-> ServiceWorkerNetworkProviderForFrame:: | GetSubresourceLoaderFactory() |-> URLLoaderFactory::CreateURLLoader() In workers: ResourceLoader::Start() -> ResourceFetcher::CreateURLLoader() -> LoaderFactoryForWorker::CreateURLLoader() |-> WebWorkerFetchContext::CreateThrottles() | -> WebServiceWorkerFetchContextImpl::CreateThrottles() or | DedicatedOrSharedWorkerFetchContextImpl::CreateThrottles() | -> URLLoaderThrottleProvider::CreateThrottles() |-> URLLoaderFactory::CreateURLLoader() mojom::blink::RequestContextType in blink::WebURLRequest is checked in the code path. But this type member is not in network::ResourceRequest. network::ResourceRequest has a network::mojom::RequestDestination member. And some of these checks of mojom::blink::RequestContextType can be safely converted to network::mojom::RequestDestination without any behavior change. But the check in ResourceFetcher::CreateURLLoader() needs the mojom::blink::RequestContextType. Also we need to pass `service_worker_race_network_request_token` to LoaderFactoryForWorker::CreateURLLoader(), and `is_from_origin_dirty_style_sheet` flag to ServiceWorkerNetworkProviderForFrame::GetSubresourceLoaderFactory(). So this CL adds these three arguments to CreateURLLoader() methods. [1]: https://crrev.com/c/994152 [2]: https://crrev.com/c/5113665 [3]: https://groups.google.com/a/chromium.org/forum/#!topic/platform-architecture-dev/ntSzerId4gw Bug: 1379780 * `ContentSettingsType` moved into a mojom file This change moves our extension to that enum to the mojom file that now is used to generate that enum. Chromium change: https://chromium.googlesource.com/chromium/src/+/93a3620ca2272ce0352112ebe0f80e6ccbb4b73f commit 93a3620ca2272ce0352112ebe0f80e6ccbb4b73f Author: Kevin Graney <kmg@google.com> Date: Fri Jan 12 17:05:20 2024 +0000 Add a ContentSettingsType enum defined in mojo The goal of this change is to migrate the source of truth for the ContentSettingsType from a C++ header into mojo. Generated C++ from the mojo definition is exactly the same as the enum in content_settings_types.h, and moving the source of truth to mojo lets us generate a TypeScript equivalent enum more easily. This change also removes the complexity of type conversion with `EnumTraits<>`. Avoiding use of `EnumTraits` is recommended in the style guide. https://chromium.googlesource.com/chromium/src/+/HEAD/docs/security/mojo.md#using-mojo-enums-directly-when-possible Generated Java enums are slightly different, unfortunately requiring a small change to the type name in every usage. Bug: b:317035343 * `PrepopulatedEngine` using `char16_t` `PrepopulatedEngine` and all other types generated by `json_to_struct.py` have migrated the use of `wchar_t` to `char16_t`. Chromium change: https://chromium.googlesource.com/chromium/src/+/d829ce89a08cd89666b1a0d99eb49db458faf200 commit 252f9ac0b9b2eb17a16ccb37e3ea66b7eaf8d5c8 Author: Bryan Nguyen <nguyenbryan@google.com> Date: Tue Jan 31 00:05:10 2023 +0000 [Lens] Add context menu item to translate text in image. The context menu item will be displayed only if the page is currently being translated. It is also gated behind a feature flag. The functions for image search are parameterized to allowing specifying image translation, which involves using a different search URL and adding URL parameters. Both Lens and third-parties are supported. Adds a new enum value in lens::EntryPoint for image translate. Currently this is being handled the same as image search (i.e. the same query parameters will be sent to Lens) - will update this as a follow-up. Adds three new fields to prepopulated_engines_schema.json for describing how to populate image translate URLs. Design doc: go/lens-chrome-translate-filter Cq-Include-Trybots: luci.chrome.try:linux-chromeos-chrome,mac-chrome,linux-chrome,win-chrome,win64-chrome Bug: b/265073008 * `navigation_id` being passed through `CreateURLLoaderThrottles` This is just an extra argument that gets passed along on all brave implementations. Chromium change: https://chromium.googlesource.com/chromium/src/+/eddfce30a3eb10a2897db3ed64caa6b39c6dc400 commit eddfce30a3eb10a2897db3ed64caa6b39c6dc400 Author: Xinghui Lu <xinghuilu@chromium.org> Date: Thu Jan 11 19:32:16 2024 +0000 [AsyncSB] Pass navigation_id into CreateURLLoaderThrottles This info will eventually be used to implement AsyncCheckTracker::IsMainPageLoadPending[1]. We will add navigation_id in security_interstitials::UnsafeResource and use it to determine whether DidFinishNavigation has been called and whether we should show a post commit error. The navigation_id is needed to map UnsafeResource back to the original navigation that triggered this Safe Browsing check. This CL only bubbles up navigation_id to the embedder layer without actual usage. The actual usage will be done in the following sequence: 1) Inject navigation_id into safe_browsing/ layer: https://crrev.com/c/5171128. 2) Consume the navigation_id in safe_browsing::AsyncCheckTracker: https://crrev.com/c/5171302. More context in http://shortn/_92fIErC6tC (google only). [1] https://source.chromium.org/chromium/chromium/src/+/main:components/safe_browsing/content/browser/async_check_tracker.cc;l=35;drc=e71b6befbb758f58280989b2a83b583a7394fe06 Bug: 1501194 * IWYU fixes * Updated `BrowserFrameViewLinuxNative` ctor This change is of not much consequence to how this code works except that brave overrides have been updated to match the upstream code. Chromium change: https://chromium.googlesource.com/chromium/src/+/a6f88535e9ccda6d38a350be9068dcbc135f80e0 commit a6f88535e9ccda6d38a350be9068dcbc135f80e0 Author: Tom Anderson <thomasanderson@chromium.org> Date: Fri Jan 12 04:46:32 2024 +0000 Polish tiled browser window UI on Linux When in tiled mode: - Don't draw rounded corners - Don't draw shadows - Increase input region to account for resize borders R=sky Change-Id: Ifa7e87ae801c96b0176397005bbdd21ee53e0900 Fixed: 1488638 * `is_direct` removed from `ProxyServer` It seems to be the case that this can only be tested agains `ProxyChain`, however following upstream fashion, this check is just removed. Chromium change: https://chromium.googlesource.com/chromium/src/+/deae655274cd6571bf0e2d6c692c471e893f1be1 commit deae655274cd6571bf0e2d6c692c471e893f1be1 Author: Ciara McMullin <ciaramcmullin@google.com> Date: Thu Jan 11 16:13:45 2024 +0000 Remove SCHEME_DIRECT from ProxyServer::Scheme since a direct connection is now specified by an empty ProxyChain. Refactor CrosapiSchemeToNetScheme -> ProxyToProxyChain and ProxyDictionaryToProxyServer -> ProxyDictionaryToProxyChain to support direct proxy chains. There are no functional changes intended in this CL. Bug: 1515118 * [WIP] Adjusting to `URLLoaderThrottleProviderImpl` ctor changes Chromium change: https://chromium.googlesource.com/chromium/src/+/f794e224cb310e911e164bd42d5e06ebbe13704f commit f794e224cb310e911e164bd42d5e06ebbe13704f Author: Tsuyoshi Horo <horo@chromium.org> Date: Mon Jan 15 08:35:25 2024 +0000 Make IdentityUrlLoaderThrottle work on non-main thread Currently IdentityUrlLoaderThrottle is not created by URLLoaderThrottleProvider when CreateThrottles() is called on non-main thread. So IdentityUrlLoaderThrottle don't work for subresource requests from workers. This is not a big issue since login and logout requests are rarely sent by workers. But it will be a problen when we will call CreateThrottles() of a cloned URLLoaderThrottleProvider on the background thread for normal subresource requests from frames for BackgroundResourceFetch feature (crrev.com/c/5113665). So this CL does followings: 1. Keep the main thread task runner in providers (URLLoaderThrottleProviderImpl and ShellContentRendererUrlLoaderThrottleProvider). 2. Make CreateThrottles() method of the providers create IdentityUrlLoaderThrottle even when it is called on non-main thread. 3. In the callback of MaybeCreateIdentityUrlLoaderThrottle, use the main thread task runner to call blink::SetIdpSigninStatus() in the main thread when the callback is called on non-main thread. Low-Coverage-Reason: COVERAGE_UNDERREPORTED Bug: 1379780 * [Android] CachedFlag was moved to //base Chromium change: https://source.chromium.org/chromium/chromium/src/+/db3e1d9b131df5a2e2a34114a76a0cbafc3c14d5 [Android] Move CachedFlag and CachedFieldTrialParameter to //base Move all generic flags classes, including CachedFlag, PostNativeFlag, CachedFieldTrialParameter and subclasses to //base/cached_flags, along with tests. Bug: 1442347 * [Android] Site settings fixes Chromium change: https://source.chromium.org/chromium/chromium/src/+/93a3620ca2272ce0352112ebe0f80e6ccbb4b73f Add a ContentSettingsType enum defined in mojo The goal of this change is to migrate the source of truth for the ContentSettingsType from a C++ header into mojo. Generated C++ from the mojo definition is exactly the same as the enum in content_settings_types.h, and moving the source of truth to mojo lets us generate a TypeScript equivalent enum more easily. This change also removes the complexity of type conversion with `EnumTraits<>`. Avoiding use of `EnumTraits` is recommended in the style guide. https://chromium.googlesource.com/chromium/src/+/HEAD/docs/security/mojo.md#using-mojo-enums-directly-when-possible Generated Java enums are slightly different, unfortunately requiring a small change to the type name in every usage. Bug: b:317035343 * Workaround to URLLoaderThrottleProviderImpl passkey requirement by providing protected static GetPassKey(). Chromium change: https://chromium.googlesource.com/chromium/src/+/f794e224cb310e911e164bd42d5e06ebbe13704f commit f794e224cb310e911e164bd42d5e06ebbe13704f Author: Tsuyoshi Horo <horo@chromium.org> Date: Mon Jan 15 08:35:25 2024 +0000 Make IdentityUrlLoaderThrottle work on non-main thread Currently IdentityUrlLoaderThrottle is not created by URLLoaderThrottleProvider when CreateThrottles() is called on non-main thread. So IdentityUrlLoaderThrottle don't work for subresource requests from workers. This is not a big issue since login and logout requests are rarely sent by workers. But it will be a problen when we will call CreateThrottles() of a cloned URLLoaderThrottleProvider on the background thread for normal subresource requests from frames for BackgroundResourceFetch feature (crrev.com/c/5113665). So this CL does followings: 1. Keep the main thread task runner in providers (URLLoaderThrottleProviderImpl and ShellContentRendererUrlLoaderThrottleProvider). 2. Make CreateThrottles() method of the providers create IdentityUrlLoaderThrottle even when it is called on non-main thread. 3. In the callback of MaybeCreateIdentityUrlLoaderThrottle, use the main thread task runner to call blink::SetIdpSigninStatus() in the main thread when the callback is called on non-main thread. Low-Coverage-Reason: COVERAGE_UNDERREPORTED Bug: 1379780 * [Android] Fixes for new tab page Chromium change: https://source.chromium.org/chromium/chromium/src/+/27c065cfb71a2f61314fbba548b0f5db45c3ac4e [MagicStack] Add the magic stack to NTP home surface. In this CL, the magic stack is added to the NTP home surface. Make NewTabPage implements the ModuleDelegateHost interface. Showing the magic stack in non-home surface NTP will be done in a follow up CL. DD: go/magic-stack-on-clank-dd Bug: 1512962 * Client hints feature flags deleted upstream Chromium changes: https://chromium.googlesource.com/chromium/src/+/adee8f40c37577323e95ff918bb56fa6065effee commit adee8f40c37577323e95ff918bb56fa6065effee Author: Ari Chivukula <arichiv@chromium.org> Date: Tue Jan 16 14:46:55 2024 +0000 [runtime enabled feature cleanup] Remove ClientHintsMetaEquivDelegateCH This has been launched since M98. Bug: 1517958 https://chromium.googlesource.com/chromium/src/+/e84e6de7365f8adcd375bdffae409b6cd8e69dc4 commit e84e6de7365f8adcd375bdffae409b6cd8e69dc4 Author: Ari Chivukula <arichiv@chromium.org> Date: Tue Jan 16 15:37:09 2024 +0000 [runtime enabled feature cleanup] Remove ClientHintsMetaHTTPEquivAcceptCH This has been launched since M105. Bug: 1517958 https://chromium.googlesource.com/chromium/src/+/4ab383b4fb8ec4c6c7f00e79132e68786159e72e commit 4ab383b4fb8ec4c6c7f00e79132e68786159e72e Author: Ari Chivukula <arichiv@chromium.org> Date: Tue Jan 16 15:43:27 2024 +0000 [runtime enabled feature cleanup] Remove ClientHintThirdPartyDelegation This has been launched since M100. Bug: 1517958 * Adjust resource_ids.spec to avoid duplicate resources with upstream * [Android] New tab page fixes Chromium change: https://source.chromium.org/chromium/chromium/src/+/7c9217eec9fcf69e01a223e1498ac51a6b3b6305 [Android TRM] Add skeletal files to show empty module. This CL adds skeletal files to render an empty Tab Resumption Module, serving as placeholders to be populated with business logic in upcoming CLs. The main .java source files follow Clank UI architecture (MVC): * ...Util.java: Static helpers. * Helper to test whether the TRM should be shown. Currently this only checks the #enable-tab-resumption-module flag. * Helper as main initializer. * ...Coordinator.java: Owner; public interface of component. * ...Mediator.java: Business logic; bridge to other Chrome parts. * ...View.java: Derives form Android View class, for rendering. * Derive from LinearLayout to anticipate row-by-row stacking. * ...ViewBinder.java: Updates View in response to property changes. * ...Properties.java: Keys to all properties. * Add IS_VISIBLE. The TRM is shown with title only, and no content. Also add skeletal unit tests for {Util, Mediator, View}. Bug: 1515325 * [Android] Tab Switcher Pane Init Chromium change: https://source.chromium.org/chromium/chromium/src/+/e897a5182ecf608e0a02da5a3b369ee499394768 [Hub] Tab Switcher Pane Init Glue code to wire up Tab Switcher Panes. With this the flag becomes "functional" and actually allows using the Hub variant of the tab switcher. There will likely be bugs. More integration tests will be added for this in HubLayoutPublicTransitTest. However, I don't think this breaks any existing functionality as all non-hub tests continue to pass. Binary-Size: Enables tab switcher in hub which is an entire feature. Bug: 1505772 * [Android] Remove getLastUsedRegularProfile from FeedFeatures Chromium change: https://source.chromium.org/chromium/chromium/src/+/0847e3aa71c826bd0a23bfa80fd79539744c84bb Remove getLastUsedRegularProfile from FeedFeatures. Bug: 1410601 * [Android] Fixes for Widevine permission request Chromium change: https://source.chromium.org/chromium/chromium/src/+/00aea98302114c41e40f5ce542c7e26640757348 Remove language structure assumptions in bolding logic. Previously, origin bolding happened by identifying the first space character and making all characters up to that location bold. This means the first word is boldened. This assumption is incorrect, as in some languages the first word is not the origin. Low coverage due to moving of untested code (Clank prompt creation for SA). Low-Coverage-Reason: OTHER Bug: 1512613 * Reinstate Keystone support We need to reinstate some of the Keystone support files, as we hook into some of that infrastructure for Sparkle. Chromium change: https://source.chromium.org/chromium/chromium/src/+/7e25bd3b8073a10aa8db64195e5a666227886bf2 commit 7e25bd3b8073a10aa8db64195e5a666227886bf2 Author: Joshua Pawlicki <waffles@chromium.org> Date: Thu Jan 11 15:43:19 2024 +0000 Remove Keystone from Chrome. While doing this, some issues with brand code handling were discovered. The code in brand_code does not align with the code in keystone_installer, which results in the two not correctly communicating the brand code in some cases. I've standardized the behavior on what is in keystone_installer, because I think that's the least disruptive. In practice, it's a marginal issue anyways. Fixed: 1504587, 1498732 * Do not replace "powered by Google AI" in strings files * Use `SearchEngineChoiceService` `SearchEngineChoiceService` is now passed to functions related to search engine components. This requires updates to calls for `GetPrepopulatedEngine` and similar functions. This change corrects our own overrides to take into account the choice service instance when returning values, and also corrects different tests to pass the instance when calling these functions. Chromium change: https://chromium.googlesource.com/chromium/src/+/2b77815a114063c715991c42702286383307116b commit 2b77815a114063c715991c42702286383307116b Author: Boris Sazonov <bsazonov@chromium.org> Date: Wed Jan 17 15:35:04 2024 +0000 🧇 Create SearchEngineChoiceService Moves a large chunk of methods from search_engine_choice_utils.h into a newly created SearchEngineChoiceService which is a KeyedService. No behavior changes. Low-Coverage-Reason: LARGE_SCALE_REFACTOR Bug: b/318801987 * Privacy sandbox `SetupTestState` deleted Chromium change: https://chromium.googlesource.com/chromium/src/+/5c34326a2d8c69d3674e2386d742b5217b6b6937 commit 5c34326a2d8c69d3674e2386d742b5217b6b6937 Author: Mariam Ali <alimariam@google.com> Date: Wed Jan 17 08:01:58 2024 +0000 Privacy Sandbox GA Cleanup: Deprecate trials test setup method This CL removes the old privacy sandbox trials setup method. Some tests were affected by this change including the attribution reporting debug mode test. Setting the cookie exception manually caused the test to fail due to feature enabled states overlapping. The CL introduced a new test suite to parameterise the test instead of a loop to ensure the overlap doesn't happen. Bug: 1442226 * `RenderViewHost` getter removed from `RenderViewContextMenuProxy` This change is of no effect to brave, as it only affects the stub of a mock returning a nullptr. Chromium change: https://chromium.googlesource.com/chromium/src/+/3fd0e9663bec4f2e83f6313d36e33acbb190ca7b Author: Ian Vollick <vollick@chromium.org> Date: Thu Dec 14 21:51:51 2023 +0000 Avoid use of RenderViewHost in RenderViewContextMenu With this change, we switch callers to getting a RFH (either for the appropriate subframe or the primary main frame of the associated web contents) as suggested by mcnee@. Bug: 1129073,1393234 * [ios] Skia `SkMasks.cc` moved to skia core With this file being moved into skia core target, it is not necessary anymore for it to be included as part of a custom target for svg rendering. Chromium change: https://skia.googlesource.com/skia/+/02e94b3b4d2972cca594302825e635f1879c7bd8 commit 02e94b3b4d2972cca594302825e635f1879c7bd8 Author: Kevin Lubick <kjlubick@google.com> Date: Mon Jan 15 10:58:04 2024 -0500 Move SkMasks from src/codec to src/core These are also used by some text code. Change-Id: Ia7cffc52791a5c9a7477f2215eae9218dd75d75c Bug: b/40045064 * Moving DNS P3A metrics to new path A large part of `HostResolver` was moved to `HostResolverManager::Job`, and therefore brave's override for metrics had to be moved accordingly. Chromium change: https://chromium.googlesource.com/chromium/src/+/d7f6d7306d7cf1050cc51997712a9bc45ed9d9dc commit d7f6d7306d7cf1050cc51997712a9bc45ed9d9dc Author: Kenichi Ishibashi <bashi@chromium.org> Date: Wed Jan 17 05:20:43 2024 +0000 Move HostResolverManager::{Job,RequestImpl} into separate files Bug: chromium:1518698 * Refactor `GetCookieSettingInternal` override Chromium change: https://chromium.googlesource.com/chromium/src/+/eedd954c3e4fac0925f7ac3542e1eedeec27de3f commit eedd954c3e4fac0925f7ac3542e1eedeec27de3f Author: Dan McArdle <dmcardle@chromium.org> Date: Thu Jan 18 18:29:47 2024 +0000 Refactor CookieSettingsBase::GetCookieSettingInternal() I found the original implementation difficult to reason about, I think primarily due to not really understanding the `block_third` variable. There's also some repetitive checking of conditions that are variations on `block_third` and `IsAllowed(setting)`. I found these confusing because `IsAllowed(setting)` is a part of the conjunction that defines `block_third`'s original value! Finally, I found it difficult to reason about whether the return value wants to allow or block cookies, since it's defined in terms of variables, some of which may have been mutated during the course of the function. This CL addresses these sticking points by untangling the logic and moving it into a helper function. The helper function is a sequence of branches, each of which returns a clearly-labeled value. The helper function returns absl::variant<AllowAllCookies, AllowPartitionedCookies, BlockAllCookies>. The goal is that the reader can clearly see the intent in lines like `return BlockAllCookies{};`. Bug: 1519246 * `WDKeywordsResult` field configuration changed This structure is now encapsulating the field being used during test into another substructure for metadata. Chromium change: https://chromium.googlesource.com/chromium/src/+/354c10a535404c945f3471a3f4b8f6cd7c59e743 commit 354c10a535404c945f3471a3f4b8f6cd7c59e743 Author: Nicolas Dossou-Gbete <dgn@chromium.org> Date: Mon Jan 22 11:18:37 2024 +0000 🧇 Add country and milestone as keyword DB remerge triggers Adds new metadata associated with the built-in keywords to the search engines database: the country for which we loaded the prepopulated search engines, and the Chrome milestone when that happened. This metadata field is updated every time we change the built-in keyword data on load, but it might trigger re-merges only in certain cases (e.g. related to the search engine choice feature state, or the profile being in the EEA). Bug: b:320461832 Fixed: b:310615953 * Search provider returning metadata info through a struct Version-related arguments for `GetSearchProvidersUsingKeywordResult` have been reworked into a metadata struct where they can be packed together and returned. Chromium change: https://chromium.googlesource.com/chromium/src/+/af259e78c21772187c108a30d33183831dca7299 commit af259e78c21772187c108a30d33183831dca7299 Author: Nicolas Dossou-Gbete <dgn@chromium.org> Date: Fri Jan 19 20:53:55 2024 +0000 🧇 Refactor search engine DB remerge trigger Prepares for adding new criteria that can trigger template urls to be re-merged, besides the data version. No behaviour change is expected with this CL. Bug: b:320461832 * `SetWebsiteSetting` requires a `PartitionKey` The partition key can be passed along on the use being corrected in code. Chromium change: https://chromium.googlesource.com/chromium/src/+/6b0340a666e1d0e8f937581efe7e2f7f055f9514 commit 6b0340a666e1d0e8f937581efe7e2f7f055f9514 Author: Jason Lin <lxj@google.com> Date: Fri Jan 19 07:31:56 2024 +0000 Support partitioning in content_settings::PrefProvider Bug: b/307193732 * `content_settings::Observer` requires a `PartitionKey` For the existing use of this observer, a partition key is not being provided as it doesn't seem to be necessary for our use-case. Chromium change: https://chromium.googlesource.com/chromium/src/+/91c4ae13d96bf74dcefd4653a5e8a2b8dabffcbb commit 91c4ae13d96bf74dcefd4653a5e8a2b8dabffcbb Author: Jason Lin <lxj@google.com> Date: Mon Jan 22 11:26:56 2024 +0000 Update content_settings::Observer to include PartitionKey Bug: b/307193732 * `OriginIdentifierValueMap` renamed This class has been renamed to `OriginValueMap`, and with nothing more as a consequence. Chromium change: https://chromium.googlesource.com/chromium/src/+/2575796a49e9d212dde1cb4b6c7cf4d591d5ab4b commit 2575796a49e9d212dde1cb4b6c7cf4d591d5ab4b Author: Jason Lin <lxj@google.com> Date: Mon Jan 22 01:37:27 2024 +0000 Remove "Identifier" from the name [Partitioned]OriginIdentifierValueMap Change-Id: I56de10833dfd1add5a852c227be25328567d7da2 * [Android] Remove getLastUsedRegularProfile from UpdateMenuItemHelper Chromium change: https://source.chromium.org/chromium/chromium/src/+/26ca76247ab0d8c08cf65894f1686dabe8dd6e08 Remove getLastUsedRegularProfile from UpdateMenuItemHelper. This converts the singleton instance to a Profile-keyed class. This also renames shouldShowUpdateBadge to canShowUpdateBadge as this was confusing during reading. When reading, should (to me) implied that the item was to be displayed if true, but it is only shown based on other criteria like being out of date. Thus, "can" more clearly read to me that the update badge is allowed to be shown if other conditions are met. Bug: 1410601 * OriginalFunctions is now a struct Chromium change: https://source.chromium.org/chromium/chromium/src/+/fba4ed89eb65b0253df6945882033ed83376b20f commit fba4ed89eb65b0253df6945882033ed83376b20f Author: Ben Bamesberger <benb@microsoft.com> Date: Mon Jan 22 21:10:39 2024 +0000 Windows sandbox: Split TransferVariable address param into local and remote parts This change enables concurrent use of TransferVariable by splitting the address param into local and target parts. This allows the broker to copy data from a local variable instead of from the global variable. This works because the broker only needs the address of a global variable in its own process for determining the corresponding address in the target, and so it is not required for any data to be set in the broker-side global before copying. Bug: 1499551 * Add Partitioned preferences to our prefs database Chromium change: https://source.chromium.org/chromium/chromium/src/+/dbee17533eef6107c1748022f65473e360bd5225 commit dbee17533eef6107c1748022f65473e360bd5225 Author: Jason Lin <lxj@google.com> Date: Mon Jan 15 01:21:45 2024 +0000 Add partitioned_pref_name to content_settings::WebsiteSettingsInfo Bug: b/307193732 * [Android] Changes for NotificationPlatformBridge Chromium change: https://source.chromium.org/chromium/chromium/src/+/7326bef93bc8fffffa63ea8abd5e93df5a0bd89c Simplify NotificationPlatformBridge. This CL simplifies the NotificationPlatformBridge implementation by removing unused arguments, and by introducing a nested class to group common notification arguments identifying a notification and its source. The method `buildNotificationWrapper` is also de-coupled from the logic to `appendSiteSettingsButton`, and `prepareNotificationBuilder` is decoupled from adding content/delete handlers. There are some small mechanical changes. All changes should be no-ops functionally. Bug: 1519634 * Fixed SpeedReaderBrowserTest.RestoreSpeedreaderPage. * [Android] Added androidx libs removed in the upsteam We still use them in Playlist feature. Chromium change: https://source.chromium.org/chromium/chromium/src/+/d24bc8a78dd9693535015d51d1b988df187050f3 Revert "Roll androidx from BW2v6j8vjcVQrdX9f... to -Pfe65blElulocPye..." This reverts commit 9e9356de1e0197b484ce65f334a876e9f7e58a4a. Reason for revert: Suspected cause of build failures: crbug.com/1519713 Original change's description: > Roll androidx from BW2v6j8vjcVQrdX9f... to -Pfe65blElulocPye... > > If this roll has caused a breakage, revert this CL and stop the roller > using the controls here: > https://autoroll.skia.org/r/androidx-chromium > Please CC clank-build@google.com,clank-library-failures@google.com,wnwen@google.com on the revert to ensure that a human > is aware of the problem. > > To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry > > To report a problem with the AutoRoller itself, please file a bug: > https://issues.skia.org/issues/new?component=1389291&template=1850622 > > Documentation for the AutoRoller is here: > https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md > > Cq-Include-Trybots: luci.chrome.try:android-internal-binary-size;luci.chrome.try:android-internal-rel > Tbr: clank-library-failures@google.com > Change-Id: Ib7a26c2fd4ebba2f48fd9c31c4c11452ff7faea2 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5214668 > Bot-Commit: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> > Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> > Cr-Commit-Position: refs/heads/main@{#1249129} Change-Id: Ie7df335864ed868400610efb744071a9abbc1df2 Cq-Include-Trybots: luci.chrome.try:android-internal-binary-size;luci.chrome.try:android-internal-rel No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 1519713 * [Android] New pref in safety check settings Chromium change: https://source.chromium.org/chromium/chromium/src/+/004b0920380576bd04e12e8f4a37d5af106bc158 [UPMLocalSettings] Introduce the UI for the second password check This CL introduces a new password check preference into safety_check_preferences.xml. When there will be split stores, one preference will be used to display the result of the password check in the local password storage, another - for the account password storage. SafetyCheckSettings fragment also has the logic to set visibility of the local and account tied preferences depending on whether the appropriate password storage is available. Bug: b/306670833 * Remove overrides for `BindStorageArea` These functions have been overriden to allow the use of `GetEphemeralStorageKeyOrStorageKey` when required. However, with recent changes to `BindStorageArea`, it seems more approppriate to patch the caller for that. A patching has been added accordingly. Chromium change: https://chromium.googlesource.com/chromium/src/+/901a0c44c13aea9a6a3cdbc19f06df14f86bd436 commit 901a0c44c13aea9a6a3cdbc19f06df14f86bd436 Author: Ari Chivukula <arichiv@chromium.org> Date: Tue Jan 9 20:13:03 2024 +0000 [SAA] Fix Session/Local Storage Binding for Handle An external developer reported a bug: https://github.com/arichiv/saa-non-cookie-storage/issues/11 where the local/session storage area bound to the handle would be the partitioned one instead of the unpartitioned one. This happened when the unpartitioned handle wasn't already in the renderer-side cache, so was traced to an error in the binding code. This fix should resolve the issue, but won't be merged back into M121 as it's not an urgent vulnerability. Once in trunk, an email alerting developers to a fix in M122 will be made on the I2E blink-dev thread. Note that the scope of bindings allowed is already secured on the browser side so this does not impact IPC security: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/dom_storage/dom_storage_context_wrapper.cc;drc=23a4e772ead0273151c4e8412cdf084797fd3935;l=289 Bug: 1484966 * Extract PDF content from pdf region because status subtree under pdf root now contains static text. chromium change: https://chromium.googlesource.com/chromium/src/+/e7b77d864a20bc6f294eb69762059c17a9312d44 commit e7b77d864a20bc6f294eb69762059c17a9312d44 Author: Ramin Halavati <rhalavati@chromium.org> Date: Thu Jan 18 09:24:21 2024 +0000 Add static text node to PDF OCR status node. A StaticText node is added to the Status node of PDF OCR, so that it would be considered as a rendered node in node ordering comparisons. Bug: 1443341 Change-Id: I5e7a6e619f219c09a48eb4371c51f234d181d167 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5182920 Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: David Tseng <dtseng@chromium.org> Commit-Queue: Ramin Halavati <rhalavati@chromium.org> Cr-Commit-Position: refs/heads/main@{#1248647} * Argument added to `PermissionRequest` ctor This constructor is now receiving an automatic embargo argument, that has to be passed along by our own override. Chromium change: https://chromium.googlesource.com/chromium/src/+/b333180137a5f4a691972d63cd14c9df9d692086 commit cf64328f5a321cdf68eed8bac9d4bd13f57ce581 Author: Helmut Januschka <helmut@januschka.com> Date: Thu Jan 25 12:46:33 2024 +0000 runloop: finalize refactor of Quit*Deprecated() RunLoop usage Bug: 922118 * Adjust unit test to account for changes to kSearchEngineChoiceTrigger feature flag This flag is disabled on Windows and enabled on Mac/Linux, but will eventually be enabled on all three. Chromium change: https://source.chromium.org/chromium/chromium/src/+/7f209e568a1c3a2829ad6309dd3228e70f85239f commit 7f209e568a1c3a2829ad6309dd3228e70f85239f Author: Nicolas Dossou-Gbete <dgn@chromium.org> Date: Mon Jan 22 16:33:07 2024 +0000 🧇 Enable the feature by default on macOS,Linux,ChromeOS Per rollout plan, the other platforms will be toggled separately. See http://shortn/_fHkGG8hPkU Bug: b:315126434 * Disable features flagged by privacy/security team * `kUserAgentClientHint` deleted upstream Chromium change: https://chromium.googlesource.com/chromium/src/+/7cb768195fc3a89fa618fec85e2d1b0dbd4e3c42 commit 7cb768195fc3a89fa618fec85e2d1b0dbd4e3c42 Author: Victor Tan <victortan@google.com> Date: Fri Jan 19 22:53:24 2024 +0000 Remove UserAgentClientHint feature flag The Client hints feature has been rolled out in all platforms. Change-Id: Ib1d3cdeccf34dc57211627278cf7485beade137d Bug: 1518844 * [ios] Need to ensure that SessionRestorationServiceFactory is started * Remove IS_PERMISSIONS_COMMON_IMPL definition to avoid triggering DCHECK when overriding features Upstream changed permissions_common to be a source_set (used to be a component). That change triggered a DCHECK in our feature override code that looks for features that were already overridden. Will follow up with upstream folks to get this patch submitted there. Chromium change: https://source.chromium.org/chromium/chromium/src/+/e8ee9a2058c029e1fa9f5c8b1bfc32aed1e7ec04 commit e8ee9a2058c029e1fa9f5c8b1bfc32aed1e7ec04 Author: Adrian Taylor <adetaylor@chromium.org> Date: Mon Jan 22 13:21:55 2024 +0000 Make permissions_common a source_set. This was previously impossible but it would be great to try it again because it will solve some issues with a problematic fuzzing framework. Bug: 1327384, 1519605 * Temporarily disable PGO phase on Android due to upstream experiment * [Android] Moves monochrome_public_apk from 32-bit primary to 64-bit primary Chromium change: https://source.chromium.org/chromium/chromium/src/+/8f211ca26a664bf7f7a547140e98eb3fe7b45a80 Change telemetry monochrome to be 64-bit primary This also moves monochrome_public_apk from 32-bit primary to 64-bit primary. We do this in the same CL to avoid making a new monochrome target for telemetry. Bug: 1479998 * fixup! [Android] Minor code adjustments to the C122 upstream changes * Ignore scons-out directory when checking licenses --------- Co-authored-by: Claudio DeSouza <cdesouza@brave.com> Co-authored-by: Artem Samoilenko <artem@brave.com> Co-authored-by: mkarolin <max@brave.com> Co-authored-by: Jay Harris <jay.harris@outlook.co.nz> Co-authored-by: Anthony Tseng <darkdh@gmail.com> Co-authored-by: boocmp <boocmp@yandex.ru> |
||
|
|
b8776a772c | [Android] Minor code adjustments to the C121 upstream changes | ||
|
|
6d32aa8484 | [Android] Fixes for the new java format | ||
|
|
fbe79a8498 |
[Android] Disable DSE change handling when Feed is disabled
We need to disable it to avoid UI issues since we have our own NTP implementation and don't use Feed. Chromium change: https://github.com/brave/chromium/commit/2a587a94d143f4b3ffedf4e5d88d6b074d47f4fb [DSE] Hide Feeds and its header according to DSE. In this CL, Feeds and its header will be completely hidden if swapping out NTP is enabled and DSE isn't Google. Therefore, the following changes are made in FeedSurfaceMediator: 1. Add Pref:EnableSnippetsByDse to track whether the DSE is Google. 2. Once this pref is changed, we hide or show Feeds and its header. 3. Keep an observer of TemplateUrlService even when Feeds isn't visible. Updates the pref value when DSE is changed. Demo: https://drive.google.com/file/d/1Q6MV5B2Fh79hyt0lbBaYoSO01H7ngxJP/view?usp=drive_link Bug: 1475011 Change-Id: Ie00173cbd86ff9bfaf27481935c567871171c95a |
||
|
|
959d574eea |
[Android] destroyPropertiesForStream is package visible now
Chromium change: https://github.com/brave/chromium/commit/2a587a94d143f4b3ffedf4e5d88d6b074d47f4fb [DSE] Hide Feeds and its header according to DSE. In this CL, Feeds and its header will be completely hidden if swapping out NTP is enabled and DSE isn't Google. Therefore, the following changes are made in FeedSurfaceMediator: 1. Add Pref:EnableSnippetsByDse to track whether the DSE is Google. 2. Once this pref is changed, we hide or show Feeds and its header. 3. Keep an observer of TemplateUrlService even when Feeds isn't visible. Updates the pref value when DSE is changed. Demo: https://drive.google.com/file/d/1Q6MV5B2Fh79hyt0lbBaYoSO01H7ngxJP/view?usp=drive_link Bug: 1475011 |
||
|
|
7577892ea8 | [Android] Minor code adjustments to the C119 upstream changes | ||
|
|
97d8e8404b | [Android] Minor code adjustments to the C117 upstream changes | ||
|
|
6523c3bace |
Enable CheckJavaStyle presubmit check (#18761)
* Enable CheckJavaStyle presubmit check For now severity for all checks except RedundantImport/UnusedImports is changed from error to warning with brave-style-5.0.xml. Once all Java style errors will be fixed, check should be switched back to upstream's original check. Fixes brave/brave-browser#30823 * Remove all unused/redundant imports from java files |
||
|
|
39cf09370b |
Fix copyright header (#18011)
Replaces `http` protocol with `https` in the copyright header for Java and XML files. |
||
|
|
82e2944de6 |
[Android] Boorkmarks code moved to components
Chromium change: https://github.com/chromium/chromium/commit/af779f133d1a1e9129826015568688bc6de33961 [Fixit][Bookmarks] Extract BookmarkItem to components This is almost a pure move. One of the methods used ReadingList related functionality and was moved to BookmarkUtils. Bug: 1150129 |
||
|
|
dc7164883d | ntp recyclerview refactor | ||
|
|
23e0f15b34 |
[Android] New changes for FeedSurfaceCoordinator
Chromium change: https://github.com/chromium/chromium/commit/ff81de2378f2e5b5842d0b21d2adf75dbaa0ca7f Feed: add logging for more feed launch cancel cases * NAVIGATED_AWAY_IN_APP: logged when the user follows a non-feed-content link during the feed launch. For the NTP it is logged from our TabObserver.onPageLoadStarted(); it will need to be done differently for Start Surface since the feed isn't in a tab. * NAVIGATED_BACK: logged when "back" is pressed causing the feed surface to disappear during feed launch. A later change will log it for NTP and Start. * NAVIGATED_TO_ANOTHER_TAB: User went to another tab during feed launch. This isn't normally what we mean by "navigate" but the name came from logging in the other Discover surfaces. The NTP and Start changes in this CL just plumb a TabModelSelector to FeedSurfaceCoordinator. Later CLs will hook up the specific logging described above for each surface. Bug: 1195940 |
||
|
|
7c50bb3311 |
[Android] Changes for refactored feed
Chromium change: https://github.com/chromium/chromium/commit/83240f0bfaff0e0056e0c806e49530bfc06b80f5 Feed: Refactor reliability logging code and add some tests * Move common logging methods out of FeedSurfaceCoordinator and FeedSurfaceMediator and into a new class, FeedReliabilityLogger * Add missing unit tests * Remove some unnecessary mentions of feed reliability logging from Start Surface code * Use SystemClock.elapsedRealtimeNanos() which can measure time correctly if the device sleeps (theoretically better but probably not very important in practice) FeedReliabilityLogger is also meant to be a home for future reliability logging logic beyond the feed launch, like "user taps card and sees content". Bug: 1195940 |
||
|
|
b65303f51f | [Android] Fixed bg color for NTP ScrollView | ||
|
|
40f1d7f9f4 | Resolve formatting error | ||
|
|
d3dc975d59 | nested scrollview full viewport | ||
|
|
3538f27e28 | Android Fix News scroll issue | ||
|
|
87df789599 | Android Fix News scroll issue | ||
|
|
9624a2d879 | Android Fix News scroll issue | ||
|
|
c477eab6ff | [Android] New c-tor signatures for various classes | ||
|
|
93d026a030 |
[Android] EnhancedProtectionPromo was removed
Chromium change: https://github.com/chromium/chromium/commit/41634da65a822150bd1588d356ec0a57a1867f34 Remove code for EnhancedProtectionPromoCard on Android. We have seen unexpected spike of the ESB promo monthly. Since the promo has ended for several months, remove the source code in this CL. Bug: 1269574 |
||
|
|
068aa1e838 |
[Android] Fixed broken new tab page
Chromium change: https://github.com/chromium/chromium/commit/d90bd15798ffa73e85b33139ae1b71561398aafa Remove mStream and scrollviewforpolicy from FeedSurfaceCoordinator Bug: b/202872534 |
||
|
|
cd0f5becb9 |
[Android] ScrollViewForPolicy was removed
Chromium change: https://github.com/chromium/chromium/commit/d90bd15798ffa73e85b33139ae1b71561398aafa Remove mStream and scrollviewforpolicy from FeedSurfaceCoordinator Bug: b/202872534 |
||
|
|
9657de8600 |
[Android] New c-tor signature for FeedSurfaceCoordinator
Chromium change: https://chromium-review.googlesource.com/c/chromium/src/+/3246335 feed-modularization: Clean up after FeedHooks migration Simplify some things now that FeedHooks can be used to create the ProcessScope. I wanted to get rid of the initialization at startup in FeedSurfaceTracker / FeedServiceBridge because timing of the call can be error prone. The Feed component currently needs a ProcessScope when it prefetches images, and this shouldn't be tied to initialization of any UI. To do that, I used Java reflection. Bug: 1254437, 1274816 |
||
|
|
50d535f3be |
[Android] Feed modularization changes
Chromium change: https://github.com/chromium/chromium/commit/e2b1868dbce7942148b6a6e5bfc7275aa55e04ee feed modularization: Move more classes to module Move more Feed classes over to the Feed module. Bug: 1254437 |
||
|
|
fc713f6102 |
[Android] Changes for FeedSurfaceCoordinator
Chromium change: https://github.com/chromium/chromium/commit/902c97b0859b9a0126bc6dfd5f1b0f5e3897a031 feed modularization: move ntp.snippets to feed.sections Also: * removed the obsolete '!mHasHeader' logic in start surface. * Moved creation of section header view into FeedSurfaceCoordinator. Bug: 1254437 |
||
|
|
2cefa0029a |
[Android] Singnature changes for various c-tors and functions
Chromium changes: https://github.com/chromium/chromium/commit/159f4760b610b6ef203f51ad9e3bfba41d810213 [Read Later] Add reading list context menu to feed Bug: 1254832 https://github.com/chromium/chromium/commit/12a19d884b272c3616767a3ef1a899b8543b68a9 Reland: [Start] Use NTP's page menu on Start surface. This reverts commit 1d86228, since the failing tests weren't caused by the original CL. The original CL description: In this CL, we plumb the StartSurfaceState into App menu. Thus, the app menu could identify whether it is on the Start surface or Tab switcher. This allows the Start surface use the same page menu as NTP, and GTS uses the same overview menu with and without Start surface enabled. Demo before: https://drive.google.com/file/d/1B4BDcOE9rE05YEBL8iPEzAQh_1x3vjdr/view?usp=sharing Demo after: https://drive.google.com/file/d/1yvBOU9ei_lO5mcafsXbegA9kA2M6lq__/view?usp=sharing (cherry picked from commit c866c1e) Bug: 1257586, 1249086 https://github.com/chromium/chromium/commit/6e8fa444d5b501671724cc17e5387bfaafef4121 [AutoDark] Add metrics for changes from site settings Also add few more unit tests to WebContentsDarkModeController. Bug: 1241542, 1250800 |
||
|
|
d82620ad6f | [Android] New c-tor signature for FeedSurfaceCoordinator | ||
|
|
bdebe2ff64 | [Android] New c-tor signatures for FeedSurfaceCoordinator and NewTabPage | ||
|
|
f9ea0dc281 | [Android] C-tor signature for FeedSurfaceCoordinator was changed | ||
|
|
0021d75620 |
[Android] Changes for modularized toolbar
Additionaly fixed: - c-tor signatures for various classes - explicitly added header for network::ResourceRequest Chromuim change: https://chromium.googlesource.com/chromium/src/+/2c6cbee37831bffa83494c98eca09a8ca9def489 Modularize toolbar/ Moves the files in chrome/browser/toolbar (except some glue code) and related resources to chrome/browser/ui/android/toolbar. Bug: 1127732 |
||
|
|
e762e35637 |
[Android] Adjustments for FeedSurfaceCoordinator code changes
Chromium change: https://chromium.googlesource.com/chromium/src/+/c84e15f86da8a6f00920d4dd03087cc88b8970f5 More feed launch reliability logging * Log the "feed reloading" start event * Log a catch-all launch end event when the stream is unbound: more specific feed launch end conditions (user navigated away, switched tabs/apps, etc.) will be added in another CL * Use no-op logger in public builds or if reliability logging is disabled Bug: 1195940 |
||
|
|
9dfe1382a3 | [Android] C-tor signature for NewTabPage was changed | ||
|
|
88b1407b19 | [Android] Various classes and variables were renamed, extended or moved | ||
|
|
48f940118c |
[Android] SafeBrowsingEnhancedProtection flag has been removed.
Chromium change: https://chromium.googlesource.com/chromium/src/+/e468da6e701cc0c0a55778ba13e934a5539e16b1 commit e468da6e701cc0c0a55778ba13e934a5539e16b1 Author: Xinghui Lu <xinghuilu@chromium.org> Date: Wed Mar 24 22:45:50 2021 +0000 Remove the SafeBrowsingEnhancedProtection flag. Enhanced protection is launched since M86. Bug: 1097310 |