Compare commits
87
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac973e33e3 | ||
|
|
b8df90d728 | ||
|
|
0068783e64 | ||
|
|
d93475c418 | ||
|
|
e6be41912c | ||
|
|
231c7911e7 | ||
|
|
798b247bd7 | ||
|
|
96057162da | ||
|
|
81414bf266 | ||
|
|
ffc5de1ec7 | ||
|
|
6cd2f7afee | ||
|
|
372e4b43d0 | ||
|
|
6c99513344 | ||
|
|
68cd9afc6c | ||
|
|
9eb67807ec | ||
|
|
fdc60b34ba | ||
|
|
f0c8b7b98c | ||
|
|
e16f7a5a77 | ||
|
|
d3765627a1 | ||
|
|
89c6812817 | ||
|
|
73f0df3c90 | ||
|
|
6989c57e63 | ||
|
|
7ff2d1ed14 | ||
|
|
351c24b3dc | ||
|
|
f5d7de125b | ||
|
|
f708a519b1 | ||
|
|
16818b1d05 | ||
|
|
69c048fcbc | ||
|
|
aa3c3ad076 | ||
|
|
7bb7d7a856 | ||
|
|
3276e0f1ec | ||
|
|
b49ba700a7 | ||
|
|
a4aad222af | ||
|
|
4d82c0beec | ||
|
|
563e6f9a2d | ||
|
|
f8cc243015 | ||
|
|
41e6364c29 | ||
|
|
7c751aedb2 | ||
|
|
5951e48f47 | ||
|
|
8923ff2278 | ||
|
|
a8503d9689 | ||
|
|
f0c183a124 | ||
|
|
2d54179bf9 | ||
|
|
b937cb60ec | ||
|
|
948232d7fc | ||
|
|
9ceadc8787 | ||
|
|
98b696850a | ||
|
|
6c0676eeb8 | ||
|
|
cd81f3a4c7 | ||
|
|
443396cd8f | ||
|
|
477e0b596a | ||
|
|
685ae28e96 | ||
|
|
97e13fb5c0 | ||
|
|
bbea4e614b | ||
|
|
66b68c0008 | ||
|
|
67d7c47488 | ||
|
|
91f6cb6fbd | ||
|
|
a598f0d3ff | ||
|
|
37371ede06 | ||
|
|
d24b215d27 | ||
|
|
7d160b893f | ||
|
|
fe0c1cba97 | ||
|
|
ab02385ba8 | ||
|
|
8e19cfd2e0 | ||
|
|
322478cc9c | ||
|
|
a252cb7bc9 | ||
|
|
8df670e568 | ||
|
|
6511f3ec2e | ||
|
|
e071e7efbc | ||
|
|
9405d5e482 | ||
|
|
a1d941a0b6 | ||
|
|
534ab1be85 | ||
|
|
b228ed72c2 | ||
|
|
8c6ecb46a7 | ||
|
|
6348da2dc7 | ||
|
|
dbacbb5d25 | ||
|
|
d62bb78c21 | ||
|
|
1cc6c158f9 | ||
|
|
f0682a0a9d | ||
|
|
bc584f8fcb | ||
|
|
1cce2f1434 | ||
|
|
30bcef4e01 | ||
|
|
9acda3aed3 | ||
|
|
e84f1330b4 | ||
|
|
6144adc652 | ||
|
|
2fcd346d93 | ||
|
|
5bc8c21500 |
@@ -0,0 +1,5 @@
|
||||
[*.{yaml,sh,gn_args}]
|
||||
tab_width = 2
|
||||
indent_size = 2
|
||||
end_of_line = crlf
|
||||
indent_style = space
|
||||
@@ -46,6 +46,21 @@ body:
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: is_chromium2
|
||||
attributes:
|
||||
label: Are you sure?
|
||||
description: |
|
||||
Please check your answer above again, it is important information
|
||||
|
||||
If the bug is related to functionality that does not exist in Chromium then answer "No".
|
||||
multiple: false
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: cromite_version
|
||||
attributes:
|
||||
|
||||
@@ -37,13 +37,13 @@ jobs:
|
||||
- name: Reclaiming disk space on / by removing dotnet/android/ghc
|
||||
#if: ${{ github.event.inputs.type == '' }}
|
||||
run: |
|
||||
sudo rm -rf /usr/share/dotnet
|
||||
sudo rm -rf /usr/local/lib/android
|
||||
sudo rm -rf /opt/ghc
|
||||
sudo rm -rf /opt/hostedtoolcache/CodeQL
|
||||
test -d /usr/share/dotnet && sudo rm -rf /usr/share/dotnet
|
||||
test -d /usr/local/lib/android && sudo rm -rf /usr/local/lib/android
|
||||
test -d /opt/ghc && sudo rm -rf /opt/ghc
|
||||
test -d /opt/hostedtoolcache/CodeQL && sudo rm -rf /opt/hostedtoolcache/CodeQL
|
||||
sudo apt-get remove google-cloud-cli azure-cli google-chrome-stable \
|
||||
firefox mysql-server-core-8.0 mono-devel podman \
|
||||
powershell
|
||||
powershell || true
|
||||
sudo apt-get autoremove
|
||||
|
||||
- name: Enable proxy on container
|
||||
@@ -119,6 +119,56 @@ jobs:
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Update files under control
|
||||
shell: bash
|
||||
run: |
|
||||
cd cromite
|
||||
RELEASE=$(cat build/RELEASE | xargs)
|
||||
|
||||
cd tools/under-control
|
||||
|
||||
DO_UPDATE=0
|
||||
if [ -n "$NEW_VERSION" ]; then
|
||||
if [ "$RELEASE" != "$NEW_VERSION" ]; then
|
||||
DO_UPDATE=1
|
||||
fi
|
||||
|
||||
elif [ "$RELEASE" != "$(cat src/RELEASE | xargs)" ]; then
|
||||
DO_UPDATE=1
|
||||
NEW_VERSION=$RELEASE
|
||||
fi
|
||||
|
||||
if [[ DO_UPDATE -eq 1 ]]; then
|
||||
echo "Found new version $NEW_VERSION"
|
||||
echo "Under control: $(cat src/RELEASE | xargs)"
|
||||
echo "Current: $RELEASE"
|
||||
|
||||
test -d src && rm -rf src
|
||||
docker build --progress=plain --build-arg "TAG=$NEW_VERSION" -o . .
|
||||
echo $NEW_VERSION >src/RELEASE
|
||||
fi
|
||||
|
||||
CHANGES=0 && git diff --quiet || CHANGES=1
|
||||
echo "CHANGES=$CHANGES" >> $GITHUB_ENV
|
||||
if [[ CHANGES -eq 1 ]]; then
|
||||
git add src
|
||||
git diff --name-only --staged
|
||||
fi
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a #v3.12.0
|
||||
if: env.CHANGES == '1'
|
||||
with:
|
||||
token: ${{ secrets.CROMITE_PULLS }}
|
||||
path: cromite
|
||||
add-paths: |
|
||||
tools/under-control/*
|
||||
commit-message: 'AUTOMATED - new files under control ${{ env.NEW_VERSION }}'
|
||||
title: New files under control ${{ env.NEW_VERSION }}
|
||||
body: ${{ env.MESSAGE }}
|
||||
delete-branch: true
|
||||
branch-suffix: short-commit-hash
|
||||
|
||||
- name: Create issue ${{ env.VERSION }}
|
||||
if: "${{ env.NEW_VERSION != '' }}"
|
||||
shell: bash
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
name: Update patches doc
|
||||
permissions:
|
||||
# actions: none
|
||||
# checks: none
|
||||
# contents: write
|
||||
# deployments: none
|
||||
# issues: none
|
||||
# packages: none
|
||||
pull-requests: write
|
||||
# repository-projects: none
|
||||
# security-events: none
|
||||
# statuses: none
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- 'ci'
|
||||
paths:
|
||||
- 'build/**'
|
||||
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
rtag:
|
||||
description: 'uazo/cromite TAG or COMMIT'
|
||||
required: true
|
||||
default: ''
|
||||
|
||||
env:
|
||||
RTAG: ${{ github.event.inputs.rtag }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: "Get value from dispatch"
|
||||
run: |
|
||||
if [ -z "${RTAG}" ]; then
|
||||
echo "RTAG=$GITHUB_SHA" >> $GITHUB_ENV
|
||||
echo "RTAG=$RTAG"
|
||||
fi
|
||||
|
||||
- name: Checkout 'uazo/cromite' ${{ env.BRANCH }}
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: 'uazo/cromite'
|
||||
ref: ${{ github.event.inputs.rtag }}
|
||||
path: 'cromite'
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Generate patches doc
|
||||
run: |
|
||||
export HOME=$GITHUB_WORKSPACE
|
||||
|
||||
bash ~/cromite/tools/extract-all-patch-data.sh ~/cromite/build/patches
|
||||
|
||||
- name: Check differences CHANGES=${{ env.CHANGES }}
|
||||
run: |
|
||||
export HOME=$GITHUB_WORKSPACE
|
||||
|
||||
cd ~/cromite
|
||||
CHANGES=0 && git diff --quiet || CHANGES=1
|
||||
echo "CHANGES=$CHANGES" >> $GITHUB_ENV
|
||||
|
||||
if [[ CHANGES -eq 1 ]]; then
|
||||
git add docs/*.md
|
||||
fi
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a #v3.12.0
|
||||
if: env.CHANGES == '1'
|
||||
with:
|
||||
token: ${{ secrets.CROMITE_PULLS }}
|
||||
path: cromite
|
||||
base: ${{ env.BRANCH }}
|
||||
add-paths: |
|
||||
build/patches/*.patch
|
||||
commit-message: 'AUTOMATED - update patch docs'
|
||||
title: Generate patches doc for ${{ env.BRANCH }} branch
|
||||
body: ${{ env.MESSAGE }}
|
||||
delete-branch: true
|
||||
branch-suffix: short-commit-hash
|
||||
-1151
File diff suppressed because it is too large
Load Diff
@@ -1,91 +0,0 @@
|
||||
# Frequently Asked Questions
|
||||
|
||||
## Does Google Sync/Translate/Data saver work?
|
||||
No.
|
||||
This is not a limitation of Bromite but of all Chromium-based projects in general, as general public is not allowed to use Google's APIs for free unless when using Chrome.
|
||||
|
||||
Additionally, these features would not be privacy-friendly.
|
||||
|
||||
## Does Bromite require root?
|
||||
No.
|
||||
|
||||
## Is Bromite de-googled?
|
||||
|
||||
Yes, although this has not been verified (and hardly can be) under all situations; if you were to find connections to cloud-based services please report them via the issue tracker.
|
||||
Bromite uses [ungoogled-chromium's python script](https://github.com/Eloston/ungoogled-chromium/blob/master/utils/domain_substitution.py) to disable URLs in the codebase since version `78.0.3904.93`.
|
||||
|
||||
Projects which follow a strict approach on this are [Iridium](https://iridiumbrowser.de/) and [Inox patchset](https://github.com/gcarq/inox-patchset).
|
||||
|
||||
## Does Bromite support DRM media?
|
||||
|
||||
Yes, in order to play protected/encrypted media content the browser will use Android's DRM media framework to automatically negotiate access (same as Chromium).
|
||||
This means for example that requests to Android license servers will be performed (`www.googleapis.com`), see https://w3c.github.io/encrypted-media/#direct-individualization
|
||||
To disable this functionality you should disable protected content playback from Site settings -> Protected Content.
|
||||
|
||||
## What is the SystemWebView?
|
||||
It is the core component of Android for all web page visualizations. For example when you access a new wifi network and need to activate it, that is using the SystemWebView. If you do not know what it is then you do not need to install it.
|
||||
|
||||
See also [the wiki page](https://github.com/bromite/bromite/wiki/Installing-SystemWebView) for community-contributed installation instructions.
|
||||
|
||||
Ad-blocking was present and always enabled in the SystemWebView from version `72.0.3626.120` till version `77.0.3865.104`, when it stopped working due to [upstream NetworkService changes](https://docs.google.com/document/d/1TZEuPvr2KAbP4_TZpuuwtEEArQsyAkc2HDu68l66YwU/edit?ts=598244df#heading=h.ougoi5i6508y).
|
||||
|
||||
## How to enable DNS-over-HTTPS?
|
||||
|
||||
See [this page](https://www.bromite.org/doh).
|
||||
|
||||
## Can you add HTTPS everywhere?
|
||||
No.
|
||||
We cannot add add-ons to Bromite (merely some features).
|
||||
|
||||
## Is Bromite on Play Store?
|
||||
No, and this is not going to change. Many limitations apply for submissions there, including which ads are allowed to be blocked.
|
||||
|
||||
Bromite favors user freedom in software choice: the device is yours so you get to choose which software to run on it, end of the story.
|
||||
|
||||
## Is Bromite on F-Droid?
|
||||
It is not on the official F-Droid repository and there are no (more) plans to submit it.
|
||||
|
||||
You can use F-Droid client to install and receive updates via [the official Bromite F-Droid repository](https://www.bromite.org/fdroid).
|
||||
|
||||
## Does Bromite support WebRTC?
|
||||
Partially, see https://github.com/bromite/bromite/wiki/WebRTC
|
||||
|
||||
## Using Bromite will favour the monopoly of the Chromium/Blink engine, why do you develop and maintain Bromite?
|
||||
In short, to show what a Chromium-based engine could do **for the user** if the user experience and needs were the main focus of modern browser design.
|
||||
|
||||
For an Android browser using an alternative engine see [Fennec F-Droid](https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/).
|
||||
|
||||
## Does Bromite support extensions?
|
||||
No; Bromite will support extensions only if upstream (Chromium) does, or similarly another project maintains the patch and functionality.
|
||||
|
||||
## Why do push notifications not work on this website?
|
||||
|
||||
The [Chromium Blink engine](https://www.chromium.org/blink) uses [GCM](https://en.wikipedia.org/wiki/Google_Cloud_Messaging) to deliver messages
|
||||
when websites use the [Push API](https://w3c.github.io/push-api/); this will not work in Bromite because cloud integrations are disabled (GCM in this case).
|
||||
|
||||
[ServiceWorker notifications](https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotification) do work instead since they use
|
||||
[android.app.Notification](https://developer.android.com/guide/topics/ui/notifiers/notifications).
|
||||
|
||||
## Can PWAs be installed?
|
||||
|
||||
PWAs are only supported as home shortcuts; WebAPKs will not work because they are generated server-side on googleapis.com (which is not allowed in Bromite).
|
||||
|
||||
## Does Bromite support the Android autofill framework?
|
||||
|
||||
Yes, since version 94.0.4606.109 the native Android autofill can be used; this does not require accessibility services as a workaround.
|
||||
|
||||
## Does Bromite support casting media content?
|
||||
|
||||
No, this would require Play Store binary blobs.
|
||||
|
||||
## Can you add this search engine as default?
|
||||
No.
|
||||
Bromite does not make any choice related to default search engines, the Chromium default is used.
|
||||
Various Android browsers get some fee to ship their apps with a specific default search engine, Bromite does not get any fee from anyone.
|
||||
Changing the default search engine would lead to an endless series of requests to change it based on personal preferences, thus no change is made to the default.
|
||||
See also: https://github.com/bromite/bromite/wiki/SearchEngines
|
||||
|
||||
## Some sites show ads, how can I fix this?
|
||||
You can compare the blocked URLs with a desktop browser and Bromite (using [remote debugging](https://developer.chrome.com/docs/devtools/remote-debugging/)) and figure out some new filter rules to be added.
|
||||
If the ads are blocked via cosmetic filtering then blocking them is not possible with Bromite's engine and you might need something like an [user script](https://github.com/bromite/bromite/wiki/UserScripts) instead.
|
||||
See also: https://github.com/bromite/bromite/wiki/AdBlocking
|
||||
@@ -12,16 +12,10 @@
|
||||
</a>
|
||||
<br>
|
||||
|
||||
### **** the documentation is a Work in progress (not the browser :) ****
|
||||
|
||||
Cromite is a [Chromium](https://www.chromium.org/Home) fork based on [Bromite](https://github.com/bromite/bromite) with built-in support for ad blocking and an eye for privacy.
|
||||
|
||||
Cromite is available for Android arm64-v8a, arm32-v7a and x86_64, Nougat and above (Minimum v7.0, API level 24), Windows and Linux 64bit.
|
||||
|
||||
For the Frequently Asked Questions see [F.A.Q.](./FAQ.md).
|
||||
|
||||
For documentation see the [wiki](https://github.com/bromite/bromite/wiki).
|
||||
|
||||
# Goals
|
||||
|
||||
Cromite's goal is to
|
||||
@@ -31,14 +25,17 @@ Cromite's goal is to
|
||||
|
||||
In addition, Cromite would like to promote greater integration with other non-profit, open source browsers, encouraging closer collaboration with others, and attempt to integrate them directly into Chromium once they have reached an appropriate level of maturity.
|
||||
|
||||
# Features
|
||||
see [Features](https://github.com/uazo/cromite/blob/master/FEATURES.md)
|
||||
|
||||
# Privacy limitations
|
||||
|
||||
Cromite's privacy features, including anti-fingerprinting mitigations (which are not comprehensive), **are not to be considered useful for journalists and people living in countries with freedom limitations**, please look at [Tor Browser](https://www.torproject.org/download/) in such cases.
|
||||
Please note that this project is not free of bugs and that changing the behaviour of a browser can be risky and not without problems.
|
||||
|
||||
# Docs
|
||||
- [Privacy Policy](https://github.com/uazo/cromite/blob/master/docs/PRIVACY_POLICY.md)
|
||||
- [Features](https://github.com/uazo/cromite/blob/master/docs/FEATURES.md)
|
||||
- [How to build](https://github.com/uazo/cromite/blob/master/docs/HOW_TO_BUILD.md)
|
||||
- [Patch list](https://github.com/uazo/cromite/blob/master/docs/PATCHES.md)
|
||||
|
||||
# Releases
|
||||
|
||||
All built versions are available as [releases](https://github.com/uazo/cromite/releases).
|
||||
@@ -66,7 +63,7 @@ ChromiumUpdateUrl=https://github.com/uazo/cromite/releases/latest/download/updat
|
||||
# Command line for Chromium (string):
|
||||
# note --user-data-dir= works better if path is absolute
|
||||
# See here: http://peter.sh/experiments/chromium-command-line-switches/
|
||||
ChromiumCommandLine=--user-data-dir=".\User Data" --no-default-browser-check
|
||||
ChromiumCommandLine=--user-data-dir="C:\Users\<my user>\AppData\Local\Chromium\User Data" --no-default-browser-check
|
||||
|
||||
# to enable full logging in c:\temp\log.txt (daily rotate, no automatic deletion)
|
||||
# ChromiumCommandLine=--enable-logging --v=0 --log-file=C:\temp\log.txt --user-data-dir=".\User Data" --no-default-browser-check
|
||||
@@ -78,6 +75,7 @@ ChromiumBinary=chrome.exe
|
||||
# Relative (to chrlauncher directory) or full path (env. variables supported).
|
||||
ChromiumDirectory=.\bin
|
||||
```
|
||||
To prevent deletion by Microsoft Defender each time the browser is updated, check the `user-data-dir` folder by modifying it accordingly.
|
||||
|
||||
### Enable network process sandbox in windows
|
||||
I don't include any setups because I don't like the experience of not knowing what they do, so you must manually run this command on first installation:
|
||||
@@ -93,42 +91,14 @@ you can activate the 'RendererAppContainer' flag from the command line with
|
||||
--enable-features=RendererAppContainer
|
||||
```
|
||||
|
||||
## (TODO) Integrity and authenticity
|
||||
|
||||
You can verify the integrity of a downloaded APK file from this project with any `sha256sum`-compatible tool by downloading the corresponding `brm_X.Y.Z.sha256.txt` or `chr_X.Y.Z.sha256.txt` file, where X.Y.Z is the release version number. Example:
|
||||
```
|
||||
$ sha256sum --check brm_68.0.3440.54.sha256.txt
|
||||
arm64_SystemWebView.apk: OK
|
||||
arm64_ChromePublic.apk: OK
|
||||
arm64_ChromeModernPublic.apk: OK
|
||||
```
|
||||
|
||||
You can verify authenticity, e.g. that the author ([csagan5](https://github.com/csagan5)) released the file, by using gpg2:
|
||||
```
|
||||
$ gpg2 --quiet --verify brm_68.0.3440.54.sha256.txt.asc
|
||||
gpg: assuming signed data in 'brm_68.0.3440.54.sha256.txt'
|
||||
gpg: Signature made Sun 08 Jul 2018 04:22:52 PM CEST using RSA key ID D85DC0C5
|
||||
gpg: Good signature from "csagan5 <32685696+csagan5@users.noreply.github.com>"
|
||||
```
|
||||
|
||||
You can download csagan5's public GnuPG key from here: [csagan5.asc](./csagan5.asc).
|
||||
|
||||
# (TODO) How to build
|
||||
|
||||
The [Bromite main repository](https://github.com/bromite/bromite) contains tags for each corresponding Chromium release (see https://chromium.googlesource.com/chromium/src.git).
|
||||
|
||||
Please refer to [official Chromium build documentation](https://www.chromium.org/developers/how-tos/get-the-code) to get started on how to build Chromium; if you can build Chromium for Android, you can build Bromite.
|
||||
|
||||
The Chromium version tag used as base for the patches is available here: [RELEASE](./build/RELEASE); this is always corresponding to the git tag for every release.
|
||||
The GN args used to build Bromite are available here: [bromite.gn_args](./build/bromite.gn_args).
|
||||
The patches are to be applied second the order specified in the `bromite_patches_list.txt` file (you can use `git am`).
|
||||
|
||||
# (TODO) Contributing
|
||||
# Contributing
|
||||
|
||||
Please submit issues following the issue template; beware that GitHub does not display the templates from mobile.
|
||||
|
||||
Patches are welcome and accepted if they match the project goals.
|
||||
|
||||
If you want to help me, [here](https://github.com/uazo/cromite/blob/master/docs/HELP_ME_PLEASE.md) is the list of things I would need.
|
||||
|
||||
For any usage or development discussion please use GitHub Discussions: https://github.com/uazo/cromite/discussions
|
||||
|
||||
# Credits
|
||||
@@ -142,11 +112,9 @@ For any usage or development discussion please use GitHub Discussions: https://g
|
||||
* [Inox patchset](https://github.com/gcarq/inox-patchset) for some patches (via ungoogled-chromium)
|
||||
* [Brave Browser](https://github.com/brave/brave-core) for some patches
|
||||
|
||||
# (TODO) License
|
||||
# License
|
||||
|
||||
The patches published as part of the Bromite project are released under [GNU GPL v3](./LICENSE).
|
||||
|
||||
[version-image]: https://img.shields.io/github/release/bromite/bromite.svg?style=flat-square
|
||||
[version-url]: https://github.com/bromite/bromite/releases/latest
|
||||
[license-image]: https://img.shields.io/github/license/bromite/bromite.svg
|
||||
[license-url]: https://github.com/bromite/bromite/blob/master/LICENSE
|
||||
Cromite is published under [GNU GPL v3](./LICENSE).
|
||||
The patches published as part of the Bromite project are released under GNU GPL v3 only.
|
||||
Cromite specific patches are under the GNU GPL-2+ licence.
|
||||
Each individual patch contains specific information on the licence used.
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
122.0.6261.111
|
||||
123.0.6312.105
|
||||
+31
-3
@@ -37,13 +37,41 @@ enable_feed_v2=false
|
||||
enable_cardboard=false
|
||||
is_high_end_android=true
|
||||
|
||||
# media section
|
||||
proprietary_codecs=true
|
||||
ffmpeg_branding="Chrome"
|
||||
enable_av1_decoder=true
|
||||
enable_dav1d_decoder=true
|
||||
enable_platform_dolby_vision=true
|
||||
enable_platform_hevc=true
|
||||
enable_mse_mpeg2ts_stream_parser=true
|
||||
|
||||
# disable cisco OpenH264
|
||||
media_use_openh264 = false
|
||||
|
||||
# decoder flags
|
||||
if (target_os == "android" || target_os == "win") {
|
||||
# codec supported by default
|
||||
# android: https://developer.android.com/media/platform/supported-formats
|
||||
# windows: https://learn.microsoft.com/en-us/windows/win32/medfound/codecobjects
|
||||
|
||||
# enable aac and h264 hw decoder only
|
||||
enable_platform_aac_audio = true
|
||||
enable_platform_h264_video = true
|
||||
|
||||
# enable hw decoder for h265 (hevc)
|
||||
enable_platform_hevc = true
|
||||
|
||||
# disable dolby vision
|
||||
enable_platform_dolby_vision = false
|
||||
enable_platform_encrypted_dolby_vision = false
|
||||
|
||||
if (target_os == "win") {
|
||||
# enable ac3/eac codec
|
||||
enable_platform_ac3_eac3_audio = true
|
||||
}
|
||||
}
|
||||
|
||||
# disable passthrough audio codecs
|
||||
enable_platform_dts_audio = false
|
||||
enable_passthrough_audio_codecs = false
|
||||
|
||||
# Do not compile libmonochrome.so with RELR relocations
|
||||
# since supported only on API 28+
|
||||
|
||||
@@ -282,6 +282,10 @@ Disable-Compose-feature.patch
|
||||
Disable-offline-autofetch-flag.patch
|
||||
Enable-percent-based-scrolling-on-Windows.patch
|
||||
Show-NTP-at-startup.patch
|
||||
Enable-platform-aac-audio-and-h264-video.patch
|
||||
Disable-Paint-Preview-by-default.patch
|
||||
Emoji-Fonts-fingerprinting-mitigation-02-02.patch
|
||||
Emoji-Fonts-fingerprinting-mitigation-01-02.patch
|
||||
|
||||
Temp-PerformanceNavigationTiming-privacy-fix.patch
|
||||
Temp-disable-predictive-back-gesture.patch
|
||||
@@ -295,5 +299,3 @@ eyeo-beta-118.0.5993.48-android_api.patch
|
||||
eyeo-beta-118.0.5993.48-android_settings.patch
|
||||
eyeo-beta-118.0.5993.48-extension_api.patch
|
||||
Eyeo-Adblock-Remove-Privacy-Issues.patch
|
||||
AdblockPlus-add-blocking-in-service-workers.patch
|
||||
AdblockPlus-connect-popup-blocker.patch
|
||||
|
||||
@@ -90,7 +90,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -2980,9 +2980,9 @@
|
||||
@@ -3046,9 +3046,9 @@
|
||||
"expiry_milestone": 125
|
||||
},
|
||||
{
|
||||
@@ -147,8 +147,8 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis
|
||||
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
|
||||
--- a/gpu/config/gpu_finch_features.cc
|
||||
+++ b/gpu/config/gpu_finch_features.cc
|
||||
@@ -71,6 +71,11 @@ BASE_FEATURE(kUseGles2ForOopR,
|
||||
);
|
||||
@@ -65,6 +65,11 @@ BASE_FEATURE(kUseGles2ForOopR,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
+// Use android AImageReader when playing videos with MediaPlayer.
|
||||
@@ -217,7 +217,7 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_VULKAN)
|
||||
@@ -672,6 +673,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
@@ -662,6 +663,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
}
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
|
||||
@@ -1,729 +0,0 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Thu, 7 Sep 2023 07:25:25 +0000
|
||||
Subject: AdblockPlus add blocking in service workers
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../adblock/adblock_content_browser_client.cc | 184 ++++++++++++------
|
||||
.../adblock/adblock_content_browser_client.h | 27 ++-
|
||||
.../browser/chrome_content_browser_client.cc | 6 +-
|
||||
.../browser/chrome_content_browser_client.h | 6 +-
|
||||
.../browser/adblock_url_loader_factory.cc | 10 +-
|
||||
.../browser/adblock_url_loader_factory.h | 3 +
|
||||
.../browser/frame_hierarchy_builder.cc | 3 +-
|
||||
.../browser/resource_classification_runner.h | 8 +
|
||||
.../resource_classification_runner_impl.cc | 30 ++-
|
||||
.../resource_classification_runner_impl.h | 8 +
|
||||
.../websockets/websocket_connector_impl.cc | 6 +-
|
||||
.../public/browser/content_browser_client.cc | 4 +-
|
||||
.../public/browser/content_browser_client.h | 4 +-
|
||||
13 files changed, 216 insertions(+), 83 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/browser/adblock/adblock_content_browser_client.cc
|
||||
--- a/chrome/browser/adblock/adblock_content_browser_client.cc
|
||||
+++ b/chrome/browser/adblock/adblock_content_browser_client.cc
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "content/public/browser/web_contents.h"
|
||||
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
|
||||
#include "services/network/public/mojom/websocket.mojom.h"
|
||||
+#include "services/network/public/mojom/web_transport.mojom.h"
|
||||
#include "services/service_manager/public/cpp/binder_registry.h"
|
||||
#include "third_party/blink/public/common/loader/url_loader_throttle.h"
|
||||
|
||||
@@ -56,6 +57,29 @@
|
||||
|
||||
namespace {
|
||||
|
||||
+bool IsFilteringNeeded(Profile* profile, const GURL& embedder_url) {
|
||||
+ DCHECK(profile);
|
||||
+
|
||||
+ if(embedder_url.is_empty()) {
|
||||
+ // in android can be empty because it was created by
|
||||
+ // RenderFrameHostImpl::CreateSubresourceLoaderFactoriesForInitialEmptyDocument
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ HostContentSettingsMap* settings_map = HostContentSettingsMapFactory::GetForProfile(profile);
|
||||
+ if (settings_map && settings_map->GetContentSetting(embedder_url, GURL(), ContentSettingsType::ADS)
|
||||
+ == CONTENT_SETTING_ALLOW) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ // Filtering may be needed if there's at least one enabled
|
||||
+ // FilteringConfiguration.
|
||||
+ bool ret = base::ranges::any_of(
|
||||
+ adblock::SubscriptionServiceFactory::GetForBrowserContext(profile)
|
||||
+ ->GetInstalledFilteringConfigurations(),
|
||||
+ &adblock::FilteringConfiguration::IsEnabled);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
bool IsFilteringNeeded(content::RenderFrameHost* frame) {
|
||||
if (frame) {
|
||||
auto* profile =
|
||||
@@ -63,17 +87,7 @@ bool IsFilteringNeeded(content::RenderFrameHost* frame) {
|
||||
if (profile) {
|
||||
content::RenderFrameHost* embedder = frame->GetOutermostMainFrameOrEmbedder();
|
||||
const auto& embedder_url = embedder->GetLastCommittedURL();
|
||||
- HostContentSettingsMap* settings_map = HostContentSettingsMapFactory::GetForProfile(profile);
|
||||
- if (settings_map && settings_map->GetContentSetting(embedder_url, GURL(), ContentSettingsType::ADS)
|
||||
- == CONTENT_SETTING_ALLOW) {
|
||||
- return false;
|
||||
- }
|
||||
- // Filtering may be needed if there's at least one enabled
|
||||
- // FilteringConfiguration.
|
||||
- return base::ranges::any_of(
|
||||
- adblock::SubscriptionServiceFactory::GetForBrowserContext(profile)
|
||||
- ->GetInstalledFilteringConfigurations(),
|
||||
- &adblock::FilteringConfiguration::IsEnabled);
|
||||
+ return IsFilteringNeeded(profile, embedder_url);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@@ -88,6 +102,8 @@ class AdblockContextData : public base::SupportsUserData::Data {
|
||||
|
||||
static void StartProxying(
|
||||
Profile* profile,
|
||||
+ content::BrowserContext* browser_context,
|
||||
+ const url::Origin& request_initiator,
|
||||
content::RenderFrameHost* frame,
|
||||
int render_process_id,
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
|
||||
@@ -100,8 +116,6 @@ class AdblockContextData : public base::SupportsUserData::Data {
|
||||
self = new AdblockContextData();
|
||||
profile->SetUserData(kAdblockContextUserDataKey, base::WrapUnique(self));
|
||||
}
|
||||
- auto* browser_context =
|
||||
- content::WebContents::FromRenderFrameHost(frame)->GetBrowserContext();
|
||||
adblock::AdblockURLLoaderFactoryConfig config{
|
||||
adblock::SubscriptionServiceFactory::GetForBrowserContext(
|
||||
browser_context),
|
||||
@@ -113,8 +127,9 @@ class AdblockContextData : public base::SupportsUserData::Data {
|
||||
browser_context)};
|
||||
auto proxy = std::make_unique<adblock::AdblockURLLoaderFactory>(
|
||||
std::move(config),
|
||||
+ request_initiator.GetURL(),
|
||||
content::GlobalRenderFrameHostId(render_process_id,
|
||||
- frame->GetRoutingID()),
|
||||
+ frame ? frame->GetRoutingID() : MSG_ROUTING_NONE),
|
||||
std::move(receiver), std::move(target_factory),
|
||||
embedder_support::GetUserAgent(),
|
||||
base::BindOnce(&AdblockContextData::RemoveProxy,
|
||||
@@ -155,47 +170,50 @@ void AdblockContentBrowserClient::ForceAdblockProxyForTesting() {
|
||||
#endif
|
||||
|
||||
bool AdblockContentBrowserClient::WillInterceptWebSocket(
|
||||
- content::RenderFrameHost* frame) {
|
||||
+ content::RenderFrameHost* frame,
|
||||
+ content::RenderProcessHost* process,
|
||||
+ const url::Origin& origin) {
|
||||
if (IsFilteringNeeded(frame)) {
|
||||
return true;
|
||||
+ } else {
|
||||
+ auto* browser_context = process->GetBrowserContext();
|
||||
+ auto* profile = Profile::FromBrowserContext(browser_context);
|
||||
+ if (IsFilteringNeeded(profile, origin.GetURL().GetAsReferrer())) {
|
||||
+ return true;
|
||||
+ }
|
||||
}
|
||||
|
||||
- return ChromeContentBrowserClient::WillInterceptWebSocket(frame);
|
||||
+ return ChromeContentBrowserClient::WillInterceptWebSocket(frame, process, origin);
|
||||
}
|
||||
|
||||
void AdblockContentBrowserClient::CreateWebSocket(
|
||||
+ content::RenderProcessHost* process,
|
||||
content::RenderFrameHost* frame,
|
||||
WebSocketFactory factory,
|
||||
const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
const net::SiteForCookies& site_for_cookies,
|
||||
const absl::optional<std::string>& user_agent,
|
||||
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
|
||||
handshake_client) {
|
||||
- if (IsFilteringNeeded(frame)) {
|
||||
- CreateWebSocketInternal(frame->GetGlobalId(), std::move(factory), url,
|
||||
- site_for_cookies, user_agent,
|
||||
- std::move(handshake_client));
|
||||
- } else {
|
||||
- DCHECK(ChromeContentBrowserClient::WillInterceptWebSocket(frame));
|
||||
- ChromeContentBrowserClient::CreateWebSocket(frame, std::move(factory), url,
|
||||
- site_for_cookies, user_agent,
|
||||
- std::move(handshake_client));
|
||||
- }
|
||||
+ CreateWebSocketInternal(process,
|
||||
+ frame ? frame->GetGlobalId() : content::GlobalRenderFrameHostId(),
|
||||
+ std::move(factory), url, initiator_origin,
|
||||
+ site_for_cookies, user_agent,
|
||||
+ std::move(handshake_client));
|
||||
}
|
||||
|
||||
void AdblockContentBrowserClient::CreateWebSocketInternal(
|
||||
+ content::RenderProcessHost* process,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
WebSocketFactory factory,
|
||||
const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
const net::SiteForCookies& site_for_cookies,
|
||||
const absl::optional<std::string>& user_agent,
|
||||
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
|
||||
handshake_client) {
|
||||
- auto* frame = content::RenderFrameHost::FromID(render_frame_host_id);
|
||||
- if (!frame) {
|
||||
- return;
|
||||
- }
|
||||
- auto* browser_context = frame->GetProcess()->GetBrowserContext();
|
||||
+ auto* browser_context = process->GetBrowserContext();
|
||||
auto* subscription_service =
|
||||
adblock::SubscriptionServiceFactory::GetForBrowserContext(
|
||||
browser_context);
|
||||
@@ -203,33 +221,33 @@ void AdblockContentBrowserClient::CreateWebSocketInternal(
|
||||
adblock::ResourceClassificationRunnerFactory::GetForBrowserContext(
|
||||
browser_context);
|
||||
classification_runner->CheckRequestFilterMatchForWebSocket(
|
||||
- subscription_service->GetCurrentSnapshot(), url, render_frame_host_id,
|
||||
+ subscription_service->GetCurrentSnapshot(), url,
|
||||
+ std::move(initiator_origin.GetURL().GetAsReferrer()), render_frame_host_id,
|
||||
base::BindOnce(
|
||||
&AdblockContentBrowserClient::OnWebSocketFilterCheckCompleted,
|
||||
- weak_factory_.GetWeakPtr(), render_frame_host_id, std::move(factory),
|
||||
- url, site_for_cookies, user_agent, std::move(handshake_client)));
|
||||
+ weak_factory_.GetWeakPtr(), process, render_frame_host_id, std::move(factory),
|
||||
+ url, initiator_origin, site_for_cookies, user_agent, std::move(handshake_client)));
|
||||
}
|
||||
|
||||
void AdblockContentBrowserClient::OnWebSocketFilterCheckCompleted(
|
||||
+ content::RenderProcessHost* process,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
ChromeContentBrowserClient::WebSocketFactory factory,
|
||||
const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
const net::SiteForCookies& site_for_cookies,
|
||||
const absl::optional<std::string>& user_agent,
|
||||
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
|
||||
handshake_client,
|
||||
adblock::FilterMatchResult result) {
|
||||
auto* frame = content::RenderFrameHost::FromID(render_frame_host_id);
|
||||
- if (!frame) {
|
||||
- return;
|
||||
- }
|
||||
const bool has_blocking_filter =
|
||||
result == adblock::FilterMatchResult::kBlockRule;
|
||||
if (!has_blocking_filter) {
|
||||
VLOG(1) << "[eyeo] Web socket allowed for " << url;
|
||||
- if (ChromeContentBrowserClient::WillInterceptWebSocket(frame)) {
|
||||
+ if (ChromeContentBrowserClient::WillInterceptWebSocket(frame, process, initiator_origin)) {
|
||||
ChromeContentBrowserClient::CreateWebSocket(
|
||||
- frame, std::move(factory), url, site_for_cookies, user_agent,
|
||||
+ process, frame, std::move(factory), url, initiator_origin, site_for_cookies, user_agent,
|
||||
std::move(handshake_client));
|
||||
return;
|
||||
}
|
||||
@@ -246,6 +264,72 @@ void AdblockContentBrowserClient::OnWebSocketFilterCheckCompleted(
|
||||
VLOG(1) << "[eyeo] Web socket blocked for " << url;
|
||||
}
|
||||
|
||||
+void AdblockContentBrowserClient::WillCreateWebTransport(
|
||||
+ int process_id,
|
||||
+ int frame_routing_id,
|
||||
+ const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
+ mojo::PendingRemote<network::mojom::WebTransportHandshakeClient>
|
||||
+ handshake_client,
|
||||
+ WillCreateWebTransportCallback callback) {
|
||||
+ auto* process = content::RenderProcessHost::FromID(process_id);
|
||||
+ DCHECK(process);
|
||||
+
|
||||
+ auto* browser_context = process->GetBrowserContext();
|
||||
+ auto* profile = Profile::FromBrowserContext(browser_context);
|
||||
+ if (IsFilteringNeeded(profile, initiator_origin.GetURL().GetAsReferrer())) {
|
||||
+ auto* subscription_service =
|
||||
+ adblock::SubscriptionServiceFactory::GetForBrowserContext(
|
||||
+ browser_context);
|
||||
+ auto* classification_runner =
|
||||
+ adblock::ResourceClassificationRunnerFactory::GetForBrowserContext(
|
||||
+ browser_context);
|
||||
+
|
||||
+ classification_runner->CheckRequestFilterMatchForWebTransport(
|
||||
+ subscription_service->GetCurrentSnapshot(), url,
|
||||
+ std::move(initiator_origin.GetURL().GetAsReferrer()),
|
||||
+ content::GlobalRenderFrameHostId(),
|
||||
+ base::BindOnce(
|
||||
+ &AdblockContentBrowserClient::OnWebTransportFilterCheckCompleted,
|
||||
+ weak_factory_.GetWeakPtr(),
|
||||
+ process_id, frame_routing_id, url,
|
||||
+ std::move(initiator_origin), std::move(handshake_client),
|
||||
+ std::move(callback)));
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ ChromeContentBrowserClient::WillCreateWebTransport(
|
||||
+ process_id, frame_routing_id,
|
||||
+ url, std::move(initiator_origin),
|
||||
+ std::move(handshake_client), std::move(callback));
|
||||
+}
|
||||
+
|
||||
+void AdblockContentBrowserClient::OnWebTransportFilterCheckCompleted(
|
||||
+ int process_id,
|
||||
+ int frame_routing_id,
|
||||
+ const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
+ mojo::PendingRemote<network::mojom::WebTransportHandshakeClient>
|
||||
+ handshake_client,
|
||||
+ WillCreateWebTransportCallback callback,
|
||||
+ adblock::FilterMatchResult result) {
|
||||
+ const bool has_blocking_filter =
|
||||
+ result == adblock::FilterMatchResult::kBlockRule;
|
||||
+ if (!has_blocking_filter) {
|
||||
+ VLOG(1) << "[eyeo] Web transport allowed for " << url;
|
||||
+ ChromeContentBrowserClient::WillCreateWebTransport(
|
||||
+ process_id, frame_routing_id,
|
||||
+ url, std::move(initiator_origin),
|
||||
+ std::move(handshake_client), std::move(callback));
|
||||
+ return;
|
||||
+ }
|
||||
+ VLOG(1) << "[eyeo] Web transport blocked for " << url;
|
||||
+ std::move(callback).Run(std::move(handshake_client),
|
||||
+ network::mojom::WebTransportError::New(
|
||||
+ net::ERR_BLOCKED_BY_ADMINISTRATOR, quic::QUIC_INTERNAL_ERROR,
|
||||
+ "Blocked", false));
|
||||
+}
|
||||
+
|
||||
bool AdblockContentBrowserClient::WillCreateURLLoaderFactory(
|
||||
content::BrowserContext* browser_context,
|
||||
content::RenderFrameHost* frame,
|
||||
@@ -269,24 +353,12 @@ bool AdblockContentBrowserClient::WillCreateURLLoaderFactory(
|
||||
navigation_id, ukm_source_id, factory_receiver, header_client,
|
||||
bypass_redirect_checks, disable_secure_dns, factory_override,
|
||||
navigation_response_task_runner);
|
||||
- auto* profile = frame ? Profile::FromBrowserContext(
|
||||
- frame->GetProcess()->GetBrowserContext())
|
||||
- : nullptr;
|
||||
-
|
||||
-#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
- if (!force_adblock_proxy_for_testing_ &&
|
||||
- request_initiator.scheme() == extensions::kExtensionScheme) {
|
||||
- VLOG(1) << "[eyeo] Do not use adblock proxy for extensions requests "
|
||||
- "[extension id:"
|
||||
- << request_initiator.host() << "].";
|
||||
- return use_chrome_proxy;
|
||||
- }
|
||||
-#endif
|
||||
+ auto* profile = Profile::FromBrowserContext(browser_context);
|
||||
|
||||
bool use_adblock_proxy =
|
||||
- (type == URLLoaderFactoryType::kDocumentSubResource ||
|
||||
- type == URLLoaderFactoryType::kNavigation) &&
|
||||
- IsFilteringNeeded(frame);
|
||||
+ type != URLLoaderFactoryType::kDownload &&
|
||||
+ (frame ? IsFilteringNeeded(frame)
|
||||
+ : IsFilteringNeeded(profile, request_initiator.GetURL().GetAsReferrer()));
|
||||
|
||||
bool use_test_loader = false;
|
||||
#ifdef EYEO_INTERCEPT_DEBUG_URL
|
||||
@@ -305,7 +377,7 @@ bool AdblockContentBrowserClient::WillCreateURLLoaderFactory(
|
||||
mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory_remote;
|
||||
*factory_receiver = target_factory_remote.InitWithNewPipeAndPassReceiver();
|
||||
AdblockContextData::StartProxying(
|
||||
- profile, frame, render_process_id, std::move(proxied_receiver),
|
||||
+ profile, browser_context, request_initiator, frame, render_process_id, std::move(proxied_receiver),
|
||||
std::move(target_factory_remote), use_test_loader);
|
||||
}
|
||||
return use_adblock_proxy || use_chrome_proxy;
|
||||
diff --git a/chrome/browser/adblock/adblock_content_browser_client.h b/chrome/browser/adblock/adblock_content_browser_client.h
|
||||
--- a/chrome/browser/adblock/adblock_content_browser_client.h
|
||||
+++ b/chrome/browser/adblock/adblock_content_browser_client.h
|
||||
@@ -44,16 +44,27 @@ class AdblockContentBrowserClient : public ChromeContentBrowserClient {
|
||||
static void ForceAdblockProxyForTesting();
|
||||
#endif
|
||||
|
||||
- bool WillInterceptWebSocket(content::RenderFrameHost* frame) override;
|
||||
+ bool WillInterceptWebSocket(content::RenderFrameHost* frame, content::RenderProcessHost* process, const url::Origin& origin) override;
|
||||
void CreateWebSocket(
|
||||
+ content::RenderProcessHost* process,
|
||||
content::RenderFrameHost* frame,
|
||||
WebSocketFactory factory,
|
||||
const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
const net::SiteForCookies& site_for_cookies,
|
||||
const absl::optional<std::string>& user_agent,
|
||||
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
|
||||
handshake_client) override;
|
||||
|
||||
+ void WillCreateWebTransport(
|
||||
+ int process_id,
|
||||
+ int frame_routing_id,
|
||||
+ const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
+ mojo::PendingRemote<network::mojom::WebTransportHandshakeClient>
|
||||
+ handshake_client,
|
||||
+ WillCreateWebTransportCallback callback) override;
|
||||
+
|
||||
bool WillCreateURLLoaderFactory(
|
||||
content::BrowserContext* browser_context,
|
||||
content::RenderFrameHost* frame,
|
||||
@@ -73,23 +84,35 @@ class AdblockContentBrowserClient : public ChromeContentBrowserClient {
|
||||
|
||||
private:
|
||||
void CreateWebSocketInternal(
|
||||
+ content::RenderProcessHost* process,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
WebSocketFactory factory,
|
||||
const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
const net::SiteForCookies& site_for_cookies,
|
||||
const absl::optional<std::string>& user_agent,
|
||||
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
|
||||
handshake_client);
|
||||
void OnWebSocketFilterCheckCompleted(
|
||||
+ content::RenderProcessHost* process,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
ChromeContentBrowserClient::WebSocketFactory factory,
|
||||
const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
const net::SiteForCookies& site_for_cookies,
|
||||
const absl::optional<std::string>& user_agent,
|
||||
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
|
||||
handshake_client,
|
||||
adblock::FilterMatchResult result);
|
||||
-
|
||||
+ void OnWebTransportFilterCheckCompleted(
|
||||
+ int process_id,
|
||||
+ int frame_routing_id,
|
||||
+ const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
+ mojo::PendingRemote<network::mojom::WebTransportHandshakeClient>
|
||||
+ handshake_client,
|
||||
+ WillCreateWebTransportCallback callback,
|
||||
+ adblock::FilterMatchResult result);
|
||||
base::WeakPtrFactory<AdblockContentBrowserClient> weak_factory_{this};
|
||||
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -6132,7 +6132,9 @@ ChromeContentBrowserClient::
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::WillInterceptWebSocket(
|
||||
- content::RenderFrameHost* frame) {
|
||||
+ content::RenderFrameHost* frame,
|
||||
+ content::RenderProcessHost* process,
|
||||
+ const url::Origin& origin) {
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
if (!frame) {
|
||||
return false;
|
||||
@@ -6155,9 +6157,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
|
||||
}
|
||||
|
||||
void ChromeContentBrowserClient::CreateWebSocket(
|
||||
+ content::RenderProcessHost* process,
|
||||
content::RenderFrameHost* frame,
|
||||
WebSocketFactory factory,
|
||||
const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
const net::SiteForCookies& site_for_cookies,
|
||||
const std::optional<std::string>& user_agent,
|
||||
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
|
||||
--- a/chrome/browser/chrome_content_browser_client.h
|
||||
+++ b/chrome/browser/chrome_content_browser_client.h
|
||||
@@ -637,11 +637,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
||||
CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
|
||||
int frame_tree_node_id,
|
||||
const network::ResourceRequest& resource_request) override;
|
||||
- bool WillInterceptWebSocket(content::RenderFrameHost* frame) override;
|
||||
+ bool WillInterceptWebSocket(content::RenderFrameHost* frame,
|
||||
+ content::RenderProcessHost* process,
|
||||
+ const url::Origin& origin) override;
|
||||
void CreateWebSocket(
|
||||
+ content::RenderProcessHost* process,
|
||||
content::RenderFrameHost* frame,
|
||||
WebSocketFactory factory,
|
||||
const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
const net::SiteForCookies& site_for_cookies,
|
||||
const std::optional<std::string>& user_agent,
|
||||
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
|
||||
diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/components/adblock/content/browser/adblock_url_loader_factory.cc
|
||||
--- a/components/adblock/content/browser/adblock_url_loader_factory.cc
|
||||
+++ b/components/adblock/content/browser/adblock_url_loader_factory.cc
|
||||
@@ -344,12 +344,6 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestError(
|
||||
|
||||
void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
|
||||
CheckFilterMatchCallback callback) {
|
||||
- if (!factory_->CheckHostValid()) {
|
||||
- PostFilterMatchCallbackToUI(std::move(callback),
|
||||
- FilterMatchResult::kNoRule);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
auto subscription_service = factory_->config_.subscription_service;
|
||||
if (is_document_request_) {
|
||||
auto* host = content::RenderFrameHost::FromID(factory_->host_id_);
|
||||
@@ -388,7 +382,7 @@ void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
|
||||
} else {
|
||||
factory_->config_.resource_classifier->CheckRequestFilterMatch(
|
||||
subscription_service->GetCurrentSnapshot(), request_url_,
|
||||
- adblock_resource_type_, factory_->host_id_,
|
||||
+ factory_->request_initiator_, adblock_resource_type_, factory_->host_id_,
|
||||
base::BindOnce(
|
||||
&AdblockURLLoaderFactory::InProgressRequest::OnRequestUrlClassified,
|
||||
weak_factory_.GetWeakPtr(),
|
||||
@@ -677,12 +671,14 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestFilterMatchResult(
|
||||
|
||||
AdblockURLLoaderFactory::AdblockURLLoaderFactory(
|
||||
AdblockURLLoaderFactoryConfig config,
|
||||
+ GURL request_initiator,
|
||||
content::GlobalRenderFrameHostId host_id,
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory,
|
||||
std::string user_agent_string,
|
||||
DisconnectCallback on_disconnect)
|
||||
: config_(std::move(config)),
|
||||
+ request_initiator_(std::move(request_initiator)),
|
||||
host_id_(host_id),
|
||||
user_agent_string_(std::move(user_agent_string)),
|
||||
on_disconnect_(std::move(on_disconnect)) {
|
||||
diff --git a/components/adblock/content/browser/adblock_url_loader_factory.h b/components/adblock/content/browser/adblock_url_loader_factory.h
|
||||
--- a/components/adblock/content/browser/adblock_url_loader_factory.h
|
||||
+++ b/components/adblock/content/browser/adblock_url_loader_factory.h
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "mojo/public/cpp/bindings/receiver_set.h"
|
||||
#include "mojo/public/cpp/bindings/remote.h"
|
||||
#include "services/network/public/mojom/url_loader_factory.mojom.h"
|
||||
+#include "url/gurl.h"
|
||||
|
||||
namespace adblock {
|
||||
|
||||
@@ -57,6 +58,7 @@ class AdblockURLLoaderFactory : public network::mojom::URLLoaderFactory {
|
||||
|
||||
AdblockURLLoaderFactory(
|
||||
AdblockURLLoaderFactoryConfig config,
|
||||
+ GURL request_initiator,
|
||||
content::GlobalRenderFrameHostId host_id,
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory,
|
||||
@@ -86,6 +88,7 @@ class AdblockURLLoaderFactory : public network::mojom::URLLoaderFactory {
|
||||
void MaybeDestroySelf();
|
||||
|
||||
AdblockURLLoaderFactoryConfig config_;
|
||||
+ const GURL request_initiator_;
|
||||
content::GlobalRenderFrameHostId host_id_;
|
||||
mojo::ReceiverSet<network::mojom::URLLoaderFactory> proxy_receivers_;
|
||||
std::set<std::unique_ptr<InProgressRequest>, base::UniquePtrComparator>
|
||||
diff --git a/components/adblock/content/browser/frame_hierarchy_builder.cc b/components/adblock/content/browser/frame_hierarchy_builder.cc
|
||||
--- a/components/adblock/content/browser/frame_hierarchy_builder.cc
|
||||
+++ b/components/adblock/content/browser/frame_hierarchy_builder.cc
|
||||
@@ -76,9 +76,8 @@ std::vector<GURL> FrameHierarchyBuilder::BuildFrameHierarchy(
|
||||
content::RenderFrameHost* host) const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
|
||||
- DCHECK(host) << "RenderFrameHost is needed to build frame hierarchy";
|
||||
-
|
||||
std::vector<GURL> referrers_chain;
|
||||
+ if (!host) return referrers_chain;
|
||||
for (auto* iter = host; iter; iter = iter->GetParent()) {
|
||||
auto last_commited_referrer = GetUrlAsReferrer(iter);
|
||||
if (IsValidForFrameHierarchy(last_commited_referrer)) {
|
||||
diff --git a/components/adblock/content/browser/resource_classification_runner.h b/components/adblock/content/browser/resource_classification_runner.h
|
||||
--- a/components/adblock/content/browser/resource_classification_runner.h
|
||||
+++ b/components/adblock/content/browser/resource_classification_runner.h
|
||||
@@ -81,12 +81,20 @@ class ResourceClassificationRunner : public KeyedService {
|
||||
virtual void CheckRequestFilterMatch(
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
ContentType adblock_resource_type,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
CheckFilterMatchCallback callback) = 0;
|
||||
virtual void CheckRequestFilterMatchForWebSocket(
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
+ content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
+ CheckFilterMatchCallback callback) = 0;
|
||||
+ virtual void CheckRequestFilterMatchForWebTransport(
|
||||
+ SubscriptionService::Snapshot subscription_collections,
|
||||
+ const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
CheckFilterMatchCallback callback) = 0;
|
||||
// No callback, just notify observers
|
||||
diff --git a/components/adblock/content/browser/resource_classification_runner_impl.cc b/components/adblock/content/browser/resource_classification_runner_impl.cc
|
||||
--- a/components/adblock/content/browser/resource_classification_runner_impl.cc
|
||||
+++ b/components/adblock/content/browser/resource_classification_runner_impl.cc
|
||||
@@ -169,15 +169,28 @@ void ResourceClassificationRunnerImpl::CheckPopupFilterMatch(
|
||||
void ResourceClassificationRunnerImpl::CheckRequestFilterMatchForWebSocket(
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
CheckFilterMatchCallback callback) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
DCHECK(request_url.SchemeIsWSOrWSS());
|
||||
- CheckRequestFilterMatch(std::move(subscription_collections), request_url,
|
||||
+ CheckRequestFilterMatch(std::move(subscription_collections), request_url, request_initiator,
|
||||
ContentType::Websocket, render_frame_host_id,
|
||||
std::move(callback));
|
||||
}
|
||||
|
||||
+void ResourceClassificationRunnerImpl::CheckRequestFilterMatchForWebTransport(
|
||||
+ SubscriptionService::Snapshot subscription_collections,
|
||||
+ const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
+ content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
+ CheckFilterMatchCallback callback) {
|
||||
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
+ CheckRequestFilterMatch(std::move(subscription_collections), request_url, request_initiator,
|
||||
+ ContentType::Other, render_frame_host_id,
|
||||
+ std::move(callback));
|
||||
+}
|
||||
+
|
||||
void ResourceClassificationRunnerImpl::CheckDocumentAllowlisted(
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& request_url,
|
||||
@@ -212,6 +225,7 @@ void ResourceClassificationRunnerImpl::ProcessDocumentAllowlistedResponse(
|
||||
void ResourceClassificationRunnerImpl::CheckRequestFilterMatch(
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
ContentType adblock_resource_type,
|
||||
content::GlobalRenderFrameHostId frame_host_id,
|
||||
CheckFilterMatchCallback callback) {
|
||||
@@ -220,14 +234,10 @@ void ResourceClassificationRunnerImpl::CheckRequestFilterMatch(
|
||||
DVLOG(1) << "[eyeo] CheckRequestFilterMatchImpl for " << request_url.spec();
|
||||
|
||||
auto* host = content::RenderFrameHost::FromID(frame_host_id);
|
||||
- if (!host) {
|
||||
- // Host has died, likely because this is a deferred execution. It does not
|
||||
- // matter anymore whether the resource is blocked, the page is gone.
|
||||
- std::move(callback).Run(FilterMatchResult::kNoRule);
|
||||
- return;
|
||||
- }
|
||||
- const std::vector<GURL> frame_hierarchy_chain =
|
||||
+ std::vector<GURL> frame_hierarchy_chain =
|
||||
frame_hierarchy_builder_->BuildFrameHierarchy(host);
|
||||
+ if (!host && frame_hierarchy_chain.size() == 0)
|
||||
+ frame_hierarchy_chain.emplace_back(request_initiator.GetAsReferrer());
|
||||
|
||||
DVLOG(1) << "[eyeo] Got " << frame_hierarchy_chain.size()
|
||||
<< " frame_hierarchy for " << request_url.spec();
|
||||
@@ -275,7 +285,8 @@ ResourceClassificationRunnerImpl::CheckRequestFilterMatchInternal(
|
||||
adblock_resource_type, sitekey);
|
||||
|
||||
if (classification_result.decision == ClassificationDecision::Allowed) {
|
||||
- VLOG(1) << "[eyeo] Document allowed due to allowing filter " << request_url;
|
||||
+ VLOG(1) << "[eyeo] Document allowed due to allowing filter " << request_url
|
||||
+ << " " << classification_result.decisive_subscription.spec();
|
||||
return CheckResourceFilterMatchResult{
|
||||
FilterMatchResult::kAllowRule,
|
||||
classification_result.decisive_subscription,
|
||||
@@ -290,6 +301,7 @@ ResourceClassificationRunnerImpl::CheckRequestFilterMatchInternal(
|
||||
classification_result.decisive_configuration_name};
|
||||
}
|
||||
|
||||
+ VLOG(1) << "[eyeo] No Rule for " << request_url;
|
||||
return CheckResourceFilterMatchResult{FilterMatchResult::kNoRule, {}, {}};
|
||||
}
|
||||
|
||||
diff --git a/components/adblock/content/browser/resource_classification_runner_impl.h b/components/adblock/content/browser/resource_classification_runner_impl.h
|
||||
--- a/components/adblock/content/browser/resource_classification_runner_impl.h
|
||||
+++ b/components/adblock/content/browser/resource_classification_runner_impl.h
|
||||
@@ -55,12 +55,14 @@ class ResourceClassificationRunnerImpl final
|
||||
void CheckRequestFilterMatch(
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
ContentType adblock_resource_type,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
CheckFilterMatchCallback callback) final;
|
||||
void CheckRequestFilterMatchForWebSocket(
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
CheckFilterMatchCallback callback) final;
|
||||
// No callback, just notify observers
|
||||
@@ -68,6 +70,12 @@ class ResourceClassificationRunnerImpl final
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& request_url,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id) final;
|
||||
+ void CheckRequestFilterMatchForWebTransport(
|
||||
+ SubscriptionService::Snapshot subscription_collections,
|
||||
+ const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
+ content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
+ CheckFilterMatchCallback callback) final;
|
||||
void CheckResponseFilterMatch(
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& response_url,
|
||||
diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/browser/websockets/websocket_connector_impl.cc
|
||||
--- a/content/browser/websockets/websocket_connector_impl.cc
|
||||
+++ b/content/browser/websockets/websocket_connector_impl.cc
|
||||
@@ -88,14 +88,14 @@ void WebSocketConnectorImpl::Connect(
|
||||
const uint32_t options =
|
||||
GetContentClient()->browser()->GetWebSocketOptions(frame);
|
||||
|
||||
- if (GetContentClient()->browser()->WillInterceptWebSocket(frame)) {
|
||||
+ if (GetContentClient()->browser()->WillInterceptWebSocket(frame, process, origin_)) {
|
||||
GetContentClient()->browser()->CreateWebSocket(
|
||||
- frame,
|
||||
+ process, frame,
|
||||
base::BindOnce(ConnectCalledByContentBrowserClient, requested_protocols,
|
||||
site_for_cookies, has_storage_access, isolation_info_,
|
||||
process_id_, frame_id_, origin_, options,
|
||||
std::move(throttling_profile_id)),
|
||||
- url, site_for_cookies, user_agent, std::move(handshake_client));
|
||||
+ url, origin_, site_for_cookies, user_agent, std::move(handshake_client));
|
||||
return;
|
||||
}
|
||||
std::vector<network::mojom::HttpHeaderPtr> headers;
|
||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -1009,7 +1009,7 @@ bool ContentBrowserClient::WillCreateURLLoaderFactory(
|
||||
return false;
|
||||
}
|
||||
|
||||
-bool ContentBrowserClient::WillInterceptWebSocket(RenderFrameHost*) {
|
||||
+bool ContentBrowserClient::WillInterceptWebSocket(RenderFrameHost*, RenderProcessHost*, const url::Origin& origin) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1018,9 +1018,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
|
||||
}
|
||||
|
||||
void ContentBrowserClient::CreateWebSocket(
|
||||
+ RenderProcessHost* process,
|
||||
RenderFrameHost* frame,
|
||||
WebSocketFactory factory,
|
||||
const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
const net::SiteForCookies& site_for_cookies,
|
||||
const std::optional<std::string>& user_agent,
|
||||
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -1840,7 +1840,7 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
scoped_refptr<base::SequencedTaskRunner> navigation_response_task_runner);
|
||||
|
||||
// Returns true when the embedder wants to intercept a websocket connection.
|
||||
- virtual bool WillInterceptWebSocket(RenderFrameHost* frame);
|
||||
+ virtual bool WillInterceptWebSocket(RenderFrameHost* frame, RenderProcessHost* process, const url::Origin& origin);
|
||||
|
||||
// Returns the WebSocket creation options.
|
||||
virtual uint32_t GetWebSocketOptions(RenderFrameHost* frame);
|
||||
@@ -1862,9 +1862,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
// Always called on the UI thread and only when the Network Service is
|
||||
// enabled.
|
||||
virtual void CreateWebSocket(
|
||||
+ RenderProcessHost* process,
|
||||
RenderFrameHost* frame,
|
||||
WebSocketFactory factory,
|
||||
const GURL& url,
|
||||
+ const url::Origin& initiator_origin,
|
||||
const net::SiteForCookies& site_for_cookies,
|
||||
const std::optional<std::string>& user_agent,
|
||||
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
|
||||
--
|
||||
@@ -1,169 +0,0 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Tue, 9 Jan 2024 13:37:05 +0000
|
||||
Subject: AdblockPlus connect popup blocker
|
||||
|
||||
activates the pop-up blocking management present in adblockplus
|
||||
but not active in upstream.
|
||||
added "enable-stricter-popup-blocker" flag for the global
|
||||
deactivation of all pop-ups (default disabled)
|
||||
---
|
||||
.../adblock/adblock_content_browser_client.cc | 52 +++++++++++++++++++
|
||||
.../adblock/adblock_content_browser_client.h | 14 +++++
|
||||
components/blocked_content/popup_blocker.cc | 9 +++-
|
||||
components/blocked_content/popup_blocker.h | 3 ++
|
||||
.../about_flags_cc/Stricter-popup-blocker.inc | 14 +++++
|
||||
5 files changed, 91 insertions(+), 1 deletion(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Stricter-popup-blocker.inc
|
||||
|
||||
diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/browser/adblock/adblock_content_browser_client.cc
|
||||
--- a/chrome/browser/adblock/adblock_content_browser_client.cc
|
||||
+++ b/chrome/browser/adblock/adblock_content_browser_client.cc
|
||||
@@ -330,6 +330,58 @@ void AdblockContentBrowserClient::OnWebTransportFilterCheckCompleted(
|
||||
"Blocked", false));
|
||||
}
|
||||
|
||||
+bool AdblockContentBrowserClient::CanCreateWindow(
|
||||
+ content::RenderFrameHost* opener,
|
||||
+ const GURL& opener_url,
|
||||
+ const GURL& opener_top_level_frame_url,
|
||||
+ const url::Origin& source_origin,
|
||||
+ content::mojom::WindowContainerType container_type,
|
||||
+ const GURL& target_url,
|
||||
+ const content::Referrer& referrer,
|
||||
+ const std::string& frame_name,
|
||||
+ WindowOpenDisposition disposition,
|
||||
+ const blink::mojom::WindowFeatures& features,
|
||||
+ bool user_gesture,
|
||||
+ bool opener_suppressed,
|
||||
+ bool* no_javascript_access) {
|
||||
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
+ DCHECK(opener);
|
||||
+
|
||||
+ if (IsFilteringNeeded(opener)) {
|
||||
+ content::WebContents* web_contents =
|
||||
+ content::WebContents::FromRenderFrameHost(opener);
|
||||
+ auto* subscription_service =
|
||||
+ adblock::SubscriptionServiceFactory::GetForBrowserContext(
|
||||
+ web_contents->GetBrowserContext());
|
||||
+
|
||||
+ GURL popup_url(target_url);
|
||||
+ web_contents->GetPrimaryMainFrame()->GetProcess()->FilterURL(false,
|
||||
+ &popup_url);
|
||||
+ auto* classification_runner =
|
||||
+ adblock::ResourceClassificationRunnerFactory::GetForBrowserContext(
|
||||
+ web_contents->GetBrowserContext());
|
||||
+ const auto popup_blocking_decision =
|
||||
+ classification_runner->ShouldBlockPopup(
|
||||
+ subscription_service->GetCurrentSnapshot(), popup_url, opener);
|
||||
+ if (popup_blocking_decision == adblock::FilterMatchResult::kAllowRule) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ if (popup_blocking_decision == adblock::FilterMatchResult::kBlockRule) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ // Otherwise, if eyeo adblocking is disabled or there is no rule that
|
||||
+ // explicitly allows or blocks a popup, fall back on Chromium's built-in
|
||||
+ // popup blocker.
|
||||
+ DCHECK(popup_blocking_decision == adblock::FilterMatchResult::kDisabled ||
|
||||
+ popup_blocking_decision == adblock::FilterMatchResult::kNoRule);
|
||||
+ }
|
||||
+
|
||||
+ return ChromeContentBrowserClient::CanCreateWindow(
|
||||
+ opener, opener_url, opener_top_level_frame_url, source_origin,
|
||||
+ container_type, target_url, referrer, frame_name, disposition, features,
|
||||
+ user_gesture, opener_suppressed, no_javascript_access);
|
||||
+}
|
||||
+
|
||||
bool AdblockContentBrowserClient::WillCreateURLLoaderFactory(
|
||||
content::BrowserContext* browser_context,
|
||||
content::RenderFrameHost* frame,
|
||||
diff --git a/chrome/browser/adblock/adblock_content_browser_client.h b/chrome/browser/adblock/adblock_content_browser_client.h
|
||||
--- a/chrome/browser/adblock/adblock_content_browser_client.h
|
||||
+++ b/chrome/browser/adblock/adblock_content_browser_client.h
|
||||
@@ -82,6 +82,20 @@ class AdblockContentBrowserClient : public ChromeContentBrowserClient {
|
||||
scoped_refptr<base::SequencedTaskRunner> navigation_response_task_runner)
|
||||
override;
|
||||
|
||||
+ bool CanCreateWindow(content::RenderFrameHost* opener,
|
||||
+ const GURL& opener_url,
|
||||
+ const GURL& opener_top_level_frame_url,
|
||||
+ const url::Origin& source_origin,
|
||||
+ content::mojom::WindowContainerType container_type,
|
||||
+ const GURL& target_url,
|
||||
+ const content::Referrer& referrer,
|
||||
+ const std::string& frame_name,
|
||||
+ WindowOpenDisposition disposition,
|
||||
+ const blink::mojom::WindowFeatures& features,
|
||||
+ bool user_gesture,
|
||||
+ bool opener_suppressed,
|
||||
+ bool* no_javascript_access) override;
|
||||
+
|
||||
private:
|
||||
void CreateWebSocketInternal(
|
||||
content::RenderProcessHost* process,
|
||||
diff --git a/components/blocked_content/popup_blocker.cc b/components/blocked_content/popup_blocker.cc
|
||||
--- a/components/blocked_content/popup_blocker.cc
|
||||
+++ b/components/blocked_content/popup_blocker.cc
|
||||
@@ -20,6 +20,11 @@
|
||||
#include "third_party/blink/public/mojom/frame/frame.mojom-shared.h"
|
||||
|
||||
namespace blocked_content {
|
||||
+
|
||||
+CROMITE_FEATURE(kStrictPopupBlocker,
|
||||
+ "StrictPopupBlocker",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+
|
||||
namespace {
|
||||
|
||||
content::Page& GetSourcePageForPopup(
|
||||
@@ -91,7 +96,9 @@ PopupBlockType ShouldBlockPopup(content::WebContents* web_contents,
|
||||
GetSourcePageForPopup(open_url_params, web_contents))) {
|
||||
return PopupBlockType::kAbusive;
|
||||
}
|
||||
- return PopupBlockType::kNotBlocked;
|
||||
+ return base::FeatureList::IsEnabled(kStrictPopupBlocker)
|
||||
+ ? PopupBlockType::kAbusive
|
||||
+ : PopupBlockType::kNotBlocked;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
diff --git a/components/blocked_content/popup_blocker.h b/components/blocked_content/popup_blocker.h
|
||||
--- a/components/blocked_content/popup_blocker.h
|
||||
+++ b/components/blocked_content/popup_blocker.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_BLOCKED_CONTENT_POPUP_BLOCKER_H_
|
||||
#define COMPONENTS_BLOCKED_CONTENT_POPUP_BLOCKER_H_
|
||||
|
||||
+#include "base/feature_list.h"
|
||||
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
||||
#include "third_party/blink/public/mojom/window_features/window_features.mojom-forward.h"
|
||||
#include "ui/base/window_open_disposition.h"
|
||||
@@ -18,6 +19,8 @@ struct OpenURLParams;
|
||||
} // namespace content
|
||||
|
||||
namespace blocked_content {
|
||||
+BASE_DECLARE_FEATURE(kStrictPopupBlocker);
|
||||
+
|
||||
class PopupNavigationDelegate;
|
||||
|
||||
// Classifies what caused a popup to be blocked.
|
||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Stricter-popup-blocker.inc b/cromite_flags/chrome/browser/about_flags_cc/Stricter-popup-blocker.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/cromite_flags/chrome/browser/about_flags_cc/Stricter-popup-blocker.inc
|
||||
@@ -0,0 +1,14 @@
|
||||
+#ifdef ABOUT_FLAG_INCLUDE_SECTION
|
||||
+
|
||||
+#include "components/blocked_content/popup_blocker.h"
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
+#ifdef FLAG_SECTION
|
||||
+
|
||||
+ {"enable-stricter-popup-blocker",
|
||||
+ "Enable Stricter popup blocker",
|
||||
+ "Blocks all pop-ups, even those with user gestures.", kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(blocked_content::kStrictPopupBlocker)},
|
||||
+
|
||||
+#endif // ifdef FLAG_SECTION
|
||||
--
|
||||
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -227,6 +227,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
|
||||
@@ -230,6 +230,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
|
||||
import org.chromium.content_public.browser.SelectionPopupController;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.content_public.common.ContentSwitches;
|
||||
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
import org.chromium.printing.PrintManagerDelegateImpl;
|
||||
import org.chromium.printing.PrintingController;
|
||||
import org.chromium.printing.PrintingControllerImpl;
|
||||
@@ -1105,6 +1106,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -1064,6 +1065,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
super.onStartWithNative();
|
||||
ChromeActivitySessionTracker.getInstance().onStartWithNative();
|
||||
ChromeCachedFlags.getInstance().cacheNativeFlags();
|
||||
@@ -59,16 +59,16 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE =
|
||||
"AdaptiveButtonInTopToolbarTranslate";
|
||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_ADD_TO_BOOKMARKS =
|
||||
@@ -522,6 +523,8 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(ANDROID_ELEGANT_TEXT_HEIGHT, false);
|
||||
|
||||
@@ -533,6 +534,8 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sAndroidHub = newCachedFlag(ANDROID_HUB, false);
|
||||
public static final CachedFlag sAndroidTabGroupStableIds =
|
||||
newCachedFlag(ANDROID_TAB_GROUP_STABLE_IDS, false);
|
||||
+ public static final CachedFlag sAllowUserCertificates =
|
||||
+ newCachedFlag(ALLOW_USER_CERTIFICATES, false);
|
||||
public static final CachedFlag sArchiveTabService = newCachedFlag(ARCHIVE_TAB_SERVICE, false);
|
||||
public static final CachedFlag sBackGestureActivityTabProvider =
|
||||
newCachedFlag(BACK_GESTURE_ACTIVITY_TAB_PROVIDER, false);
|
||||
@@ -656,6 +659,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -679,6 +682,7 @@ public abstract class ChromeFeatureList {
|
||||
|
||||
public static final List<CachedFlag> sFlagsCachedFullBrowser =
|
||||
List.of(
|
||||
|
||||
@@ -44,7 +44,7 @@ new file mode 100644
|
||||
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
||||
--- a/net/url_request/url_request_http_job.cc
|
||||
+++ b/net/url_request/url_request_http_job.cc
|
||||
@@ -301,6 +301,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
@@ -300,6 +300,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -14,8 +14,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -7156,9 +7156,9 @@
|
||||
"expiry_milestone": 123
|
||||
@@ -7195,9 +7195,9 @@
|
||||
"expiry_milestone": 125
|
||||
},
|
||||
{
|
||||
- "name": "restrict-gamepad-access",
|
||||
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3040,7 +3040,7 @@ const char kResetShortcutCustomizationsDescription[] =
|
||||
@@ -3089,7 +3089,7 @@ const char kResetShortcutCustomizationsDescription[] =
|
||||
|
||||
const char kRestrictGamepadAccessName[] = "Restrict gamepad access";
|
||||
const char kRestrictGamepadAccessDescription[] =
|
||||
|
||||
@@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -302,6 +302,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
@@ -308,6 +308,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
builtins_to_provide.push_back(
|
||||
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
|
||||
#endif
|
||||
@@ -101,7 +101,7 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou
|
||||
--- a/chrome/browser/browser_resources.grd
|
||||
+++ b/chrome/browser/browser_resources.grd
|
||||
@@ -237,6 +237,9 @@
|
||||
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings_internal\pref_hash_seed.bin" type="BINDATA" />
|
||||
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings\internal\pref_hash_seed.bin" type="BINDATA" />
|
||||
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
|
||||
</if>
|
||||
+ <!-- Bromite Proxy Configuration UI -->
|
||||
@@ -197,7 +197,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -190,6 +190,8 @@
|
||||
@@ -191,6 +191,8 @@
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "rlz/buildflags/buildflags.h"
|
||||
|
||||
@@ -206,7 +206,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
|
||||
#include "chrome/browser/background/background_mode_manager.h"
|
||||
#endif
|
||||
@@ -1412,6 +1414,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
@@ -1447,6 +1449,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
component_updater::RegisterPrefs(registry);
|
||||
domain_reliability::RegisterPrefs(registry);
|
||||
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
|
||||
@@ -661,7 +661,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -310,6 +310,8 @@ static_library("ui") {
|
||||
@@ -301,6 +301,8 @@ static_library("ui") {
|
||||
"webui/metrics_internals/metrics_internals_ui.h",
|
||||
"webui/net_export_ui.cc",
|
||||
"webui/net_export_ui.h",
|
||||
@@ -673,7 +673,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
@@ -55,6 +55,7 @@
|
||||
@@ -52,6 +52,7 @@
|
||||
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
|
||||
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
|
||||
#include "chrome/browser/ui/webui/policy/policy_ui.h"
|
||||
@@ -681,7 +681,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
|
||||
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
|
||||
#include "chrome/browser/ui/webui/privacy_sandbox/privacy_sandbox_internals_ui.h"
|
||||
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
|
||||
@@ -494,6 +495,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
@@ -469,6 +470,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
return &NewWebUI<MetricsInternalsUI>;
|
||||
if (url.host_piece() == chrome::kChromeUINetExportHost)
|
||||
return &NewWebUI<NetExportUI>;
|
||||
@@ -1136,7 +1136,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
||||
const char kChromeUIChromeURLsHost[] = "chrome-urls";
|
||||
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
|
||||
const char kChromeUIComponentsHost[] = "components";
|
||||
@@ -455,6 +457,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
|
||||
@@ -460,6 +462,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
|
||||
kChromeUILockScreenNetworkHost,
|
||||
kChromeUILockScreenStartReauthHost,
|
||||
kChromeUIMobileSetupHost,
|
||||
@@ -1144,7 +1144,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
||||
kChromeUIMultiDeviceSetupHost,
|
||||
kChromeUINetworkHost,
|
||||
kChromeUINotificationTesterHost,
|
||||
@@ -757,6 +760,7 @@ const char* const kChromeHostURLs[] = {
|
||||
@@ -760,6 +763,7 @@ const char* const kChromeHostURLs[] = {
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
#if !BUILDFLAG(IS_CHROMEOS)
|
||||
kChromeUIAppLauncherPageHost,
|
||||
@@ -1155,7 +1155,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
||||
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
|
||||
--- a/chrome/common/webui_url_constants.h
|
||||
+++ b/chrome/common/webui_url_constants.h
|
||||
@@ -135,6 +135,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
|
||||
@@ -134,6 +134,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
|
||||
extern const char kChromeUINaClHost[];
|
||||
extern const char kChromeUINetExportHost[];
|
||||
extern const char kChromeUINetExportURL[];
|
||||
|
||||
@@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../CustomTabIntentDataProvider.java | 5 +-
|
||||
.../browser/download/DownloadUtils.java | 16 +-
|
||||
.../history/HistoryContentManager.java | 7 +-
|
||||
.../browser/history/HistoryManager.java | 28 ++-
|
||||
.../browser/history/HistoryManager.java | 26 ++-
|
||||
.../chrome/browser/history/HistoryPage.java | 15 ++
|
||||
.../native_page/NativePageFactory.java | 4 +-
|
||||
.../chrome/browser/ntp/RecentTabsManager.java | 28 ++-
|
||||
@@ -85,7 +85,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../add-an-always-incognito-mode.inc | 3 +
|
||||
.../add-an-always-incognito-mode.inc | 1 +
|
||||
net/base/file_stream_context.cc | 2 +-
|
||||
66 files changed, 771 insertions(+), 103 deletions(-)
|
||||
66 files changed, 770 insertions(+), 102 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
|
||||
@@ -98,7 +98,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -642,6 +642,7 @@ chrome_java_resources = [
|
||||
@@ -644,6 +644,7 @@ chrome_java_resources = [
|
||||
"java/res/xml/main_preferences.xml",
|
||||
"java/res/xml/manage_sync_preferences.xml",
|
||||
"java/res/xml/phone_as_a_security_key_accessory_filter.xml",
|
||||
@@ -117,7 +117,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
|
||||
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
|
||||
"java/src/org/chromium/chrome/browser/ActivityUtils.java",
|
||||
@@ -971,6 +972,7 @@ chrome_java_sources = [
|
||||
@@ -979,6 +980,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy_sandbox/ChromeTrackingProtectionDelegate.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionNoticeController.java",
|
||||
@@ -243,7 +243,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -63,6 +63,10 @@ import org.chromium.base.task.TaskTraits;
|
||||
@@ -66,6 +66,10 @@ import org.chromium.base.task.TaskTraits;
|
||||
import org.chromium.build.annotations.UsedByReflection;
|
||||
import org.chromium.cc.input.BrowserControlsState;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -254,7 +254,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
|
||||
import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
import org.chromium.chrome.browser.app.metrics.LaunchCauseMetrics;
|
||||
@@ -662,9 +666,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -676,9 +680,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
mTabModelOrchestrator.onNativeLibraryReady(getTabContentManager());
|
||||
|
||||
// For saving non-incognito tab closures for Recent Tabs.
|
||||
@@ -272,7 +272,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
// Defer initialization of this helper so it triggers after TabModelFilter
|
||||
// observers.
|
||||
UndoRefocusHelper.initialize(
|
||||
@@ -2349,8 +2358,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2405,8 +2414,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
|
||||
// We determine the model as soon as possible so every systems get initialized coherently.
|
||||
boolean startIncognito =
|
||||
@@ -287,7 +287,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -94,6 +94,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
|
||||
@@ -95,6 +95,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
|
||||
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
||||
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
|
||||
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
|
||||
@@ -295,7 +295,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
|
||||
import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
|
||||
import org.chromium.chrome.browser.device.DeviceClassManager;
|
||||
@@ -2036,6 +2037,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -1996,6 +1997,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
throw new IllegalStateException(
|
||||
"Attempting to access TabCreator before initialization");
|
||||
}
|
||||
@@ -316,7 +316,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkFeatures;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
||||
import org.chromium.chrome.browser.bookmarks.PowerBookmarkUtils;
|
||||
@@ -100,6 +101,10 @@ import java.lang.annotation.RetentionPolicy;
|
||||
@@ -103,6 +104,10 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -327,7 +327,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
/**
|
||||
* Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu
|
||||
* items based on activity state.
|
||||
@@ -599,6 +604,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -604,6 +609,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
}
|
||||
|
||||
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
|
||||
@@ -341,7 +341,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
// We have to iterate all menu items since same menu item ID may be associated with more
|
||||
// than one menu items.
|
||||
boolean isOverviewModeMenu = menuGroup == MenuGroup.OVERVIEW_MODE_MENU;
|
||||
@@ -661,7 +673,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -667,7 +679,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
}
|
||||
|
||||
if (item.getItemId() == R.id.recent_tabs_menu_id) {
|
||||
@@ -358,7 +358,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
}
|
||||
if (item.getItemId() == R.id.menu_select_tabs) {
|
||||
item.setVisible(isMenuSelectTabsVisible);
|
||||
@@ -870,8 +890,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -876,8 +896,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
&& !isChromeScheme
|
||||
&& !isFileScheme
|
||||
&& !isContentScheme
|
||||
@@ -460,7 +460,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
import org.chromium.chrome.browser.DefaultBrowserInfo;
|
||||
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
|
||||
import org.chromium.chrome.browser.app.appmenu.DividerLineMenuItemViewBinder;
|
||||
@@ -203,6 +204,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
@@ -218,6 +219,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
openInChromeItemVisible = false;
|
||||
tryAddingReadAloud = false;
|
||||
}
|
||||
@@ -514,7 +514,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
|
||||
/** A class containing some utility static methods. */
|
||||
public class DownloadUtils {
|
||||
private static final String TAG = "download";
|
||||
@@ -285,7 +290,16 @@ public class DownloadUtils {
|
||||
@@ -286,7 +291,16 @@ public class DownloadUtils {
|
||||
// Offline pages isn't supported in Incognito. This should be checked before calling
|
||||
// OfflinePageBridge.getForProfile because OfflinePageBridge instance will not be found
|
||||
// for incognito profile.
|
||||
@@ -535,7 +535,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
|
||||
@@ -244,7 +244,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
@@ -239,7 +239,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
mHistoryAdapter.generateFooterItems();
|
||||
|
||||
// Listen to changes in sign in state.
|
||||
@@ -546,7 +546,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
|
||||
// Create PrefChangeRegistrar to receive notifications on preference changes.
|
||||
mPrefChangeRegistrar = new PrefChangeRegistrar();
|
||||
@@ -287,7 +289,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
@@ -275,7 +277,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
mHistoryAdapter.onDestroyed();
|
||||
mLargeIconBridge.destroy();
|
||||
mLargeIconBridge = null;
|
||||
@@ -559,7 +559,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
|
||||
@@ -35,6 +35,7 @@ import com.google.android.material.tabs.TabLayout.OnTabSelectedListener;
|
||||
@@ -23,6 +23,7 @@ import com.google.android.material.tabs.TabLayout;
|
||||
import org.chromium.base.metrics.RecordHistogram;
|
||||
import org.chromium.base.metrics.RecordUserAction;
|
||||
import org.chromium.base.supplier.ObservableSupplier;
|
||||
@@ -567,9 +567,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -75,6 +76,12 @@ import java.io.Serializable;
|
||||
@@ -49,6 +50,12 @@ import org.chromium.ui.base.Clipboard;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
+import org.chromium.chrome.browser.profiles.Profile;
|
||||
+import org.chromium.base.ContextUtils;
|
||||
@@ -580,7 +580,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
/** Combines and manages the different UI components of browsing history. */
|
||||
public class HistoryManager
|
||||
implements OnMenuItemClickListener,
|
||||
@@ -164,7 +171,7 @@ public class HistoryManager
|
||||
@@ -133,7 +140,7 @@ public class HistoryManager
|
||||
|
||||
recordUserAction("Show");
|
||||
// If incognito placeholder is shown, we don't need to create History UI elements.
|
||||
@@ -589,17 +589,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
mSelectableListLayout = null;
|
||||
mRootView = getIncognitoHistoryPlaceholderView();
|
||||
return;
|
||||
@@ -673,7 +680,7 @@ public class HistoryManager
|
||||
|
||||
private void swapContentView() {
|
||||
boolean toHistoryClusters;
|
||||
- if (mIsIncognito) {
|
||||
+ if (shouldShowIncognitoPlaceholder()) {
|
||||
return;
|
||||
} else if (isHistoryClustersUIShowing()) {
|
||||
toHistoryClusters = false;
|
||||
@@ -737,9 +744,22 @@ public class HistoryManager
|
||||
&& mContentView == mHistoryClustersCoordinator.getActivityContentView();
|
||||
@@ -339,9 +346,22 @@ public class HistoryManager
|
||||
onBackPressStateChanged();
|
||||
}
|
||||
|
||||
+ public boolean isIncognito() { return mIsIncognito; }
|
||||
@@ -622,7 +613,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
// If Incognito placeholder is shown no need to call any destroy method.
|
||||
return;
|
||||
}
|
||||
@@ -809,7 +829,7 @@ public class HistoryManager
|
||||
@@ -397,7 +417,7 @@ public class HistoryManager
|
||||
* @return True if manager handles this event, false if it decides to ignore.
|
||||
*/
|
||||
private boolean onBackPressed() {
|
||||
@@ -630,7 +621,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
+ if (shouldShowIncognitoPlaceholder() || mSelectableListLayout == null) {
|
||||
// If Incognito placeholder is shown, the back press should handled by HistoryActivity.
|
||||
return false;
|
||||
} else if (isHistoryClustersUIShowing()) {
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
|
||||
@@ -639,10 +630,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.chrome.R;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
import org.chromium.chrome.browser.history_clusters.HistoryClustersConstants;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
@@ -17,6 +18,12 @@ import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
@@ -16,6 +17,12 @@ import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
|
||||
import org.chromium.chrome.browser.ui.native_page.NativePageHost;
|
||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
|
||||
@@ -655,7 +646,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
/** Native page for managing browsing history. */
|
||||
public class HistoryPage extends BasicNativePage {
|
||||
private HistoryManager mHistoryManager;
|
||||
@@ -42,6 +49,14 @@ public class HistoryPage extends BasicNativePage {
|
||||
@@ -41,6 +48,14 @@ public class HistoryPage extends BasicNativePage {
|
||||
String url) {
|
||||
super(host);
|
||||
|
||||
@@ -673,15 +664,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
@@ -16,6 +16,7 @@ import org.chromium.base.jank_tracker.JankTracker;
|
||||
import org.chromium.base.supplier.DestroyableObservableSupplier;
|
||||
@@ -17,6 +17,7 @@ import org.chromium.base.supplier.DestroyableObservableSupplier;
|
||||
import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
import org.chromium.chrome.browser.app.download.home.DownloadPage;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
|
||||
@@ -287,7 +288,8 @@ public class NativePageFactory {
|
||||
@@ -297,7 +298,8 @@ public class NativePageFactory {
|
||||
String url, NativePage candidatePage, Tab tab, boolean isIncognito) {
|
||||
NativePage page;
|
||||
|
||||
@@ -720,7 +711,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
|
||||
mActiveTab = tab;
|
||||
mTabModelSelector = tabModelSelector;
|
||||
mShowHistoryManager = showHistoryManager;
|
||||
@@ -258,6 +268,22 @@ public class RecentTabsManager
|
||||
@@ -263,6 +273,22 @@ public class RecentTabsManager
|
||||
*/
|
||||
public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) {
|
||||
if (mIsDestroyed) return;
|
||||
@@ -911,7 +902,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
@@ -72,6 +72,7 @@ import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
|
||||
@@ -75,6 +75,7 @@ import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
|
||||
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
|
||||
import org.chromium.chrome.browser.sync.SyncServiceFactory;
|
||||
import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
|
||||
@@ -919,7 +910,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
|
||||
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
|
||||
@@ -358,6 +359,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -362,6 +363,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
((PrivacySandboxSettingsBaseFragment) fragment)
|
||||
.setSnackbarManager(getSnackbarManager());
|
||||
}
|
||||
@@ -1044,7 +1035,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -135,6 +135,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetController;
|
||||
@@ -139,6 +139,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetController;
|
||||
import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFactory;
|
||||
import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
@@ -1053,7 +1044,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
import org.chromium.ui.base.IntentRequestTracker;
|
||||
import org.chromium.ui.dragdrop.DragDropGlobalState;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
@@ -985,7 +987,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -1011,7 +1013,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
() -> {
|
||||
mTabCreatorManagerSupplier
|
||||
.get()
|
||||
@@ -1107,16 +1098,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
|
||||
@@ -50,6 +50,8 @@ import org.chromium.components.embedder_support.util.UrlUtilities;
|
||||
@@ -49,6 +49,8 @@ import org.chromium.chrome.features.start_surface.StartSurfaceUserData;
|
||||
import org.chromium.components.embedder_support.util.UrlUtilities;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
+
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
@@ -671,6 +673,13 @@ public class TabPersistentStore {
|
||||
@@ -670,6 +672,13 @@ public class TabPersistentStore {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1141,15 +1132,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
import org.chromium.chrome.browser.IntentHandler;
|
||||
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
|
||||
@@ -603,7 +604,7 @@ public class ToolbarManager
|
||||
@@ -615,7 +616,7 @@ public class ToolbarManager
|
||||
TraceEvent.end("isOfflinePage");
|
||||
return ret;
|
||||
}
|
||||
- });
|
||||
+ }, AlwaysIncognitoLinkInterceptor.isAlwaysIncognito());
|
||||
mControlContainer = controlContainer;
|
||||
mToolbarHairline = mControlContainer.findViewById(R.id.toolbar_hairline);
|
||||
assert mControlContainer != null;
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
|
||||
@@ -1264,7 +1255,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
|
||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -351,6 +351,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const {
|
||||
@@ -357,6 +357,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const {
|
||||
return ProviderStateServiceFactory::GetForProfile(profile_);
|
||||
}
|
||||
|
||||
@@ -1738,7 +1729,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -248,6 +248,7 @@
|
||||
@@ -249,6 +249,7 @@
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
|
||||
@@ -1746,7 +1737,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
|
||||
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
|
||||
#include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
|
||||
@@ -1813,6 +1814,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -1856,6 +1857,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
|
||||
variations::VariationsService::RegisterProfilePrefs(registry);
|
||||
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
|
||||
@@ -1885,7 +1876,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1222,6 +1222,37 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1228,6 +1228,37 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SYNCED_NO_LINK" desc="A text for the basic tab explaining browsing history for users with history sync. This version is shown when the link to MyActivity is displayed separately.">
|
||||
Clears history from all synced devices
|
||||
</message>
|
||||
@@ -1991,7 +1982,7 @@ new file mode 100644
|
||||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
--- a/chrome/common/pref_names.h
|
||||
+++ b/chrome/common/pref_names.h
|
||||
@@ -3952,6 +3952,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
|
||||
@@ -3957,6 +3957,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
|
||||
"net.out_of_process_system_dns_resolution_enabled";
|
||||
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
|
||||
|
||||
@@ -2007,7 +1998,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
@@ -97,10 +97,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
@@ -96,10 +96,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
|
||||
PrefProvider::PrefProvider(PrefService* prefs,
|
||||
bool off_the_record,
|
||||
@@ -2020,20 +2011,20 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
|
||||
store_last_modified_(store_last_modified),
|
||||
clock_(base::DefaultClock::GetInstance()) {
|
||||
TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider");
|
||||
@@ -124,11 +126,13 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
@@ -122,11 +124,13 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
WebsiteSettingsRegistry* website_settings =
|
||||
WebsiteSettingsRegistry::GetInstance();
|
||||
for (const WebsiteSettingsInfo* info : *website_settings) {
|
||||
+ bool save_site_settings = force_save_site_settings_ &&
|
||||
+ info->incognito_behavior() == WebsiteSettingsInfo::INHERIT_IN_INCOGNITO;
|
||||
content_settings_prefs_.insert(std::make_pair(
|
||||
info->type(), std::make_unique<ContentSettingsPref>(
|
||||
info->type(), prefs_, pref_change_registrar_.get(),
|
||||
info->pref_name(), info->partitioned_pref_name(),
|
||||
- off_the_record_, restore_session,
|
||||
+ off_the_record_ && !save_site_settings, restore_session,
|
||||
base::BindRepeating(&PrefProvider::Notify,
|
||||
base::Unretained(this)))));
|
||||
info->type(),
|
||||
std::make_unique<ContentSettingsPref>(
|
||||
info->type(), prefs_, &pref_change_registrar_, info->pref_name(),
|
||||
- info->partitioned_pref_name(), off_the_record_, restore_session,
|
||||
+ info->partitioned_pref_name(), off_the_record_ && !save_site_settings, restore_session,
|
||||
base::BindRepeating(&PrefProvider::Notify,
|
||||
base::Unretained(this)))));
|
||||
}
|
||||
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.h b/components/content_settings/core/browser/content_settings_pref_provider.h
|
||||
--- a/components/content_settings/core/browser/content_settings_pref_provider.h
|
||||
@@ -2105,7 +2096,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/components/omnibox/browser/autocomplete_provider_client.cc
|
||||
--- a/components/omnibox/browser/autocomplete_provider_client.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_provider_client.cc
|
||||
@@ -29,3 +29,7 @@ base::WeakPtr<AutocompleteProviderClient>
|
||||
@@ -33,3 +33,7 @@ base::WeakPtr<AutocompleteProviderClient>
|
||||
AutocompleteProviderClient::GetWeakPtr() {
|
||||
return nullptr;
|
||||
}
|
||||
@@ -2127,7 +2118,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/compone
|
||||
diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc
|
||||
--- a/components/omnibox/browser/base_search_provider.cc
|
||||
+++ b/components/omnibox/browser/base_search_provider.cc
|
||||
@@ -349,7 +349,7 @@ bool BaseSearchProvider::CanSendZeroSuggestRequest(
|
||||
@@ -350,7 +350,7 @@ bool BaseSearchProvider::CanSendSuggestRequestWithoutPageURL(
|
||||
}
|
||||
|
||||
// Don't make a suggest request if in incognito mode.
|
||||
@@ -2139,7 +2130,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn
|
||||
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
|
||||
--- a/components/omnibox/browser/search_provider.cc
|
||||
+++ b/components/omnibox/browser/search_provider.cc
|
||||
@@ -774,7 +774,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
|
||||
@@ -775,7 +775,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
|
||||
// keyword input to a keyword suggest server, if any.)
|
||||
const TemplateURL* default_url = providers_.GetDefaultProviderURL();
|
||||
const TemplateURL* keyword_url = providers_.GetKeywordProviderURL();
|
||||
|
||||
@@ -299,7 +299,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
|
||||
#include "third_party/blink/public/platform/web_media_player.h"
|
||||
#include "third_party/blink/public/web/web_local_frame.h"
|
||||
#include "third_party/blink/public/web/web_local_frame_client.h"
|
||||
@@ -332,6 +333,8 @@ void AutoplayPolicy::TryUnlockingUserGesture() {
|
||||
@@ -330,6 +331,8 @@ void AutoplayPolicy::TryUnlockingUserGesture() {
|
||||
}
|
||||
|
||||
bool AutoplayPolicy::IsGestureNeededForPlayback() const {
|
||||
@@ -308,7 +308,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
|
||||
if (!IsLockedPendingUserGesture())
|
||||
return false;
|
||||
|
||||
@@ -430,6 +433,17 @@ void AutoplayPolicy::MaybeSetAutoplayInitiated() {
|
||||
@@ -428,6 +431,17 @@ void AutoplayPolicy::MaybeSetAutoplayInitiated() {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
|
||||
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
||||
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
||||
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
||||
@@ -137,6 +137,10 @@ class CORE_EXPORT AutoplayPolicy final
|
||||
@@ -138,6 +138,10 @@ class CORE_EXPORT AutoplayPolicy final
|
||||
// should use, if checking to see if an action is allowed.
|
||||
bool IsLockedPendingUserGesture() const;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../menu/bookmark_toolbar_menu_improved.xml | 14 +
|
||||
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
|
||||
.../app/bookmarks/BookmarkActivity.java | 32 ++
|
||||
.../browser/bookmarks/BookmarkBridge.java | 280 +++++++++++++++++
|
||||
.../browser/bookmarks/BookmarkBridge.java | 285 +++++++++++++++++
|
||||
.../browser/bookmarks/BookmarkDelegate.java | 10 +
|
||||
.../bookmarks/BookmarkManagerCoordinator.java | 9 +
|
||||
.../bookmarks/BookmarkManagerMediator.java | 23 ++
|
||||
@@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../bookmarks/android/bookmark_bridge.h | 30 +-
|
||||
.../browser/bookmarks/bookmark_html_writer.cc | 11 +
|
||||
.../dialogs/DownloadLocationCustomView.java | 8 +-
|
||||
.../DownloadLocationDialogCoordinator.java | 8 +-
|
||||
.../DownloadLocationDialogCoordinator.java | 10 +-
|
||||
.../flags/android/chrome_feature_list.cc | 1 +
|
||||
.../browser/flags/ChromeFeatureList.java | 1 +
|
||||
chrome/browser/importer/profile_writer.cc | 10 +
|
||||
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
ui/shell_dialogs/select_file_dialog_linux.cc | 4 +
|
||||
ui/shell_dialogs/select_file_dialog_linux.h | 2 +
|
||||
ui/shell_dialogs/select_file_dialog_win.cc | 5 +
|
||||
43 files changed, 922 insertions(+), 29 deletions(-)
|
||||
43 files changed, 928 insertions(+), 30 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-bookmark-import-export-actions.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-bookmark-import-export-actions.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/add-bookmark-import-export-actions.inc
|
||||
@@ -120,15 +120,15 @@ diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/c
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
|
||||
@@ -12,6 +12,7 @@ import androidx.annotation.Nullable;
|
||||
import org.chromium.base.jank_tracker.JankTracker;
|
||||
@@ -13,6 +13,7 @@ import org.chromium.base.jank_tracker.JankTracker;
|
||||
import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
+import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
@@ -51,7 +52,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
@@ -53,7 +54,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
* {@link ChromeTabbedActivity}.
|
||||
*/
|
||||
public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
@@ -137,7 +137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
|
||||
private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
|
||||
private final Supplier<ShareDelegate> mShareDelegateSupplier;
|
||||
private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
|
||||
@@ -79,7 +80,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
@@ -82,7 +83,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
private NativePageFactory mNativePageFactory;
|
||||
|
||||
public TabbedModeTabDelegateFactory(
|
||||
@@ -149,8 +149,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
|
||||
@@ -20,6 +20,11 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -21,6 +21,11 @@ import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.profiles.ProfileProvider;
|
||||
import org.chromium.components.bookmarks.BookmarkId;
|
||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
+import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
@@ -161,7 +161,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
|
||||
/**
|
||||
* The activity that displays the bookmark UI on the phone. It keeps a {@link
|
||||
@@ -32,6 +37,9 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -33,6 +38,9 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
public static final int EDIT_BOOKMARK_REQUEST_CODE = 14;
|
||||
public static final String INTENT_VISIT_BOOKMARK_ID = "BookmarkEditActivity.VisitBookmarkId";
|
||||
|
||||
@@ -171,7 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -62,8 +70,23 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -58,8 +66,23 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
getOnBackPressedDispatcher(),
|
||||
mBookmarkManagerCoordinator,
|
||||
SecondaryActivity.BOOKMARK);
|
||||
@@ -195,7 +195,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
@@ -73,6 +96,7 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -69,6 +92,7 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
@@ -203,7 +203,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) {
|
||||
BookmarkId bookmarkId =
|
||||
BookmarkId.getBookmarkIdFromString(
|
||||
@@ -81,6 +105,14 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -77,6 +101,14 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -221,7 +221,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||
@@ -33,6 +33,46 @@ import org.chromium.url.GURL;
|
||||
@@ -33,6 +33,48 @@ import org.chromium.url.GURL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -252,10 +252,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
+import org.chromium.chrome.browser.IntentHandler;
|
||||
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||
+import org.chromium.chrome.browser.download.DownloadLocationDialogType;
|
||||
+import org.chromium.chrome.browser.download.settings.DownloadLocationHelperImpl;
|
||||
+import org.chromium.chrome.browser.download.dialogs.DownloadLocationDialogController;
|
||||
+import org.chromium.chrome.browser.download.dialogs.DownloadLocationDialogCoordinator;
|
||||
+import org.chromium.chrome.browser.download.dialogs.DownloadLocationCustomView;
|
||||
+import org.chromium.chrome.browser.download.DirectoryOption;
|
||||
+import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
+import org.chromium.ui.base.PageTransition;
|
||||
@@ -268,7 +270,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* Provides the communication channel for Android to fetch and manipulate the bookmark model stored
|
||||
* in native.
|
||||
@@ -483,6 +523,209 @@ class BookmarkBridge {
|
||||
@@ -483,6 +525,212 @@ class BookmarkBridge {
|
||||
.getTotalBookmarkCount(mNativeBookmarkBridge, id.getId(), id.getType());
|
||||
}
|
||||
|
||||
@@ -422,7 +424,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
+ // Actually show the dialog.
|
||||
+ mCustomView = (DownloadLocationCustomView) LayoutInflater.from(context).inflate(
|
||||
+ R.layout.download_location_dialog, null);
|
||||
+ mCustomView.initialize(DownloadLocationDialogType.DEFAULT, /*totalBytes*/ 0);
|
||||
+ mCustomView.initialize(DownloadLocationDialogType.DEFAULT, /*totalBytes*/ 0,
|
||||
+ (isChecked) -> {},
|
||||
+ new DownloadLocationHelperImpl(mProfile));
|
||||
+ mCustomView.setTitle(context.getString(R.string.export_bookmarks_alert_title));
|
||||
+ mCustomView.setFileName(standardBoorkmarkName);
|
||||
+ mCustomView.mDontShowAgain.setVisibility(View.GONE);
|
||||
@@ -472,13 +476,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
+ };
|
||||
+ dialog.initialize(controller);
|
||||
+ dialog.showDialog(context, modalDialogManager, /*totalBytes*/ 0,
|
||||
+ DownloadLocationDialogType.DEFAULT, /*suggestedPath*/ "", /*isIncognito*/ false);
|
||||
+ DownloadLocationDialogType.DEFAULT, /*suggestedPath*/ "",
|
||||
+ ProfileManager.getLastUsedRegularProfile());
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Synchronously gets a list of bookmarks that match the specified search query.
|
||||
*
|
||||
@@ -1032,6 +1275,39 @@ class BookmarkBridge {
|
||||
@@ -1036,6 +1284,39 @@ class BookmarkBridge {
|
||||
depthList.add(depth);
|
||||
}
|
||||
|
||||
@@ -518,7 +523,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
|
||||
List<Pair<Integer, Integer>> pairList = new ArrayList<>();
|
||||
for (int i = 0; i < left.length; i++) {
|
||||
@@ -1090,6 +1366,10 @@ class BookmarkBridge {
|
||||
@@ -1094,6 +1375,10 @@ class BookmarkBridge {
|
||||
void getChildIds(
|
||||
long nativeBookmarkBridge, long id, int type, List<BookmarkId> bookmarksList);
|
||||
|
||||
@@ -552,7 +557,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java
|
||||
@@ -47,6 +47,8 @@ import org.chromium.components.image_fetcher.ImageFetcher;
|
||||
@@ -48,6 +48,8 @@ import org.chromium.components.image_fetcher.ImageFetcher;
|
||||
import org.chromium.components.image_fetcher.ImageFetcherConfig;
|
||||
import org.chromium.components.image_fetcher.ImageFetcherFactory;
|
||||
import org.chromium.ui.KeyboardVisibilityDelegate;
|
||||
@@ -561,7 +566,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType;
|
||||
import org.chromium.ui.modelutil.MVCListAdapter.ModelList;
|
||||
@@ -317,6 +319,13 @@ public class BookmarkManagerCoordinator
|
||||
@@ -326,6 +328,13 @@ public class BookmarkManagerCoordinator
|
||||
|
||||
// Public API implementation.
|
||||
|
||||
@@ -597,7 +602,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/** Keeps track of whether drag is enabled / active for bookmark lists. */
|
||||
private class BookmarkDragStateDelegate implements DragStateDelegate {
|
||||
private BookmarkDelegate mBookmarkDelegate;
|
||||
@@ -550,6 +555,14 @@ class BookmarkManagerMediator
|
||||
@@ -554,6 +559,14 @@ class BookmarkManagerMediator
|
||||
mNativePage = nativePage;
|
||||
}
|
||||
|
||||
@@ -612,7 +617,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/** See BookmarkManager(Coordinator)#updateForUrl */
|
||||
void updateForUrl(String url) {
|
||||
// Bookmark model is null if the manager has been destroyed.
|
||||
@@ -726,6 +739,16 @@ class BookmarkManagerMediator
|
||||
@@ -734,6 +747,16 @@ class BookmarkManagerMediator
|
||||
}
|
||||
}
|
||||
|
||||
@@ -718,7 +723,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
@@ -129,6 +129,10 @@ class BookmarkToolbarMediator
|
||||
@@ -132,6 +132,10 @@ class BookmarkToolbarMediator
|
||||
mBookmarkDelegate = bookmarkDelegate;
|
||||
mModel.set(
|
||||
BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE, this::onNavigateBack);
|
||||
@@ -772,15 +777,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
@@ -16,6 +16,7 @@ import org.chromium.base.jank_tracker.JankTracker;
|
||||
import org.chromium.base.supplier.DestroyableObservableSupplier;
|
||||
@@ -17,6 +17,7 @@ import org.chromium.base.supplier.DestroyableObservableSupplier;
|
||||
import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
+import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
import org.chromium.chrome.browser.app.download.home.DownloadPage;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier;
|
||||
@@ -52,7 +53,7 @@ import org.chromium.ui.util.ColorUtils;
|
||||
@@ -54,7 +55,7 @@ import org.chromium.ui.util.ColorUtils;
|
||||
* Creates NativePage objects to show chrome-native:// URLs using the native Android view system.
|
||||
*/
|
||||
public class NativePageFactory {
|
||||
@@ -789,7 +794,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
private final BottomSheetController mBottomSheetController;
|
||||
private final BrowserControlsManager mBrowserControlsManager;
|
||||
private final Supplier<Tab> mCurrentTabSupplier;
|
||||
@@ -71,7 +72,7 @@ public class NativePageFactory {
|
||||
@@ -74,7 +75,7 @@ public class NativePageFactory {
|
||||
private NativePageBuilder mNativePageBuilder;
|
||||
|
||||
public NativePageFactory(
|
||||
@@ -798,7 +803,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
@NonNull BottomSheetController sheetController,
|
||||
@NonNull BrowserControlsManager browserControlsManager,
|
||||
@NonNull Supplier<Tab> currentTabSupplier,
|
||||
@@ -134,7 +135,7 @@ public class NativePageFactory {
|
||||
@@ -140,7 +141,7 @@ public class NativePageFactory {
|
||||
|
||||
@VisibleForTesting
|
||||
static class NativePageBuilder {
|
||||
@@ -807,8 +812,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
private final BottomSheetController mBottomSheetController;
|
||||
private final Supplier<NewTabPageUma> mUma;
|
||||
private final BrowserControlsManager mBrowserControlsManager;
|
||||
@@ -151,7 +152,7 @@ public class NativePageFactory {
|
||||
private final ObservableSupplier<Integer> mTabStripHeightSupplier;
|
||||
@@ -158,7 +159,7 @@ public class NativePageFactory {
|
||||
private final OneshotSupplier<ModuleRegistry> mModuleRegistrySupplier;
|
||||
|
||||
public NativePageBuilder(
|
||||
- Activity activity,
|
||||
@@ -816,7 +821,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
Supplier<NewTabPageUma> uma,
|
||||
BottomSheetController sheetController,
|
||||
BrowserControlsManager browserControlsManager,
|
||||
@@ -218,7 +219,7 @@ public class NativePageFactory {
|
||||
@@ -228,7 +229,7 @@ public class NativePageFactory {
|
||||
mActivity.getComponentName(),
|
||||
mSnackbarManagerSupplier.get(),
|
||||
tab.getProfile(),
|
||||
@@ -828,7 +833,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -197,6 +197,8 @@ static_library("browser") {
|
||||
@@ -201,6 +201,8 @@ static_library("browser") {
|
||||
"bluetooth/chrome_bluetooth_delegate_impl_client.h",
|
||||
"bookmarks/bookmark_model_factory.cc",
|
||||
"bookmarks/bookmark_model_factory.h",
|
||||
@@ -837,7 +842,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"bookmarks/chrome_bookmark_client.cc",
|
||||
"bookmarks/chrome_bookmark_client.h",
|
||||
"bookmarks/managed_bookmark_service_factory.cc",
|
||||
@@ -1923,6 +1925,13 @@ static_library("browser") {
|
||||
@@ -1935,6 +1937,13 @@ static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -851,7 +856,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
configs += [
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
"//build/config:precompiled_headers",
|
||||
@@ -3630,8 +3639,6 @@ static_library("browser") {
|
||||
@@ -3649,8 +3658,6 @@ static_library("browser") {
|
||||
"badging/badge_manager_factory.h",
|
||||
"banners/app_banner_manager_desktop.cc",
|
||||
"banners/app_banner_manager_desktop.h",
|
||||
@@ -863,7 +868,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
@@ -58,6 +58,28 @@
|
||||
@@ -59,6 +59,28 @@
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "content/public/browser/web_contents.h"
|
||||
|
||||
@@ -892,7 +897,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
using base::android::AttachCurrentThread;
|
||||
using base::android::ConvertUTF16ToJavaString;
|
||||
using base::android::ConvertUTF8ToJavaString;
|
||||
@@ -75,12 +97,96 @@ using bookmarks::android::JavaBookmarkIdGetType;
|
||||
@@ -76,12 +98,96 @@ using bookmarks::android::JavaBookmarkIdGetType;
|
||||
using content::BrowserThread;
|
||||
using power_bookmarks::PowerBookmarkMeta;
|
||||
|
||||
@@ -989,7 +994,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
class BookmarkTitleComparer {
|
||||
public:
|
||||
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
|
||||
@@ -221,6 +327,10 @@ BookmarkBridge::~BookmarkBridge() {
|
||||
@@ -232,6 +338,10 @@ BookmarkBridge::~BookmarkBridge() {
|
||||
partner_bookmarks_shim_observation_.Reset();
|
||||
bookmark_model_observation_.Reset();
|
||||
profile_observation_.Reset();
|
||||
@@ -1000,7 +1005,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
}
|
||||
|
||||
void BookmarkBridge::Destroy(JNIEnv*) {
|
||||
@@ -638,6 +748,183 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
@@ -668,6 +778,183 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
return count;
|
||||
}
|
||||
|
||||
@@ -1244,7 +1249,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
void GetAllFoldersWithDepths(
|
||||
JNIEnv* env,
|
||||
const base::android::JavaParamRef<jobject>& j_folders_obj,
|
||||
@@ -340,12 +360,16 @@ class BookmarkBridge : public ProfileObserver,
|
||||
@@ -356,12 +376,16 @@ class BookmarkBridge : public ProfileObserver,
|
||||
void DestroyJavaObject();
|
||||
|
||||
raw_ptr<Profile> profile_; // weak
|
||||
@@ -1261,9 +1266,9 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
|
||||
// Information about the Partner bookmarks (must check for IsLoaded()).
|
||||
// This is owned by profile.
|
||||
@@ -371,6 +395,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
ReadingListManager::Observer>
|
||||
reading_list_manager_observations_{this};
|
||||
@@ -389,6 +413,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
|
||||
bool suppress_observer_notifications_ = false;
|
||||
|
||||
+ const std::string FileSelectedImpl(const base::FilePath& path);
|
||||
+ void FileSelectedImplOnUIThread(const base::FilePath& path,
|
||||
@@ -1285,7 +1290,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
||||
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
||||
#include "chrome/browser/favicon/favicon_service_factory.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
@@ -229,7 +232,15 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
@@ -234,7 +237,15 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
// Opens the file, returning true on success.
|
||||
bool OpenFile() {
|
||||
int flags = base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE;
|
||||
@@ -1312,17 +1317,17 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
+ public CheckBox mDontShowAgain;
|
||||
private @DownloadLocationDialogType int mDialogType;
|
||||
private long mTotalBytes;
|
||||
|
||||
@@ -70,7 +70,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||
private Callback<Boolean> mOnClickedCallback;
|
||||
@@ -72,7 +72,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||
mDontShowAgain = findViewById(R.id.show_again_checkbox);
|
||||
}
|
||||
|
||||
- void initialize(@DownloadLocationDialogType int dialogType, long totalBytes) {
|
||||
+ public void initialize(@DownloadLocationDialogType int dialogType, long totalBytes) {
|
||||
// TODO(xingliu): Remove this function, currently used by smart suggestion.
|
||||
mDialogType = dialogType;
|
||||
mTotalBytes = totalBytes;
|
||||
@@ -123,7 +123,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||
- void initialize(
|
||||
+ public void initialize(
|
||||
@DownloadLocationDialogType int dialogType,
|
||||
long totalBytes,
|
||||
Callback<Boolean> onClickedCallback,
|
||||
@@ -130,7 +130,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||
* @return The text that the user inputted as the name of the file.
|
||||
*/
|
||||
@Nullable
|
||||
@@ -1331,7 +1336,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
if (mFileName == null || mFileName.getText() == null) return null;
|
||||
return mFileName.getText().toString();
|
||||
}
|
||||
@@ -132,7 +132,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||
@@ -139,7 +139,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||
* @return The file path based on what the user selected as the location of the file.
|
||||
*/
|
||||
@Nullable
|
||||
@@ -1343,7 +1348,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
|
||||
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
|
||||
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
|
||||
@@ -35,12 +35,12 @@ import java.util.ArrayList;
|
||||
@@ -37,18 +37,18 @@ import java.util.ArrayList;
|
||||
*/
|
||||
public class DownloadLocationDialogCoordinator implements ModalDialogProperties.Controller {
|
||||
@NonNull private DownloadLocationDialogController mController;
|
||||
@@ -1359,7 +1364,14 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
private long mTotalBytes;
|
||||
private @DownloadLocationDialogType int mDialogType;
|
||||
private String mSuggestedPath;
|
||||
@@ -137,7 +137,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
|
||||
private Context mContext;
|
||||
private boolean mHasMultipleDownloadLocations;
|
||||
- private Profile mProfile;
|
||||
+ protected Profile mProfile;
|
||||
private boolean mLocationDialogManaged;
|
||||
|
||||
/**
|
||||
@@ -140,7 +140,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
|
||||
* Called after retrieved the download directory options.
|
||||
* @param dirs An list of available download directories.
|
||||
*/
|
||||
@@ -1382,7 +1394,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -493,6 +493,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -502,6 +502,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String USER_BYPASS_UI = "UserBypassUI";
|
||||
public static final String VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR =
|
||||
"VerticalAutomotiveBackButtonToolbar";
|
||||
@@ -1445,7 +1457,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
|
||||
/**
|
||||
* Whether Chrome is set as the default browser.
|
||||
@@ -911,6 +913,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -894,6 +896,7 @@ public final class ChromePreferenceKeys {
|
||||
AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
|
||||
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
|
||||
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
|
||||
@@ -1484,7 +1496,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
|
||||
--- a/chrome/common/BUILD.gn
|
||||
+++ b/chrome/common/BUILD.gn
|
||||
@@ -407,6 +407,9 @@ static_library("common_lib") {
|
||||
@@ -404,6 +404,9 @@ static_library("common_lib") {
|
||||
sources += [
|
||||
"media/chrome_media_drm_bridge_client.cc",
|
||||
"media/chrome_media_drm_bridge_client.h",
|
||||
@@ -1497,7 +1509,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
|
||||
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
||||
--- a/chrome/utility/BUILD.gn
|
||||
+++ b/chrome/utility/BUILD.gn
|
||||
@@ -85,8 +85,6 @@ static_library("utility") {
|
||||
@@ -84,8 +84,6 @@ static_library("utility") {
|
||||
|
||||
if (!is_android) {
|
||||
sources += [
|
||||
@@ -1506,7 +1518,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
||||
"importer/bookmarks_file_importer.cc",
|
||||
"importer/bookmarks_file_importer.h",
|
||||
"importer/external_process_importer_bridge.cc",
|
||||
@@ -218,6 +216,11 @@ static_library("utility") {
|
||||
@@ -220,6 +218,11 @@ static_library("utility") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1731,7 +1743,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
|
||||
return mimeTypes;
|
||||
}
|
||||
|
||||
@@ -1032,6 +1040,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
@@ -1034,6 +1042,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
return countAcceptTypesFor(superType) == mFileTypes.size();
|
||||
}
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/base/BUILD.gn b/base/BUILD.gn
|
||||
--- a/base/BUILD.gn
|
||||
+++ b/base/BUILD.gn
|
||||
@@ -207,6 +207,8 @@ buildflag_header("message_pump_buildflags") {
|
||||
@@ -212,6 +212,8 @@ buildflag_header("message_pump_buildflags") {
|
||||
# This does not include test code (test support and anything in the test
|
||||
# directory) which should use source_set as is recommended for GN targets).
|
||||
component("base") {
|
||||
@@ -129,7 +129,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
|
||||
sources = [
|
||||
"allocator/allocator_check.cc",
|
||||
"allocator/allocator_check.h",
|
||||
@@ -1049,7 +1051,7 @@ component("base") {
|
||||
@@ -1055,7 +1057,7 @@ component("base") {
|
||||
"//build/config/compiler:wglobal_constructors",
|
||||
]
|
||||
|
||||
@@ -161,16 +161,16 @@ diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc
|
||||
diff --git a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java b/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
|
||||
--- a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
|
||||
+++ b/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
|
||||
@@ -124,7 +124,7 @@ public class CachedFlag extends Flag {
|
||||
@@ -125,7 +125,7 @@ public class CachedFlag extends Flag {
|
||||
.writeBoolean(getSharedPreferenceKey(), isEnabledInNative);
|
||||
}
|
||||
|
||||
- String getSharedPreferenceKey() {
|
||||
+ public String getSharedPreferenceKey() {
|
||||
return CachedFlagsSharedPreferences.FLAGS_CACHED.createKey(mFeatureName);
|
||||
}
|
||||
|
||||
@@ -152,6 +152,12 @@ public class CachedFlag extends Flag {
|
||||
// Create the key only once to avoid String concatenation every flag check.
|
||||
if (mPreferenceKey == null) {
|
||||
mPreferenceKey = CachedFlagsSharedPreferences.FLAGS_CACHED.createKey(mFeatureName);
|
||||
@@ -157,6 +157,12 @@ public class CachedFlag extends Flag {
|
||||
.removeKeysWithPrefix(CachedFlagsSharedPreferences.FLAGS_CACHED);
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
|
||||
namespace {
|
||||
|
||||
// Pointer to the FeatureList instance singleton that was set via
|
||||
@@ -451,6 +476,48 @@ bool FeatureList::IsEnabled(const Feature& feature) {
|
||||
@@ -464,6 +489,48 @@ bool FeatureList::IsEnabled(const Feature& feature) {
|
||||
return g_feature_list_instance->IsFeatureEnabled(feature);
|
||||
}
|
||||
|
||||
@@ -267,7 +267,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
|
||||
// static
|
||||
bool FeatureList::IsValidFeatureOrFieldTrialName(StringPiece name) {
|
||||
return IsStringASCII(name) && name.find_first_of(",<*") == std::string::npos;
|
||||
@@ -693,6 +760,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) {
|
||||
@@ -710,6 +777,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) {
|
||||
|
||||
void FeatureList::FinalizeInitialization() {
|
||||
DCHECK(!initialized_);
|
||||
@@ -479,7 +479,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -72,6 +73,7 @@ import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
|
||||
@@ -74,6 +75,7 @@ import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
|
||||
@@ -487,7 +487,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
|
||||
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
||||
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory;
|
||||
@@ -112,6 +114,36 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -114,6 +116,36 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback,
|
||||
SnackbarManageable,
|
||||
DisplayStyleObserver {
|
||||
@@ -524,7 +524,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
|
||||
public static final String EXTRA_SHOW_FRAGMENT = "show_fragment";
|
||||
|
||||
@@ -364,6 +396,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -367,6 +399,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
((AccessibilitySettings) fragment)
|
||||
.getDelegate()).setSnackbarManager(mSnackbarManager);
|
||||
}
|
||||
@@ -538,7 +538,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -372,6 +372,10 @@ using flags_ui::kOsLinux;
|
||||
@@ -371,6 +371,10 @@ using flags_ui::kOsLinux;
|
||||
using flags_ui::kOsMac;
|
||||
using flags_ui::kOsWin;
|
||||
|
||||
@@ -549,9 +549,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
namespace about_flags {
|
||||
|
||||
namespace {
|
||||
@@ -3776,6 +3780,10 @@ const FeatureEntry::FeatureVariation
|
||||
{"experimental V2", kCompressionDictionaryTransportBackendVersionV2,
|
||||
std::size(kCompressionDictionaryTransportBackendVersionV2), nullptr}};
|
||||
@@ -3710,6 +3714,10 @@ const FeatureEntry::Choice kAccountBookmarksAndReadingListBehindOptInChoices[] =
|
||||
};
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
+#define FEATURE_PARAM_SECTION
|
||||
+#include "cromite_flags/chrome_browser_about_flags_cc.inc"
|
||||
@@ -560,7 +560,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
// RECORDING USER METRICS FOR FLAGS:
|
||||
// -----------------------------------------------------------------------------
|
||||
// The first line of the entry is the internal name.
|
||||
@@ -3802,6 +3810,9 @@ const FeatureEntry::FeatureVariation
|
||||
@@ -3736,6 +3744,9 @@ const FeatureEntry::Choice kAccountBookmarksAndReadingListBehindOptInChoices[] =
|
||||
const FeatureEntry kFeatureEntries[] = {
|
||||
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
|
||||
// //tools/flags/generate_unexpire_flags.py.
|
||||
@@ -573,8 +573,8 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc
|
||||
--- a/chrome/browser/browser_features.cc
|
||||
+++ b/chrome/browser/browser_features.cc
|
||||
@@ -335,4 +335,5 @@ BASE_FEATURE(kOmniboxTriggerForNoStatePrefetch,
|
||||
"OmniboxTriggerForNoStatePrefetch",
|
||||
@@ -368,4 +368,5 @@ BASE_FEATURE(kNetworkAnnotationMonitoring,
|
||||
"NetworkAnnotationMonitoring",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+#include "cromite_flags/chrome_browser_browser_features_cc.inc"
|
||||
@@ -621,8 +621,8 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -1013,5 +1013,6 @@ BASE_FEATURE(kWebApkBackupAndRestoreBackend,
|
||||
"WebApkBackupAndRestoreBackend",
|
||||
@@ -978,5 +978,6 @@ BASE_FEATURE(kWebApkIconUpdateThreshold,
|
||||
"WebApkIconUpdateThreshold",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_cc.inc"
|
||||
@@ -631,7 +631,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -195,6 +195,7 @@ constexpr base::FeatureParam<int> kAuxiliarySearchMaxTabsCountParam(
|
||||
@@ -188,6 +188,7 @@ constexpr base::FeatureParam<int> kAuxiliarySearchMaxTabsCountParam(
|
||||
"auxiliary_search_max_donation_tab",
|
||||
100);
|
||||
|
||||
@@ -653,16 +653,16 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -668,7 +672,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -691,7 +695,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sVerticalAutomotiveBackButtonToolbar =
|
||||
newCachedFlag(VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR, false);
|
||||
newCachedFlag(VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR, true);
|
||||
|
||||
- public static final List<CachedFlag> sFlagsCachedFullBrowser =
|
||||
+ public static final List<CachedFlag> sFlagsCachedFullBrowserChromium =
|
||||
List.of(
|
||||
sAllowUserCertificates,
|
||||
sAndroidAppIntegration,
|
||||
@@ -749,6 +753,13 @@ public abstract class ChromeFeatureList {
|
||||
@@ -779,6 +783,13 @@ public abstract class ChromeFeatureList {
|
||||
sUseLibunwindstackNativeUnwinderAndroid,
|
||||
sVerticalAutomotiveBackButtonToolbar);
|
||||
|
||||
@@ -829,7 +829,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
|
||||
--- a/chrome/browser/ui/ui_features.cc
|
||||
+++ b/chrome/browser/ui/ui_features.cc
|
||||
@@ -435,4 +435,5 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow,
|
||||
@@ -450,4 +450,5 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow,
|
||||
"StopLoadingAnimationForHiddenWindow",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
@@ -838,7 +838,7 @@ diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
|
||||
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
|
||||
--- a/chrome/common/chrome_features.cc
|
||||
+++ b/chrome/common/chrome_features.cc
|
||||
@@ -1708,4 +1708,5 @@ BASE_FEATURE(kSupportsRtcWakeOver24Hours,
|
||||
@@ -1735,4 +1735,5 @@ BASE_FEATURE(kSupportsRtcWakeOver24Hours,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
@@ -916,7 +916,7 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
|
||||
diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/features.cc
|
||||
--- a/components/content_settings/core/common/features.cc
|
||||
+++ b/components/content_settings/core/common/features.cc
|
||||
@@ -111,5 +111,6 @@ BASE_FEATURE(kIndexedHostContentSettingsMap,
|
||||
@@ -112,5 +112,6 @@ BASE_FEATURE(kIndexedHostContentSettingsMap,
|
||||
"IndexedHostContentSettingsMap",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
@@ -1091,7 +1091,7 @@ diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resour
|
||||
diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resources/app.ts
|
||||
--- a/components/flags_ui/resources/app.ts
|
||||
+++ b/components/flags_ui/resources/app.ts
|
||||
@@ -193,6 +193,7 @@ export class FlagsAppElement extends CustomElement {
|
||||
@@ -194,6 +194,7 @@ export class FlagsAppElement extends CustomElement {
|
||||
return getTemplate();
|
||||
}
|
||||
|
||||
@@ -1099,7 +1099,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
|
||||
private announceStatusDelayMs: number = 100;
|
||||
private featuresResolver: PromiseResolver<void> = new PromiseResolver();
|
||||
private flagSearch: FlagSearch = new FlagSearch(this);
|
||||
@@ -204,6 +205,10 @@ export class FlagsAppElement extends CustomElement {
|
||||
@@ -205,6 +206,10 @@ export class FlagsAppElement extends CustomElement {
|
||||
// </if>
|
||||
|
||||
tabs: Tab[] = [
|
||||
@@ -1110,7 +1110,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
|
||||
{
|
||||
tabEl: this.getRequiredElement('#tab-available'),
|
||||
panelEl: this.getRequiredElement('#tab-content-available'),
|
||||
@@ -217,6 +222,11 @@ export class FlagsAppElement extends CustomElement {
|
||||
@@ -218,6 +223,11 @@ export class FlagsAppElement extends CustomElement {
|
||||
];
|
||||
|
||||
connectedCallback() {
|
||||
@@ -1122,7 +1122,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
|
||||
// Get and display the data upon loading.
|
||||
this.requestExperimentalFeaturesData();
|
||||
// There is no restart button on iOS.
|
||||
@@ -277,20 +287,29 @@ export class FlagsAppElement extends CustomElement {
|
||||
@@ -278,20 +288,29 @@ export class FlagsAppElement extends CustomElement {
|
||||
const defaultFeatures: Feature[] = [];
|
||||
const nonDefaultFeatures: Feature[] = [];
|
||||
|
||||
@@ -1155,7 +1155,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
|
||||
// </if>
|
||||
|
||||
this.showRestartToast(experimentalFeaturesData.needsRestart);
|
||||
@@ -401,16 +420,23 @@ export class FlagsAppElement extends CustomElement {
|
||||
@@ -402,16 +421,23 @@ export class FlagsAppElement extends CustomElement {
|
||||
}
|
||||
|
||||
private renderExperiments(
|
||||
@@ -1180,7 +1180,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
|
||||
if (select) {
|
||||
experiment.addEventListener('select-change', e => {
|
||||
e.preventDefault();
|
||||
@@ -434,9 +460,14 @@ export class FlagsAppElement extends CustomElement {
|
||||
@@ -435,9 +461,14 @@ export class FlagsAppElement extends CustomElement {
|
||||
this.showRestartToast(true);
|
||||
});
|
||||
}
|
||||
@@ -1230,7 +1230,7 @@ diff --git a/components/flags_ui/resources/experiment.html b/components/flags_ui
|
||||
diff --git a/components/flags_ui/resources/experiment.ts b/components/flags_ui/resources/experiment.ts
|
||||
--- a/components/flags_ui/resources/experiment.ts
|
||||
+++ b/components/flags_ui/resources/experiment.ts
|
||||
@@ -60,11 +60,16 @@ function resetHighlights(element: HTMLElement) {
|
||||
@@ -61,11 +61,16 @@ function resetHighlights(element: HTMLElement) {
|
||||
|
||||
export class FlagsExperimentElement extends CustomElement {
|
||||
private feature_: Feature|null = null;
|
||||
@@ -1247,7 +1247,7 @@ diff --git a/components/flags_ui/resources/experiment.ts b/components/flags_ui/r
|
||||
set data(feature: Feature) {
|
||||
this.feature_ = feature;
|
||||
|
||||
@@ -76,12 +81,18 @@ export class FlagsExperimentElement extends CustomElement {
|
||||
@@ -77,12 +82,18 @@ export class FlagsExperimentElement extends CustomElement {
|
||||
'experiment-default', feature.is_default);
|
||||
experimentDefault.classList.toggle(
|
||||
'experiment-switched', !feature.is_default);
|
||||
@@ -1266,7 +1266,7 @@ diff --git a/components/flags_ui/resources/experiment.ts b/components/flags_ui/r
|
||||
|
||||
const description = this.getRequiredElement('.description');
|
||||
description.textContent = feature.description;
|
||||
@@ -124,6 +135,7 @@ export class FlagsExperimentElement extends CustomElement {
|
||||
@@ -125,6 +136,7 @@ export class FlagsExperimentElement extends CustomElement {
|
||||
const permalink = this.getRequiredElement<HTMLAnchorElement>('.permalink');
|
||||
permalink.href = `#${feature.internal_name}`;
|
||||
permalink.textContent = `#${feature.internal_name}`;
|
||||
@@ -1274,7 +1274,7 @@ diff --git a/components/flags_ui/resources/experiment.ts b/components/flags_ui/r
|
||||
|
||||
const smallScreenCheck = window.matchMedia('(max-width: 480px)');
|
||||
// Toggling of experiment description overflow content on smaller screens.
|
||||
@@ -152,6 +164,10 @@ export class FlagsExperimentElement extends CustomElement {
|
||||
@@ -153,6 +165,10 @@ export class FlagsExperimentElement extends CustomElement {
|
||||
const optionEl = document.createElement('option');
|
||||
optionEl.selected = option.selected;
|
||||
optionEl.textContent = option.description;
|
||||
@@ -1323,8 +1323,8 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o
|
||||
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
|
||||
--- a/components/permissions/features.cc
|
||||
+++ b/components/permissions/features.cc
|
||||
@@ -142,6 +142,7 @@ BASE_FEATURE(kShowRelatedWebsiteSetsPermissionGrants,
|
||||
"ShowRelatedWebsiteSetsPermissionGrants",
|
||||
@@ -139,6 +139,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate,
|
||||
"CpssQuietChipTextUpdate",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+#include "cromite_flags/components_permissions_features_cc.inc"
|
||||
@@ -1346,7 +1346,7 @@ diff --git a/components/version_ui/version_handler_helper.cc b/components/versio
|
||||
diff --git a/content/common/features.cc b/content/common/features.cc
|
||||
--- a/content/common/features.cc
|
||||
+++ b/content/common/features.cc
|
||||
@@ -581,4 +581,5 @@ BASE_FEATURE(kWindowOpenFileSelectFix,
|
||||
@@ -596,4 +596,5 @@ BASE_FEATURE(kWindowOpenFileSelectFix,
|
||||
|
||||
// Please keep features in alphabetical order.
|
||||
|
||||
@@ -1355,7 +1355,7 @@ diff --git a/content/common/features.cc b/content/common/features.cc
|
||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -1418,4 +1418,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
|
||||
@@ -1389,4 +1389,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
|
||||
VideoCaptureServiceConfiguration::kEnabledForBrowserProcess;
|
||||
}
|
||||
|
||||
@@ -1364,7 +1364,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
|
||||
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
|
||||
--- a/content/public/common/content_features.h
|
||||
+++ b/content/public/common/content_features.h
|
||||
@@ -341,6 +341,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer);
|
||||
@@ -332,6 +332,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer);
|
||||
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
|
||||
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess();
|
||||
|
||||
@@ -1662,7 +1662,7 @@ new file mode 100755
|
||||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -1821,5 +1821,5 @@ uint32_t GetPassthroughAudioFormats() {
|
||||
@@ -1860,5 +1860,5 @@ uint32_t GetPassthroughAudioFormats() {
|
||||
return 0;
|
||||
#endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS)
|
||||
}
|
||||
@@ -1672,7 +1672,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
|
||||
--- a/media/base/media_switches.h
|
||||
+++ b/media/base/media_switches.h
|
||||
@@ -530,5 +530,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
|
||||
@@ -547,5 +547,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
|
||||
MEDIA_EXPORT uint32_t GetPassthroughAudioFormats();
|
||||
|
||||
} // namespace media
|
||||
@@ -1682,8 +1682,8 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h
|
||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
--- a/net/base/features.cc
|
||||
+++ b/net/base/features.cc
|
||||
@@ -521,4 +521,5 @@ BASE_FEATURE(kTreatHTTPExpiresHeaderValueZeroAsExpired,
|
||||
"TreatHTTPExpiresHeaderValueZeroAsExpired",
|
||||
@@ -535,4 +535,5 @@ BASE_FEATURE(kTruncateBodyToContentLength,
|
||||
"TruncateBodyToContentLength",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
+#include "cromite_flags/net_base_features_cc.inc"
|
||||
@@ -1691,9 +1691,9 @@ diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
diff --git a/net/base/features.h b/net/base/features.h
|
||||
--- a/net/base/features.h
|
||||
+++ b/net/base/features.h
|
||||
@@ -512,6 +512,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kUseNewAlpsCodepointQUIC);
|
||||
// while on stable channels.
|
||||
NET_EXPORT BASE_DECLARE_FEATURE(kTreatHTTPExpiresHeaderValueZeroAsExpired);
|
||||
@@ -523,6 +523,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kTreatHTTPExpiresHeaderValueZeroAsExpired);
|
||||
// Enables truncating the response body to the content length.
|
||||
NET_EXPORT BASE_DECLARE_FEATURE(kTruncateBodyToContentLength);
|
||||
|
||||
+#include "cromite_flags/net_base_features_h.inc"
|
||||
} // namespace net::features
|
||||
@@ -1702,7 +1702,7 @@ diff --git a/net/base/features.h b/net/base/features.h
|
||||
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
|
||||
--- a/services/network/public/cpp/features.cc
|
||||
+++ b/services/network/public/cpp/features.cc
|
||||
@@ -477,4 +477,5 @@ const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsTopLevelTrial{
|
||||
@@ -467,4 +467,5 @@ const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsTopLevelTrial{
|
||||
/*name=*/"SkipTpcdMitigationsForAdsTopLevelTrial",
|
||||
/*default_value=*/false};
|
||||
|
||||
@@ -1711,7 +1711,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
|
||||
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
|
||||
--- a/services/network/public/cpp/features.h
|
||||
+++ b/services/network/public/cpp/features.h
|
||||
@@ -196,6 +196,7 @@ extern const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsTrial;
|
||||
@@ -187,6 +187,7 @@ extern const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsTrial;
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::FeatureParam<bool> kSkipTpcdMitigationsForAdsTopLevelTrial;
|
||||
|
||||
@@ -1722,9 +1722,9 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -2404,5 +2404,6 @@ BASE_FEATURE(kTreatHTTPExpiresHeaderValueZeroAsExpiredInBlink,
|
||||
"TreatHTTPExpiresHeaderValueZeroAsExpiredInBlink",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -2546,5 +2546,6 @@ BASE_FEATURE(kSimplifyLoadingTransparentPlaceholderImage,
|
||||
"SimplifyLoadingTransparentPlaceholderImage",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+#include "cromite_flags/third_party_blink_common_features_cc.inc"
|
||||
} // namespace features
|
||||
@@ -1732,9 +1732,9 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
|
||||
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
|
||||
--- a/third_party/blink/public/common/features.h
|
||||
+++ b/third_party/blink/public/common/features.h
|
||||
@@ -1541,6 +1541,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
|
||||
// Don't require FCP for the page to turn interactive. Useful for testing.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kInteractiveDetectorIgnoreFcp);
|
||||
@@ -1638,6 +1638,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kInteractiveDetectorIgnoreFcp);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
|
||||
kSimplifyLoadingTransparentPlaceholderImage);
|
||||
|
||||
+#include "cromite_flags/third_party_blink_common_features_h.inc"
|
||||
} // namespace features
|
||||
|
||||
@@ -98,7 +98,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||
@@ -849,6 +849,7 @@ public class CustomTabsConnection {
|
||||
@@ -850,6 +850,7 @@ public class CustomTabsConnection {
|
||||
PostTask.postTask(
|
||||
TaskTraits.UI_DEFAULT,
|
||||
() -> {
|
||||
@@ -187,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
||||
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
||||
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
||||
@@ -85,7 +85,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im
|
||||
@@ -87,7 +87,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im
|
||||
public static boolean isOpenedFromExternalApp(Tab tab) {
|
||||
TabAssociatedApp app = get(tab);
|
||||
if (app == null) return false;
|
||||
@@ -203,7 +203,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -5071,6 +5071,20 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -5152,6 +5152,20 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||
<message name="IDS_NEAR_OOM_INTERVENTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can resume what it was doing.">
|
||||
Resume
|
||||
</message>
|
||||
|
||||
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -163,6 +163,9 @@ found in the LICENSE file.
|
||||
@@ -166,6 +166,9 @@ found in the LICENSE file.
|
||||
<item android:id="@+id/managed_by_menu_id"
|
||||
android:title="@string/managed_browser"
|
||||
android:icon="@drawable/ic_business" />
|
||||
@@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
||||
</group>
|
||||
|
||||
<!-- Items shown only in the tab switcher -->
|
||||
@@ -189,6 +192,9 @@ found in the LICENSE file.
|
||||
@@ -192,6 +195,9 @@ found in the LICENSE file.
|
||||
<item android:id="@id/preferences_id"
|
||||
android:title="@string/menu_settings"
|
||||
android:icon="@drawable/settings_cog" />
|
||||
@@ -59,16 +59,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -258,6 +258,8 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
@@ -267,6 +267,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.function.BooleanSupplier;
|
||||
import java.util.function.DoubleConsumer;
|
||||
|
||||
+import org.chromium.chrome.browser.ApplicationLifetime;
|
||||
+
|
||||
/**
|
||||
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
|
||||
* are accessible via a chrome specific tab switching UI.
|
||||
@@ -2909,6 +2911,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
* This is the main activity for ChromeMobile when not running in document mode. All the tabs are
|
||||
* accessible via a chrome specific tab switching UI.
|
||||
@@ -2925,6 +2927,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
} else if (id == R.id.close_tab) {
|
||||
getCurrentTabModel().closeTab(currentTab, true, false, true);
|
||||
RecordUserAction.record("MobileTabClosed");
|
||||
@@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -61,6 +61,7 @@ import org.chromium.chrome.R;
|
||||
@@ -62,6 +62,7 @@ import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
import org.chromium.chrome.browser.ActivityUtils;
|
||||
import org.chromium.chrome.browser.AppHooks;
|
||||
@@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
|
||||
import org.chromium.chrome.browser.ChromeApplicationImpl;
|
||||
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
|
||||
@@ -2616,6 +2617,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2576,6 +2577,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -3676,6 +3676,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3745,6 +3745,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
|
||||
Dark theme
|
||||
</message>
|
||||
|
||||
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
||||
--- a/components/omnibox/browser/autocomplete_controller.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
||||
@@ -20,6 +20,7 @@
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
#include "base/check_op.h"
|
||||
#include "base/containers/contains.h"
|
||||
@@ -58,7 +58,7 @@ diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omn
|
||||
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
|
||||
--- a/components/omnibox/browser/search_provider.cc
|
||||
+++ b/components/omnibox/browser/search_provider.cc
|
||||
@@ -12,6 +12,7 @@
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "base/base64.h"
|
||||
#include "base/feature_list.h"
|
||||
#include "base/functional/bind.h"
|
||||
@@ -66,7 +66,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
|
||||
#include "base/functional/callback.h"
|
||||
#include "base/i18n/break_iterator.h"
|
||||
#include "base/i18n/case_conversion.h"
|
||||
@@ -643,6 +644,9 @@ void SearchProvider::Run(bool query_is_private) {
|
||||
@@ -644,6 +645,9 @@ void SearchProvider::Run(bool query_is_private) {
|
||||
}
|
||||
|
||||
void SearchProvider::DoHistoryQuery(bool minimal_changes) {
|
||||
|
||||
@@ -92,7 +92,7 @@ new file mode 100644
|
||||
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
|
||||
--- a/net/socket/client_socket_pool_manager.cc
|
||||
+++ b/net/socket/client_socket_pool_manager.cc
|
||||
@@ -21,6 +21,10 @@
|
||||
@@ -22,6 +22,10 @@
|
||||
#include "net/socket/client_socket_handle.h"
|
||||
#include "net/socket/client_socket_pool.h"
|
||||
#include "net/socket/connect_job.h"
|
||||
@@ -101,8 +101,8 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
|
||||
+#include "base/command_line.h"
|
||||
+#include "base/strings/string_number_conversions.h"
|
||||
#include "net/ssl/ssl_config.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
#include "url/gurl.h"
|
||||
#include "url/scheme_host_port.h"
|
||||
@@ -168,6 +172,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
|
||||
int ClientSocketPoolManager::max_sockets_per_group(
|
||||
HttpNetworkSession::SocketPoolType pool_type) {
|
||||
|
||||
@@ -45,7 +45,7 @@ new file mode 100644
|
||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1028,6 +1028,7 @@ component("net") {
|
||||
@@ -1030,6 +1030,7 @@ component("net") {
|
||||
"//build:chromeos_buildflags",
|
||||
"//components/miracle_parameter/common",
|
||||
"//net/http:transport_security_state_generated_files",
|
||||
|
||||
@@ -104,7 +104,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -2669,6 +2669,10 @@
|
||||
@@ -635,6 +635,10 @@
|
||||
status: {"Android": "stable"},
|
||||
base_feature: "none",
|
||||
},
|
||||
@@ -113,6 +113,6 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+ status: "stable",
|
||||
+ },
|
||||
{
|
||||
name: "OriginIsolationHeader",
|
||||
status: "stable",
|
||||
name: "CompositionForegroundMarkers",
|
||||
status: {
|
||||
--
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From: Your Name <you@example.com>
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Thu, 20 Oct 2022 09:34:48 +0000
|
||||
Subject: Add kill switch for unsupported clangd flags
|
||||
|
||||
@@ -7,31 +7,40 @@ Allows build with clangd by suppressing unsupported parameters
|
||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
build/config/compiler/BUILD.gn | 7 ++++++-
|
||||
build_overrides/build.gni | 3 +++
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
build/config/compiler/BUILD.gn | 10 +++++++++-
|
||||
build_overrides/build.gni | 3 +++
|
||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -1884,7 +1884,12 @@ config("default_warnings") {
|
||||
@@ -1889,13 +1889,21 @@ config("default_warnings") {
|
||||
# TODO(https://crbug.com/1490607): Fix and re-enable.
|
||||
"-Wno-thread-safety-reference-return",
|
||||
]
|
||||
-
|
||||
if (!is_nacl) {
|
||||
cflags_cc += [
|
||||
# TODO(https://crbug.com/1513724): Fix and re-enable.
|
||||
"-Wno-c++11-narrowing-const-reference",
|
||||
]
|
||||
}
|
||||
+ if (skip_clangd_unsupported_options) {
|
||||
+ cflags -= [
|
||||
+ "-Wno-deprecated-builtins",
|
||||
+ "-Wno-thread-safety-reference-return",
|
||||
+ ]
|
||||
+ cflags_cc -= [
|
||||
+ "-Wno-c++11-narrowing-const-reference",
|
||||
+ ]
|
||||
+ }
|
||||
if (!is_nacl) {
|
||||
cflags_cc += [
|
||||
# TODO(https://crbug.com/1513724): Fix and re-enable.
|
||||
}
|
||||
|
||||
# Some builders, such as Cronet, use a different version of Clang than
|
||||
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
|
||||
--- a/build_overrides/build.gni
|
||||
+++ b/build_overrides/build.gni
|
||||
@@ -58,6 +58,9 @@ declare_args() {
|
||||
@@ -62,6 +62,9 @@ declare_args() {
|
||||
# to lack of toolchain support.
|
||||
gtest_enable_absl_printers = !is_nacl
|
||||
|
||||
|
||||
@@ -240,15 +240,15 @@ diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc b
|
||||
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
@@ -270,7 +270,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
|
||||
@@ -267,7 +267,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
|
||||
delegate_->Accept();
|
||||
return;
|
||||
case PermissionDialogButton::kAcceptOnce:
|
||||
RecordDecision(permissions::PermissionAction::GRANTED_ONCE);
|
||||
- delegate_->AcceptThisTime();
|
||||
+ delegate_->AcceptThisTime(content_settings::LifetimeMode::OnlyThisTime);
|
||||
return;
|
||||
case PermissionDialogButton::kDeny:
|
||||
RecordDecision(permissions::PermissionAction::DENIED);
|
||||
delegate_->Deny();
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
|
||||
@@ -263,7 +263,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
@@ -570,6 +570,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -559,6 +559,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
private void setUpClearDataPreference() {
|
||||
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
|
||||
long usage = mSite.getTotalUsage();
|
||||
@@ -1081,6 +1086,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1070,6 +1075,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
if (contentType == mHighlightedPermission) {
|
||||
switchPreference.setBackgroundColor(mHighlightColor);
|
||||
}
|
||||
@@ -301,7 +301,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
|
||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
@@ -676,6 +676,11 @@
|
||||
@@ -673,6 +673,11 @@
|
||||
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
|
||||
URL truncated
|
||||
</message>
|
||||
@@ -496,7 +496,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
|
||||
--- a/components/page_info/page_info.cc
|
||||
+++ b/components/page_info/page_info.cc
|
||||
@@ -1174,6 +1174,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
@@ -1163,6 +1163,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
permission_info.source = info.source;
|
||||
permission_info.is_one_time = (info.metadata.session_model() ==
|
||||
content_settings::SessionModel::OneTime);
|
||||
@@ -515,7 +515,7 @@ diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
|
||||
+ bool is_user_session = false;
|
||||
// Only set for settings that can have multiple permissions for different
|
||||
// embedded origins.
|
||||
absl::optional<url::Origin> requesting_origin;
|
||||
std::optional<url::Origin> requesting_origin;
|
||||
diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
--- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
@@ -575,7 +575,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
|
||||
/** This class creates the model for the permission dialog. */
|
||||
class PermissionDialogModelFactory {
|
||||
public static PropertyModel getModel(
|
||||
@@ -59,6 +71,74 @@ class PermissionDialogModelFactory {
|
||||
@@ -60,6 +72,74 @@ class PermissionDialogModelFactory {
|
||||
ModalDialogProperties.NEGATIVE_BUTTON_TEXT,
|
||||
delegate.getNegativeButtonText());
|
||||
}
|
||||
@@ -1094,7 +1094,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
PermissionRequest::~PermissionRequest() {
|
||||
DCHECK(delete_callback_.is_null());
|
||||
}
|
||||
@@ -363,19 +371,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
@@ -357,19 +365,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
permissions::features::kPermissionStorageAccessAPI);
|
||||
}
|
||||
|
||||
@@ -1204,7 +1204,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
request->RequestFinished();
|
||||
return;
|
||||
@@ -578,7 +578,8 @@ void PermissionRequestManager::Accept() {
|
||||
@@ -593,7 +593,8 @@ void PermissionRequestManager::Accept() {
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::GRANTED);
|
||||
PermissionGrantedIncludingDuplicates(*requests_iter,
|
||||
@@ -1213,8 +1213,8 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
+ content_settings::LifetimeMode::Always);
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
absl::optional<ContentSettingsType> content_settings_type =
|
||||
@@ -596,7 +597,7 @@ void PermissionRequestManager::Accept() {
|
||||
std::optional<ContentSettingsType> content_settings_type =
|
||||
@@ -611,7 +612,7 @@ void PermissionRequestManager::Accept() {
|
||||
CurrentRequestsDecided(PermissionAction::GRANTED);
|
||||
}
|
||||
|
||||
@@ -1223,7 +1223,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
if (ignore_callbacks_from_prompt_)
|
||||
return;
|
||||
DCHECK(view_);
|
||||
@@ -608,7 +609,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
@@ -623,7 +624,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::GRANTED_ONCE);
|
||||
PermissionGrantedIncludingDuplicates(*requests_iter,
|
||||
@@ -1233,7 +1233,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
|
||||
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
|
||||
@@ -616,6 +618,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
@@ -631,6 +633,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
}
|
||||
|
||||
void PermissionRequestManager::Deny() {
|
||||
@@ -1249,7 +1249,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
if (ignore_callbacks_from_prompt_)
|
||||
return;
|
||||
DCHECK(view_);
|
||||
@@ -639,7 +650,7 @@ void PermissionRequestManager::Deny() {
|
||||
@@ -654,7 +665,7 @@ void PermissionRequestManager::Deny() {
|
||||
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::DENIED);
|
||||
@@ -1258,7 +1258,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
|
||||
NotifyRequestDecided(PermissionAction::DENIED);
|
||||
@@ -1180,32 +1191,32 @@ PermissionRequestManager::VisitDuplicateRequests(
|
||||
@@ -1213,32 +1224,32 @@ PermissionRequestManager::VisitDuplicateRequests(
|
||||
|
||||
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
|
||||
PermissionRequest* request,
|
||||
@@ -1301,8 +1301,8 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
request);
|
||||
}
|
||||
|
||||
@@ -1457,7 +1468,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
|
||||
void PermissionRequestManager::DoAutoResponseForTesting() {
|
||||
@@ -1495,7 +1506,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
|
||||
}
|
||||
switch (auto_response_for_test_) {
|
||||
case ACCEPT_ONCE:
|
||||
- AcceptThisTime();
|
||||
@@ -1313,7 +1313,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h
|
||||
--- a/components/permissions/permission_request_manager.h
|
||||
+++ b/components/permissions/permission_request_manager.h
|
||||
@@ -161,8 +161,10 @@ class PermissionRequestManager
|
||||
@@ -162,8 +162,10 @@ class PermissionRequestManager
|
||||
GURL GetRequestingOrigin() const override;
|
||||
GURL GetEmbeddingOrigin() const override;
|
||||
void Accept() override;
|
||||
@@ -1325,7 +1325,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
|
||||
void Dismiss() override;
|
||||
void Ignore() override;
|
||||
void FinalizeCurrentRequests() override;
|
||||
@@ -367,9 +369,12 @@ class PermissionRequestManager
|
||||
@@ -368,9 +370,12 @@ class PermissionRequestManager
|
||||
|
||||
// Calls PermissionGranted on a request and all its duplicates.
|
||||
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
|
||||
|
||||
@@ -9,23 +9,24 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/bookmarks/BookmarkBridge.java | 67 +++++++++++++++++++
|
||||
.../bookmarks/android/bookmark_bridge.cc | 44 ++++++++++++
|
||||
.../bookmarks/android/bookmark_bridge.h | 8 +++
|
||||
.../browser/bookmarks/bookmark_html_writer.cc | 8 ++-
|
||||
.../browser/bookmarks/bookmark_html_writer.cc | 11 ++-
|
||||
.../dialogs/DownloadLocationCustomView.java | 4 +-
|
||||
.../strings/android_chrome_strings.grd | 3 +
|
||||
components/bookmark_bar_strings.grdp | 6 ++
|
||||
.../bookmarks/browser/bookmark_codec.cc | 22 ++++--
|
||||
.../bookmarks/browser/bookmark_codec.cc | 20 +++++-
|
||||
components/bookmarks/browser/bookmark_codec.h | 7 +-
|
||||
.../browser/bookmark_load_details.cc | 2 +
|
||||
.../bookmarks/browser/bookmark_load_details.h | 3 +
|
||||
.../browser/bookmark_load_details.cc | 8 ++-
|
||||
.../bookmarks/browser/bookmark_load_details.h | 2 +
|
||||
.../bookmarks/browser/bookmark_model.cc | 3 +-
|
||||
components/bookmarks/browser/bookmark_model.h | 7 ++
|
||||
components/bookmarks/browser/bookmark_node.cc | 11 +++
|
||||
components/bookmarks/browser/bookmark_node.h | 3 +
|
||||
.../bookmarks/browser/bookmark_storage.cc | 2 +
|
||||
.../bookmarks/browser/bookmark_uuids.cc | 3 +
|
||||
components/bookmarks/browser/bookmark_uuids.h | 1 +
|
||||
components/bookmarks/browser/model_loader.cc | 3 +-
|
||||
components/bookmarks/browser/model_loader.cc | 8 ++-
|
||||
.../bookmark_specifics_conversions.cc | 1 +
|
||||
21 files changed, 227 insertions(+), 10 deletions(-)
|
||||
22 files changed, 236 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -41,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
||||
<item android:id="@+id/recent_tabs_menu_id"
|
||||
android:title="@string/menu_recent_tabs"
|
||||
android:icon="@drawable/devices_black_24dp" />
|
||||
@@ -183,6 +187,9 @@ found in the LICENSE file.
|
||||
@@ -186,6 +190,9 @@ found in the LICENSE file.
|
||||
<item android:id="@+id/close_all_incognito_tabs_menu_id"
|
||||
android:title="@string/menu_close_all_incognito_tabs"
|
||||
android:icon="@drawable/btn_close_white" />
|
||||
@@ -54,7 +55,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -86,6 +86,7 @@ import org.chromium.chrome.browser.base.ColdStartTracker;
|
||||
@@ -89,6 +89,7 @@ import org.chromium.chrome.browser.base.ColdStartTracker;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
||||
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
@@ -62,7 +63,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.compositor.layouts.Layout;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
|
||||
@@ -2934,6 +2935,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2950,6 +2951,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
getTabModelSelectorSupplier().get(),
|
||||
() -> getTabModelSelector().closeAllTabs());
|
||||
RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||
@@ -71,7 +72,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||
// Close only incognito tabs
|
||||
CloseAllTabsDialog.show(
|
||||
@@ -3005,6 +3008,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -3021,6 +3024,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus);
|
||||
}
|
||||
|
||||
@@ -120,7 +121,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
import org.chromium.components.bookmarks.BookmarkId;
|
||||
import org.chromium.components.bookmarks.BookmarkItem;
|
||||
import org.chromium.components.bookmarks.BookmarkType;
|
||||
@@ -80,6 +86,8 @@ import org.chromium.ui.modaldialog.DialogDismissalCause;
|
||||
@@ -82,6 +88,8 @@ import org.chromium.ui.modaldialog.DialogDismissalCause;
|
||||
class BookmarkBridge {
|
||||
private final ObserverList<BookmarkModelObserver> mObservers = new ObserverList<>();
|
||||
|
||||
@@ -129,7 +130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
private long mNativeBookmarkBridge;
|
||||
private boolean mIsDestroyed;
|
||||
private boolean mIsDoingExtensiveChanges;
|
||||
@@ -400,6 +408,16 @@ class BookmarkBridge {
|
||||
@@ -402,6 +410,16 @@ class BookmarkBridge {
|
||||
return mMobileFolderId;
|
||||
}
|
||||
|
||||
@@ -146,7 +147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/** Returns Id representing the special "other" folder from bookmark model. */
|
||||
public BookmarkId getOtherFolderId() {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
@@ -1084,6 +1102,50 @@ class BookmarkBridge {
|
||||
@@ -1092,6 +1110,50 @@ class BookmarkBridge {
|
||||
.addToReadingList(mNativeBookmarkBridge, parentId, title, url);
|
||||
}
|
||||
|
||||
@@ -197,7 +198,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* Helper method to mark an item as read.
|
||||
*
|
||||
@@ -1325,6 +1387,9 @@ class BookmarkBridge {
|
||||
@@ -1334,6 +1396,9 @@ class BookmarkBridge {
|
||||
|
||||
BookmarkId getMostRecentlyAddedUserBookmarkIdForUrl(long nativeBookmarkBridge, GURL url);
|
||||
|
||||
@@ -207,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
BookmarkItem getBookmarkById(long nativeBookmarkBridge, long id, int type);
|
||||
|
||||
void getTopLevelFolderIds(
|
||||
@@ -1344,6 +1409,8 @@ class BookmarkBridge {
|
||||
@@ -1353,6 +1418,8 @@ class BookmarkBridge {
|
||||
|
||||
BookmarkId getRootFolderId(long nativeBookmarkBridge);
|
||||
|
||||
@@ -219,7 +220,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
@@ -356,6 +356,33 @@ void BookmarkBridge::GetImageUrlForBookmark(
|
||||
@@ -367,6 +367,33 @@ void BookmarkBridge::GetImageUrlForBookmark(
|
||||
base::BindOnce(&HandleImageUrlResponse, callback));
|
||||
}
|
||||
|
||||
@@ -253,7 +254,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
base::android::ScopedJavaLocalRef<jobject>
|
||||
BookmarkBridge::GetMostRecentlyAddedUserBookmarkIdForUrl(
|
||||
JNIEnv* env,
|
||||
@@ -464,6 +491,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
||||
@@ -482,6 +509,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
||||
// Vector to temporarily contain all child bookmarks at same level for sorting
|
||||
std::vector<const BookmarkNode*> bookmarks = {
|
||||
bookmark_model_->mobile_node(),
|
||||
@@ -261,7 +262,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
bookmark_model_->bookmark_bar_node(),
|
||||
bookmark_model_->other_node(),
|
||||
};
|
||||
@@ -521,6 +549,11 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
|
||||
@@ -539,6 +567,11 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
|
||||
top_level_folders.push_back(root_child.get());
|
||||
}
|
||||
|
||||
@@ -273,7 +274,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
if (account_reading_list_manager_ &&
|
||||
account_reading_list_manager_->GetRoot()) {
|
||||
top_level_folders.push_back(account_reading_list_manager_->GetRoot());
|
||||
@@ -1147,6 +1180,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
@@ -1176,6 +1209,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
AddBookmarkNodesToBookmarkIdList(env, j_list, results);
|
||||
}
|
||||
|
||||
@@ -319,7 +320,17 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
@@ -190,15 +190,19 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
@@ -168,7 +168,8 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
BookmarkCodec codec;
|
||||
bookmarks_ =
|
||||
codec.Encode(model->bookmark_bar_node(), model->other_node(),
|
||||
- model->mobile_node(), /*sync_metadata_str=*/std::string());
|
||||
+ model->mobile_node(), model->tabs_collection_node(),
|
||||
+ /*sync_metadata_str=*/std::string());
|
||||
}
|
||||
|
||||
Writer(const Writer&) = delete;
|
||||
@@ -195,15 +196,19 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
roots->FindDict(BookmarkCodec::kOtherBookmarkFolderNameKey);
|
||||
base::Value::Dict* mobile_folder_value =
|
||||
roots->FindDict(BookmarkCodec::kMobileBookmarkFolderNameKey);
|
||||
@@ -340,7 +351,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
||||
NotifyOnFinish(BookmarksExportObserver::Result::kCouldNotWriteNodes);
|
||||
return;
|
||||
}
|
||||
@@ -465,6 +469,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
|
||||
@@ -467,6 +472,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
|
||||
BookmarkModelFactory::GetForBrowserContext(profile_)->other_node());
|
||||
ExtractUrls(
|
||||
BookmarkModelFactory::GetForBrowserContext(profile_)->mobile_node());
|
||||
@@ -352,7 +363,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
||||
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
|
||||
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
|
||||
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
|
||||
@@ -77,7 +77,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||
@@ -85,7 +85,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||
mDirectoryAdapter.update();
|
||||
}
|
||||
|
||||
@@ -361,7 +372,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
mTitle.setText(title);
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||
@@ -93,7 +93,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||
mSubtitleView.setText(subtitle);
|
||||
}
|
||||
|
||||
@@ -373,7 +384,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -3806,6 +3806,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3875,6 +3875,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
|
||||
Select tabs
|
||||
</message>
|
||||
@@ -409,7 +420,7 @@ diff --git a/components/bookmark_bar_strings.grdp b/components/bookmark_bar_stri
|
||||
diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmarks/browser/bookmark_codec.cc
|
||||
--- a/components/bookmarks/browser/bookmark_codec.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_codec.cc
|
||||
@@ -36,6 +36,7 @@ const char BookmarkCodec::kBookmarkBarFolderNameKey[] = "bookmark_bar";
|
||||
@@ -35,6 +35,7 @@ const char BookmarkCodec::kBookmarkBarFolderNameKey[] = "bookmark_bar";
|
||||
const char BookmarkCodec::kOtherBookmarkFolderNameKey[] = "other";
|
||||
// The value is left as 'synced' for historical reasons.
|
||||
const char BookmarkCodec::kMobileBookmarkFolderNameKey[] = "synced";
|
||||
@@ -417,41 +428,32 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
const char BookmarkCodec::kVersionKey[] = "version";
|
||||
const char BookmarkCodec::kChecksumKey[] = "checksum";
|
||||
const char BookmarkCodec::kIdKey[] = "id";
|
||||
@@ -72,7 +73,8 @@ BookmarkCodec::~BookmarkCodec() = default;
|
||||
base::Value::Dict BookmarkCodec::Encode(BookmarkModel* model,
|
||||
std::string sync_metadata_str) {
|
||||
return Encode(model->bookmark_bar_node(), model->other_node(),
|
||||
- model->mobile_node(), model->root_node()->GetMetaInfoMap(),
|
||||
+ model->mobile_node(), model->tabs_collection_node(),
|
||||
+ model->root_node()->GetMetaInfoMap(),
|
||||
std::move(sync_metadata_str));
|
||||
}
|
||||
|
||||
@@ -80,6 +82,7 @@ base::Value::Dict BookmarkCodec::Encode(
|
||||
@@ -72,6 +73,7 @@ base::Value::Dict BookmarkCodec::Encode(
|
||||
const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
+ const BookmarkNode* tabs_folder_node,
|
||||
const BookmarkNode::MetaInfoMap* model_meta_info_map,
|
||||
std::string sync_metadata_str) {
|
||||
ids_reassigned_ = false;
|
||||
@@ -100,6 +103,7 @@ base::Value::Dict BookmarkCodec::Encode(
|
||||
uuids_reassigned_ = false;
|
||||
@@ -91,6 +93,8 @@ base::Value::Dict BookmarkCodec::Encode(
|
||||
roots.Set(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node));
|
||||
roots.Set(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
|
||||
roots.Set(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
|
||||
+ roots.Set(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node));
|
||||
if (model_meta_info_map)
|
||||
roots.Set(kMetaInfo, EncodeMetaInfo(*model_meta_info_map));
|
||||
+ if (tabs_folder_node)
|
||||
+ roots.Set(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node));
|
||||
|
||||
@@ -117,6 +121,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
FinalizeChecksum();
|
||||
// We are going to store the computed checksum. So set stored checksum to be
|
||||
@@ -107,6 +111,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
+ BookmarkNode* tabs_folder_node,
|
||||
int64_t* max_id,
|
||||
std::string* sync_metadata_str) {
|
||||
ids_.clear();
|
||||
@@ -124,7 +129,8 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
const int64_t max_already_assigned_id =
|
||||
@@ -117,7 +122,8 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
base::Uuid::ParseLowercase(kBookmarkBarNodeUuid),
|
||||
base::Uuid::ParseLowercase(kOtherBookmarksNodeUuid),
|
||||
base::Uuid::ParseLowercase(kMobileBookmarksNodeUuid),
|
||||
@@ -461,7 +463,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
ids_reassigned_ = false;
|
||||
uuids_reassigned_ = false;
|
||||
ids_valid_ = true;
|
||||
@@ -132,12 +138,13 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
@@ -125,13 +131,14 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
stored_checksum_.clear();
|
||||
InitializeChecksum();
|
||||
bool success = DecodeHelper(bb_node, other_folder_node, mobile_folder_node,
|
||||
@@ -470,12 +472,13 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
FinalizeChecksum();
|
||||
// If either the checksums differ or some IDs were missing/not unique,
|
||||
// reassign IDs.
|
||||
if (!ids_valid_ || computed_checksum() != stored_checksum())
|
||||
if (!ids_valid_ || computed_checksum_ != stored_checksum_) {
|
||||
maximum_id_ = max_already_assigned_id;
|
||||
- ReassignIDs(bb_node, other_folder_node, mobile_folder_node);
|
||||
+ ReassignIDs(bb_node, other_folder_node, mobile_folder_node, tabs_folder_node);
|
||||
}
|
||||
*max_id = maximum_id_ + 1;
|
||||
return success;
|
||||
}
|
||||
@@ -189,6 +196,7 @@ base::Value::Dict BookmarkCodec::EncodeMetaInfo(
|
||||
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
@@ -483,7 +486,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
+ BookmarkNode* tabs_folder_node,
|
||||
const base::Value::Dict& value,
|
||||
std::string* sync_metadata_str) {
|
||||
absl::optional<int> version = value.FindInt(kVersionKey);
|
||||
std::optional<int> version = value.FindInt(kVersionKey);
|
||||
@@ -213,6 +221,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
roots->FindDict(kOtherBookmarkFolderNameKey);
|
||||
const base::Value::Dict* mobile_folder_value =
|
||||
@@ -500,16 +503,16 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
+ if (tabs_folder_value)
|
||||
+ DecodeNode(*tabs_folder_value, nullptr, tabs_folder_node);
|
||||
|
||||
if (!DecodeMetaInfo(*roots, &model_meta_info_map_))
|
||||
return false;
|
||||
@@ -461,11 +473,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
|
||||
if (sync_metadata_str) {
|
||||
const std::string* sync_metadata_str_base64 =
|
||||
@@ -459,11 +471,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
|
||||
|
||||
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_node,
|
||||
- BookmarkNode* mobile_node) {
|
||||
+ BookmarkNode* mobile_node,
|
||||
+ BookmarkNode* tabs_folder_node) {
|
||||
maximum_id_ = 0;
|
||||
ids_.clear();
|
||||
ReassignIDsHelper(bb_node);
|
||||
ReassignIDsHelper(other_node);
|
||||
ReassignIDsHelper(mobile_node);
|
||||
@@ -520,15 +523,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
|
||||
--- a/components/bookmarks/browser/bookmark_codec.h
|
||||
+++ b/components/bookmarks/browser/bookmark_codec.h
|
||||
@@ -46,6 +46,7 @@ class BookmarkCodec {
|
||||
@@ -39,6 +39,7 @@ class BookmarkCodec {
|
||||
const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
+ const BookmarkNode* tabs_folder_node,
|
||||
const BookmarkNode::MetaInfoMap* model_meta_info_map,
|
||||
std::string sync_metadata_str);
|
||||
|
||||
@@ -58,6 +59,7 @@ class BookmarkCodec {
|
||||
// Decodes the previously encoded value to the specified nodes as well as
|
||||
@@ -57,6 +58,7 @@ class BookmarkCodec {
|
||||
BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
@@ -536,15 +539,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
||||
int64_t* max_node_id,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
@@ -103,6 +105,7 @@ class BookmarkCodec {
|
||||
// Allows the BookmarkClient to read and a write a string blob from the JSON
|
||||
// file. That string captures the bookmarks sync metadata.
|
||||
static const char kSyncMetadata[];
|
||||
@@ -82,6 +84,7 @@ class BookmarkCodec {
|
||||
static const char kBookmarkBarFolderNameKey[];
|
||||
static const char kOtherBookmarkFolderNameKey[];
|
||||
static const char kMobileBookmarkFolderNameKey[];
|
||||
+ static const char kTabsBookmarkFolderNameKey[];
|
||||
static const char kDateLastUsed[];
|
||||
|
||||
// Possible values for kTypeKey.
|
||||
@@ -121,6 +124,7 @@ class BookmarkCodec {
|
||||
static const char kVersionKey[];
|
||||
static const char kChecksumKey[];
|
||||
static const char kIdKey[];
|
||||
@@ -114,6 +117,7 @@ class BookmarkCodec {
|
||||
bool DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
@@ -552,7 +555,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
||||
const base::Value::Dict& value,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
@@ -132,7 +136,8 @@ class BookmarkCodec {
|
||||
@@ -124,7 +128,8 @@ class BookmarkCodec {
|
||||
// Reassigns bookmark IDs for all nodes.
|
||||
void ReassignIDs(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_node,
|
||||
@@ -565,39 +568,58 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
||||
diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc
|
||||
--- a/components/bookmarks/browser/bookmark_load_details.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_load_details.cc
|
||||
@@ -31,6 +31,8 @@ BookmarkLoadDetails::BookmarkLoadDetails(BookmarkClient* client)
|
||||
root_node_->Add(BookmarkPermanentNode::CreateOtherBookmarks(max_id_++)));
|
||||
mobile_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
||||
root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks(max_id_++)));
|
||||
+ tabs_collection_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
||||
+ root_node_->Add(BookmarkPermanentNode::CreateTabsCollectionBookmarks(max_id_++)));
|
||||
}
|
||||
@@ -15,7 +15,7 @@ namespace {
|
||||
|
||||
BookmarkLoadDetails::~BookmarkLoadDetails() = default;
|
||||
// Number of top-level permanent folders excluding the managed node and account
|
||||
// bookmarks.
|
||||
-constexpr size_t kNumDefaultTopLevelPermanentFolders = 3u;
|
||||
+constexpr size_t kNumDefaultTopLevelPermanentFolders = 4u;
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -40,6 +40,8 @@ BookmarkLoadDetails::BookmarkLoadDetails()
|
||||
root_node_->Add(BookmarkPermanentNode::CreateOtherBookmarks(/*id=*/0)));
|
||||
mobile_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
||||
root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks(/*id=*/0)));
|
||||
+ tabs_collection_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
||||
+ root_node_->Add(BookmarkPermanentNode::CreateTabsCollectionBookmarks(/*id=*/0)));
|
||||
|
||||
CHECK_EQ(kNumDefaultTopLevelPermanentFolders, root_node_->children().size());
|
||||
}
|
||||
@@ -105,8 +107,8 @@ void BookmarkLoadDetails::AddManagedNode(
|
||||
|
||||
void BookmarkLoadDetails::CreateIndices() {
|
||||
local_or_syncable_uuid_index_.insert(root_node_.get());
|
||||
- static_assert(kNumDefaultTopLevelPermanentFolders == 3u,
|
||||
- "The code below assumes three permanent nodes");
|
||||
+ static_assert(kNumDefaultTopLevelPermanentFolders == 4u,
|
||||
+ "The code below assumes 4 permanent nodes");
|
||||
for (const auto& child : root_node_->children()) {
|
||||
if (child.get() == account_bb_node_ ||
|
||||
child.get() == account_other_folder_node_ ||
|
||||
diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/bookmarks/browser/bookmark_load_details.h
|
||||
--- a/components/bookmarks/browser/bookmark_load_details.h
|
||||
+++ b/components/bookmarks/browser/bookmark_load_details.h
|
||||
@@ -47,6 +47,7 @@ class BookmarkLoadDetails {
|
||||
@@ -39,6 +39,7 @@ class BookmarkLoadDetails {
|
||||
BookmarkPermanentNode* bb_node() { return bb_node_; }
|
||||
BookmarkPermanentNode* mobile_folder_node() { return mobile_folder_node_; }
|
||||
BookmarkPermanentNode* other_folder_node() { return other_folder_node_; }
|
||||
+ BookmarkPermanentNode* tabs_collection_folder_node() { return tabs_collection_folder_node_; }
|
||||
|
||||
std::unique_ptr<TitledUrlIndex> owned_titled_url_index() {
|
||||
return std::move(titled_url_index_);
|
||||
@@ -112,6 +113,8 @@ class BookmarkLoadDetails {
|
||||
nullptr;
|
||||
raw_ptr<BookmarkPermanentNode, DanglingUntriaged> mobile_folder_node_ =
|
||||
nullptr;
|
||||
+ raw_ptr<BookmarkPermanentNode, DanglingUntriaged> tabs_collection_folder_node_ =
|
||||
+ nullptr;
|
||||
LoadManagedNodeCallback load_managed_node_callback_;
|
||||
std::unique_ptr<TitledUrlIndex> titled_url_index_;
|
||||
UuidIndex uuid_index_;
|
||||
// Account permanent nodes (null unless `AddAccountPermanentNodes()` is
|
||||
// called).
|
||||
@@ -138,6 +139,7 @@ class BookmarkLoadDetails {
|
||||
raw_ptr<BookmarkPermanentNode> bb_node_;
|
||||
raw_ptr<BookmarkPermanentNode> other_folder_node_;
|
||||
raw_ptr<BookmarkPermanentNode> mobile_folder_node_;
|
||||
+ raw_ptr<BookmarkPermanentNode> tabs_collection_folder_node_;
|
||||
raw_ptr<BookmarkPermanentNode> account_bb_node_;
|
||||
raw_ptr<BookmarkPermanentNode> account_other_folder_node_;
|
||||
raw_ptr<BookmarkPermanentNode> account_mobile_folder_node_;
|
||||
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
|
||||
--- a/components/bookmarks/browser/bookmark_model.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_model.cc
|
||||
@@ -838,7 +838,7 @@ bool BookmarkModel::HasBookmarks() const {
|
||||
@@ -846,7 +846,7 @@ bool BookmarkModel::HasBookmarks() const {
|
||||
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return bookmark_bar_node_->children().empty() &&
|
||||
@@ -606,18 +628,18 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
|
||||
}
|
||||
|
||||
bool BookmarkModel::IsBookmarked(const GURL& url) const {
|
||||
@@ -1149,6 +1149,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
@@ -1191,6 +1191,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
bookmark_bar_node_ = details->bb_node();
|
||||
other_node_ = details->other_folder_node();
|
||||
mobile_node_ = details->mobile_folder_node();
|
||||
+ tabs_collection_node_ = details->tabs_collection_folder_node();
|
||||
|
||||
// TODO(crbug.com/1520418): Load nodes for account storage as well and load
|
||||
// UUIDs onto `uuid_index_`.
|
||||
account_bookmark_bar_node_ = details->account_bb_node();
|
||||
account_other_node_ = details->account_other_folder_node();
|
||||
diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h
|
||||
--- a/components/bookmarks/browser/bookmark_model.h
|
||||
+++ b/components/bookmarks/browser/bookmark_model.h
|
||||
@@ -160,6 +160,12 @@ class BookmarkModel final : public BookmarkUndoProvider,
|
||||
@@ -159,6 +159,12 @@ class BookmarkModel final : public BookmarkUndoProvider,
|
||||
// bookmarks in the account storage).
|
||||
const BookmarkNode* account_mobile_node() const;
|
||||
|
||||
@@ -630,7 +652,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
|
||||
bool is_root_node(const BookmarkNode* node) const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return node == root_;
|
||||
@@ -585,6 +591,7 @@ class BookmarkModel final : public BookmarkUndoProvider,
|
||||
@@ -619,6 +625,7 @@ class BookmarkModel final : public BookmarkUndoProvider,
|
||||
raw_ptr<BookmarkPermanentNode> account_bookmark_bar_node_ = nullptr;
|
||||
raw_ptr<BookmarkPermanentNode> account_other_node_ = nullptr;
|
||||
raw_ptr<BookmarkPermanentNode> account_mobile_node_ = nullptr;
|
||||
@@ -677,15 +699,34 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
|
||||
MOBILE
|
||||
};
|
||||
|
||||
@@ -247,6 +248,8 @@ class BookmarkPermanentNode : public BookmarkNode {
|
||||
@@ -231,6 +232,8 @@ class BookmarkPermanentNode : public BookmarkNode {
|
||||
int64_t id);
|
||||
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
|
||||
int64_t id);
|
||||
+ static std::unique_ptr<BookmarkPermanentNode> CreateTabsCollectionBookmarks(
|
||||
+ int64_t id);
|
||||
|
||||
// Constructor is private to disallow the construction of permanent nodes
|
||||
// other than the well-known ones, see factory methods.
|
||||
// Returns whether the permanent node of type `type` should be visible even
|
||||
// when it is empty (i.e. no children).
|
||||
diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookmarks/browser/bookmark_storage.cc
|
||||
--- a/components/bookmarks/browser/bookmark_storage.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_storage.cc
|
||||
@@ -45,6 +45,7 @@ base::Value::Dict EncodeModelToDict(
|
||||
case BookmarkStorage::kSelectLocalOrSyncableNodes:
|
||||
return codec.Encode(
|
||||
model->bookmark_bar_node(), model->other_node(), model->mobile_node(),
|
||||
+ model->tabs_collection_node(),
|
||||
model->client()->EncodeLocalOrSyncableBookmarkSyncMetadata());
|
||||
case BookmarkStorage::kSelectAccountNodes:
|
||||
if (!model->account_bookmark_bar_node()) {
|
||||
@@ -59,6 +60,7 @@ base::Value::Dict EncodeModelToDict(
|
||||
return codec.Encode(model->account_bookmark_bar_node(),
|
||||
model->account_other_node(),
|
||||
model->account_mobile_node(),
|
||||
+ nullptr,
|
||||
model->client()->EncodeAccountBookmarkSyncMetadata());
|
||||
}
|
||||
|
||||
diff --git a/components/bookmarks/browser/bookmark_uuids.cc b/components/bookmarks/browser/bookmark_uuids.cc
|
||||
--- a/components/bookmarks/browser/bookmark_uuids.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_uuids.cc
|
||||
@@ -713,16 +754,35 @@ diff --git a/components/bookmarks/browser/bookmark_uuids.h b/components/bookmark
|
||||
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
|
||||
--- a/components/bookmarks/browser/model_loader.cc
|
||||
+++ b/components/bookmarks/browser/model_loader.cc
|
||||
@@ -45,7 +45,8 @@ void LoadBookmarks(const base::FilePath& path,
|
||||
std::string sync_metadata_str;
|
||||
BookmarkCodec codec;
|
||||
codec.Decode(*root_dict, details->bb_node(), details->other_folder_node(),
|
||||
- details->mobile_folder_node(), &max_node_id,
|
||||
+ details->mobile_folder_node(),
|
||||
+ details->tabs_collection_folder_node(), &max_node_id,
|
||||
&sync_metadata_str);
|
||||
details->set_sync_metadata_str(std::move(sync_metadata_str));
|
||||
details->set_max_id(std::max(max_node_id, details->max_id()));
|
||||
@@ -71,6 +71,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
BookmarkPermanentNode::CreateOtherBookmarks(0);
|
||||
std::unique_ptr<BookmarkPermanentNode> account_mobile_folder_node =
|
||||
BookmarkPermanentNode::CreateMobileBookmarks(0);
|
||||
+ std::unique_ptr<BookmarkPermanentNode> tabs_collection_folder_node =
|
||||
+ BookmarkPermanentNode::CreateTabsCollectionBookmarks(0);
|
||||
|
||||
std::optional<base::Value::Dict> root_dict =
|
||||
LoadFileToDict(account_file_path);
|
||||
@@ -78,7 +80,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
if (root_dict.has_value() &&
|
||||
codec.Decode(*root_dict, /*already_assigned_ids=*/{},
|
||||
account_bb_node.get(), account_other_folder_node.get(),
|
||||
- account_mobile_folder_node.get(), &max_node_id,
|
||||
+ account_mobile_folder_node.get(),
|
||||
+ tabs_collection_folder_node.get(), &max_node_id,
|
||||
&sync_metadata_str)) {
|
||||
ids_assigned_to_account_nodes = codec.release_assigned_ids();
|
||||
|
||||
@@ -110,7 +113,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
if (root_dict.has_value() &&
|
||||
codec.Decode(*root_dict, std::move(ids_assigned_to_account_nodes),
|
||||
details->bb_node(), details->other_folder_node(),
|
||||
- details->mobile_folder_node(), &max_node_id,
|
||||
+ details->mobile_folder_node(),
|
||||
+ details->tabs_collection_folder_node(), &max_node_id,
|
||||
&sync_metadata_str)) {
|
||||
details->set_local_or_syncable_sync_metadata_str(
|
||||
std::move(sync_metadata_str));
|
||||
diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
--- a/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
+++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
|
||||
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
@@ -59,6 +59,9 @@ found in the LICENSE file.
|
||||
@@ -62,6 +62,9 @@ found in the LICENSE file.
|
||||
<item android:id="@+id/add_to_homescreen_id"
|
||||
android:title="@string/menu_add_to_homescreen"
|
||||
android:orderInCategory="2" />
|
||||
@@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -2960,6 +2960,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2976,6 +2976,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
|
||||
}
|
||||
RecordUserAction.record("MobileMenuDownloadManager");
|
||||
@@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -2763,6 +2763,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2729,6 +2729,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
return doOpenWebApk(currentTab);
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
@@ -580,6 +580,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -585,6 +585,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
|
||||
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
|
||||
@@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
|
||||
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
|
||||
|
||||
@@ -1189,6 +1190,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -1236,6 +1237,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
@@ -276,6 +276,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
@@ -295,6 +295,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
|
||||
updateRequestDesktopSiteMenuItem(
|
||||
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
|
||||
|
||||
@@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
||||
@@ -323,9 +323,12 @@ class TabGridViewBinder {
|
||||
@@ -327,9 +327,12 @@ class TabGridViewBinder {
|
||||
// Adjust bitmap to thumbnail.
|
||||
TabUtils.setBitmapAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
|
||||
} else if (isMostRecentRequest) {
|
||||
@@ -32,7 +32,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
}
|
||||
};
|
||||
if (sThumbnailFetcherForTesting != null) {
|
||||
@@ -364,6 +367,7 @@ class TabGridViewBinder {
|
||||
@@ -368,6 +371,7 @@ class TabGridViewBinder {
|
||||
ViewLookupCachingFrameLayout rootView,
|
||||
PropertyModel model,
|
||||
TabListFaviconProvider.TabFavicon favicon) {
|
||||
@@ -53,15 +53,15 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
/** Property for lazily fetching favicons when required by an item in a UI. */
|
||||
public static final WritableObjectPropertyKey<TabListFaviconProvider.TabFaviconFetcher>
|
||||
FAVICON_FETCHER = new WritableObjectPropertyKey<>();
|
||||
@@ -157,6 +160,7 @@ public class TabProperties {
|
||||
@@ -160,6 +163,7 @@ public class TabProperties {
|
||||
CARD_TYPE,
|
||||
CONTENT_DESCRIPTION_STRING,
|
||||
CLOSE_BUTTON_DESCRIPTION_STRING,
|
||||
+ FAVICON,
|
||||
SHOPPING_PERSISTED_TAB_DATA_FETCHER,
|
||||
SHOULD_SHOW_PRICE_DROP_TOOLTIP
|
||||
};
|
||||
@@ -168,6 +172,7 @@ public class TabProperties {
|
||||
SHOULD_SHOW_PRICE_DROP_TOOLTIP,
|
||||
QUICK_DELETE_ANIMATION_STATUS
|
||||
@@ -172,6 +176,7 @@ public class TabProperties {
|
||||
TAB_CLOSED_LISTENER,
|
||||
FAVICON_FETCHED,
|
||||
FAVICON_FETCHER,
|
||||
@@ -87,7 +87,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -144,6 +144,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||
@@ -145,6 +145,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
import org.chromium.chrome.browser.preferences.Pref;
|
||||
import org.chromium.chrome.browser.printing.TabPrinter;
|
||||
@@ -95,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.readaloud.ReadAloudController;
|
||||
import org.chromium.chrome.browser.selection.SelectionPopupBackPressHandler;
|
||||
@@ -743,7 +744,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -704,7 +705,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
new TabContentManager(
|
||||
this,
|
||||
mBrowserControlsManagerSupplier.get(),
|
||||
@@ -212,7 +212,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -5290,6 +5290,14 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -5371,6 +5371,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
|
||||
</message>
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
@@ -975,7 +975,9 @@ public final class ReturnToChromeUtil {
|
||||
@@ -979,7 +979,9 @@ public final class ReturnToChromeUtil {
|
||||
|
||||
public static boolean isScrollableMvtEnabled(Context context) {
|
||||
boolean isSurfacePolishEnabled = ChromeFeatureList.sSurfacePolish.isEnabled();
|
||||
@@ -66,15 +66,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
@@ -100,6 +100,7 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
|
||||
@@ -98,6 +98,7 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
|
||||
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
|
||||
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
|
||||
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||
import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
|
||||
@@ -1634,7 +1635,9 @@ public class RootUiCoordinator
|
||||
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
@@ -1595,7 +1596,9 @@ public class RootUiCoordinator
|
||||
if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
|
||||
|
||||
int stubId = R.id.find_toolbar_stub;
|
||||
@@ -99,7 +99,7 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU
|
||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -294,6 +294,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -270,6 +270,7 @@ public final class ChromePreferenceKeys {
|
||||
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
|
||||
|
||||
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
|
||||
@@ -146,7 +146,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
@@ -760,7 +760,7 @@ public class LocationBarCoordinator
|
||||
@@ -771,7 +771,7 @@ public class LocationBarCoordinator
|
||||
}
|
||||
|
||||
private boolean isTabletWindow() {
|
||||
@@ -158,7 +158,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1558,6 +1558,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1564,6 +1564,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Manage third-party cookies and tracking protections
|
||||
</message>
|
||||
|
||||
@@ -184,7 +184,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
disallowed_extension_deps_ = [
|
||||
# Components should largely not depend on //extensions. Since // extensions
|
||||
# is not a component target and is linked with //chrome, depending on most
|
||||
@@ -829,7 +829,7 @@ test("components_unittests") {
|
||||
@@ -831,7 +831,7 @@ test("components_unittests") {
|
||||
# On other platforms, no components should depend on Chrome.
|
||||
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
||||
# extensions targets for non-lacros builds.
|
||||
@@ -193,7 +193,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
assert_no_deps = [ "//chrome/*" ]
|
||||
assert_no_deps += disallowed_extension_deps_
|
||||
}
|
||||
@@ -1120,7 +1120,7 @@ if (use_blink) {
|
||||
@@ -1113,7 +1113,7 @@ if (use_blink) {
|
||||
# dependency. On other platforms, no components should depend on Chrome.
|
||||
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
||||
# extensions targets for non-lacros builds.
|
||||
|
||||
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -40,6 +40,7 @@ import org.chromium.base.BuildInfo;
|
||||
@@ -41,6 +41,7 @@ import org.chromium.base.BuildInfo;
|
||||
import org.chromium.base.Callback;
|
||||
import org.chromium.base.CallbackController;
|
||||
import org.chromium.base.CommandLine;
|
||||
@@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.base.IntentUtils;
|
||||
import org.chromium.base.Log;
|
||||
import org.chromium.base.MemoryPressureListener;
|
||||
@@ -1582,8 +1583,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1614,8 +1615,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
boolean hadCipherData =
|
||||
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
|
||||
|
||||
@@ -105,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -4724,6 +4724,12 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -4805,6 +4805,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
|
||||
IMAGE
|
||||
</message>
|
||||
|
||||
@@ -39,7 +39,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -634,11 +636,16 @@ public class TabGridDialogMediator
|
||||
@@ -636,11 +638,16 @@ public class TabGridDialogMediator
|
||||
|
||||
assert relatedTabs.size() > 0;
|
||||
|
||||
@@ -68,7 +68,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
|
||||
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
|
||||
import org.chromium.chrome.browser.layouts.LayoutType;
|
||||
@@ -371,10 +372,15 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -375,10 +376,15 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
assert relatedTabs.size() > 0;
|
||||
|
||||
parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
|
||||
@@ -201,7 +201,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -307,6 +307,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -283,6 +283,7 @@ public final class ChromePreferenceKeys {
|
||||
public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP";
|
||||
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
|
||||
|
||||
@@ -223,7 +223,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1331,6 +1331,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1337,6 +1337,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
|
||||
Last hour
|
||||
</message>
|
||||
@@ -236,7 +236,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
||||
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
@@ -70,6 +70,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -73,6 +73,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
GetHomeButtonAndHomePageIsNewTabPageFlags());
|
||||
registry->RegisterBooleanPref(prefs::kShowHomeButton, false,
|
||||
GetHomeButtonAndHomePageIsNewTabPageFlags());
|
||||
@@ -248,7 +248,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
|
||||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
--- a/chrome/common/pref_names.h
|
||||
+++ b/chrome/common/pref_names.h
|
||||
@@ -1304,6 +1304,10 @@ inline constexpr char kUsedPolicyCertificates[] =
|
||||
@@ -1285,6 +1285,10 @@ inline constexpr char kUsedPolicyCertificates[] =
|
||||
// visible on the toolbar.
|
||||
inline constexpr char kShowHomeButton[] = "browser.show_home_button";
|
||||
|
||||
|
||||
@@ -9,9 +9,9 @@ Add DuckDuckGo Lite
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../search_engines/prepopulated_engines.json | 31 +++++++++++++++++++
|
||||
.../search_engines/search_engine_type.h | 2 ++
|
||||
.../search_engines/search_engine_type.h | 5 +++
|
||||
.../template_url_prepopulate_data.cc | 3 ++
|
||||
3 files changed, 36 insertions(+)
|
||||
3 files changed, 39 insertions(+)
|
||||
|
||||
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
|
||||
--- a/components/search_engines/prepopulated_engines.json
|
||||
@@ -33,7 +33,7 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
|
||||
"ecosia": {
|
||||
"name": "Ecosia",
|
||||
"keyword": "ecosia.org",
|
||||
@@ -172,6 +182,27 @@
|
||||
@@ -171,6 +181,27 @@
|
||||
"id": 111
|
||||
},
|
||||
|
||||
@@ -64,15 +64,22 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
|
||||
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
|
||||
--- a/components/search_engines/search_engine_type.h
|
||||
+++ b/components/search_engines/search_engine_type.h
|
||||
@@ -89,6 +89,8 @@ enum SearchEngineType {
|
||||
SEARCH_ENGINE_BRAVE = 70,
|
||||
@@ -90,10 +90,15 @@ enum SearchEngineType {
|
||||
SEARCH_ENGINE_KARMA = 71,
|
||||
SEARCH_ENGINE_YOU = 72,
|
||||
+ SEARCH_ENGINE_GOOGLE_EN = 73,
|
||||
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 74,
|
||||
SEARCH_ENGINE_STARTER_PACK_ASK_GOOGLE = 73,
|
||||
+ SEARCH_ENGINE_GOOGLE_EN = 74,
|
||||
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 75,
|
||||
|
||||
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
|
||||
};
|
||||
|
||||
+static_assert(SEARCH_ENGINE_DUCKDUCKGOLIGHT == (SEARCH_ENGINE_MAX - 1),
|
||||
+ "Please check this patch");
|
||||
+
|
||||
// Enum to record the type of search engine a user used in keyword mode. This
|
||||
// should be kept aligned with the `OmniboxBuiltinEngineType` enum in enums.xml.
|
||||
// Entries should not be renumbered and numeric values should never be reused.
|
||||
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
|
||||
--- a/components/search_engines/template_url_prepopulate_data.cc
|
||||
+++ b/components/search_engines/template_url_prepopulate_data.cc
|
||||
|
||||
@@ -35,7 +35,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -305,6 +305,7 @@ chrome_java_sources = [
|
||||
@@ -307,6 +307,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAdvanced.java",
|
||||
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java",
|
||||
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java",
|
||||
@@ -46,15 +46,15 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -164,6 +164,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider;
|
||||
@@ -169,6 +169,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate;
|
||||
+import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
|
||||
import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler;
|
||||
import org.chromium.chrome.browser.read_later.ReadingListUtils;
|
||||
import org.chromium.chrome.browser.reengagement.ReengagementNotificationController;
|
||||
@@ -1582,7 +1583,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
import org.chromium.chrome.browser.search_engines.SearchEngineChoiceNotification;
|
||||
@@ -1614,7 +1615,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
Intent intent = getIntent();
|
||||
|
||||
boolean hadCipherData =
|
||||
@@ -70,7 +70,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
|
||||
@@ -433,6 +433,10 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
||||
@@ -435,6 +435,10 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
||||
/** Returns whether is a basic or advanced Clear Browsing Data tab. */
|
||||
protected abstract @ClearBrowsingDataTab int getClearBrowsingDataTabType();
|
||||
|
||||
@@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
|
||||
/**
|
||||
* Decides whether a given dialog option should be selected when the dialog is initialized.
|
||||
*
|
||||
@@ -512,6 +516,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
||||
@@ -514,6 +518,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
||||
* options.
|
||||
*/
|
||||
private void onClearButtonClicked() {
|
||||
@@ -89,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
|
||||
if (shouldShowImportantSitesDialog()) {
|
||||
showImportantDialogThenClear();
|
||||
return;
|
||||
@@ -544,6 +549,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
||||
@@ -546,6 +551,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
||||
Button clearButton = (Button) getView().findViewById(R.id.clear_button);
|
||||
boolean isEnabled = !getSelectedOptions().isEmpty();
|
||||
clearButton.setEnabled(isEnabled);
|
||||
@@ -179,16 +179,16 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
|
||||
@@ -27,7 +27,7 @@ import org.chromium.chrome.browser.settings.SettingsActivity;
|
||||
@@ -29,7 +29,7 @@ import org.chromium.chrome.browser.settings.SettingsActivity;
|
||||
* Fragment with a {@link TabLayout} containing a basic and an advanced version of the CBD dialog.
|
||||
*/
|
||||
public class ClearBrowsingDataTabsFragment extends Fragment {
|
||||
public class ClearBrowsingDataTabsFragment extends Fragment implements ProfileDependentSetting {
|
||||
- public static final int CBD_TAB_COUNT = 2;
|
||||
+ public static final int CBD_TAB_COUNT = 3;
|
||||
|
||||
private Profile mProfile;
|
||||
private ClearBrowsingDataFetcher mFetcher;
|
||||
|
||||
@@ -90,6 +90,8 @@ public class ClearBrowsingDataTabsFragment extends Fragment {
|
||||
@@ -93,6 +93,8 @@ public class ClearBrowsingDataTabsFragment extends Fragment implements ProfileDe
|
||||
return getActivity().getString(R.string.clear_browsing_data_basic_tab_title);
|
||||
case 1:
|
||||
return getActivity().getString(R.string.prefs_section_advanced);
|
||||
@@ -197,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
|
||||
default:
|
||||
throw new RuntimeException("invalid position: " + position);
|
||||
}
|
||||
@@ -127,6 +129,9 @@ public class ClearBrowsingDataTabsFragment extends Fragment {
|
||||
@@ -136,6 +138,9 @@ public class ClearBrowsingDataTabsFragment extends Fragment implements ProfileDe
|
||||
case 1:
|
||||
fragment = new ClearBrowsingDataFragmentAdvanced();
|
||||
break;
|
||||
@@ -210,7 +210,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -2247,6 +2247,16 @@
|
||||
@@ -2244,6 +2244,16 @@
|
||||
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for clear browsing data button in Privacy options">
|
||||
Clear browsing data
|
||||
</message>
|
||||
@@ -230,14 +230,14 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chrome/browser/android/browsing_data/browsing_data_bridge.cc
|
||||
--- a/chrome/browser/android/browsing_data/browsing_data_bridge.cc
|
||||
+++ b/chrome/browser/android/browsing_data/browsing_data_bridge.cc
|
||||
@@ -326,7 +326,7 @@ static void JNI_BrowsingDataBridge_SetLastClearBrowsingDataTab(
|
||||
const JavaParamRef<jobject>& obj,
|
||||
@@ -331,7 +331,7 @@ static void JNI_BrowsingDataBridge_SetLastClearBrowsingDataTab(
|
||||
const JavaParamRef<jobject>& jprofile,
|
||||
jint tab_index) {
|
||||
DCHECK_GE(tab_index, 0);
|
||||
- DCHECK_LT(tab_index, 2);
|
||||
+ DCHECK_LT(tab_index, 3);
|
||||
GetPrefService()->SetInteger(browsing_data::prefs::kLastClearBrowsingDataTab,
|
||||
tab_index);
|
||||
GetPrefService(jprofile)->SetInteger(
|
||||
browsing_data::prefs::kLastClearBrowsingDataTab, tab_index);
|
||||
}
|
||||
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
|
||||
--- a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
|
||||
@@ -281,8 +281,8 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.
|
||||
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||
@@ -434,6 +434,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
delete_end_, CreateTaskCompletionClosure(TracingDataType::kHistory),
|
||||
@@ -436,6 +436,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
CreateTaskCompletionClosure(TracingDataType::kHistory),
|
||||
&history_task_tracker_);
|
||||
}
|
||||
+ }
|
||||
@@ -291,7 +291,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
|
||||
if (ClipboardRecentContent::GetInstance())
|
||||
ClipboardRecentContent::GetInstance()->SuppressClipboardContent();
|
||||
|
||||
@@ -484,7 +487,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
@@ -486,7 +489,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS |
|
||||
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY);
|
||||
}
|
||||
@@ -301,7 +301,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
|
||||
// The saved Autofill profiles and credit cards can include the origin from
|
||||
// which these profiles and credit cards were learned. These are a form of
|
||||
// history, so clear them as well.
|
||||
@@ -505,7 +510,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
@@ -507,7 +512,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
if (data_manager)
|
||||
data_manager->Refresh();
|
||||
}
|
||||
@@ -311,7 +311,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
|
||||
base::ThreadPool::PostTaskAndReply(
|
||||
FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()},
|
||||
base::BindOnce(
|
||||
@@ -580,9 +587,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
@@ -582,9 +589,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
}
|
||||
|
||||
device_event_log::Clear(delete_begin_, delete_end_);
|
||||
@@ -328,7 +328,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
|
||||
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||
@@ -502,6 +502,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||
@@ -513,6 +513,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||
(*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] =
|
||||
settings_api::PrefType::kNumber;
|
||||
|
||||
@@ -386,7 +386,7 @@ diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/b
|
||||
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
|
||||
--- a/chrome/browser/profiles/profile_manager.cc
|
||||
+++ b/chrome/browser/profiles/profile_manager.cc
|
||||
@@ -1496,6 +1496,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
|
||||
@@ -1488,6 +1488,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -406,7 +406,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
|
||||
void ProfileManager::DoFinalInitForServices(Profile* profile,
|
||||
bool go_off_the_record) {
|
||||
if (!do_final_services_init_ ||
|
||||
@@ -2171,7 +2184,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) {
|
||||
@@ -2155,7 +2168,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) {
|
||||
Profile* original_profile = profile->GetOriginalProfile();
|
||||
// Do nothing if the closed window is not the last window of the same profile.
|
||||
for (Browser* browser_iter : *BrowserList::GetInstance()) {
|
||||
@@ -430,7 +430,7 @@ diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles
|
||||
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
|
||||
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
|
||||
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
|
||||
@@ -306,6 +306,50 @@
|
||||
@@ -305,6 +305,50 @@
|
||||
disabled="[[clearingInProgress_]]" no-set-pref>
|
||||
</settings-checkbox>
|
||||
</div>
|
||||
@@ -484,7 +484,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
|
||||
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
|
||||
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
|
||||
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
|
||||
@@ -297,6 +297,7 @@ export class SettingsClearBrowsingDataDialogElement extends
|
||||
@@ -302,6 +302,7 @@ export class SettingsClearBrowsingDataDialogElement extends
|
||||
value: () =>
|
||||
[loadTimeData.getString('basicPageTitle'),
|
||||
loadTimeData.getString('advancedPageTitle'),
|
||||
@@ -492,7 +492,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
|
||||
],
|
||||
},
|
||||
|
||||
@@ -417,6 +418,7 @@ export class SettingsClearBrowsingDataDialogElement extends
|
||||
@@ -425,6 +426,7 @@ export class SettingsClearBrowsingDataDialogElement extends
|
||||
}
|
||||
this.clearButtonDisabled_ =
|
||||
this.getSelectedDataTypes_(tab as HTMLElement).length === 0;
|
||||
@@ -503,7 +503,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1426,6 +1426,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1432,6 +1432,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_CLEAR_BROWSING_DATA_BASIC_TAB_TITLE" desc="The title of the tab showing the basic clear browsing data options.">
|
||||
Basic
|
||||
</message>
|
||||
@@ -516,7 +516,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -1661,6 +1661,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
@@ -1674,6 +1674,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
|
||||
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
|
||||
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
|
||||
@@ -686,7 +686,7 @@ diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_da
|
||||
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
|
||||
--- a/content/browser/storage_partition_impl.cc
|
||||
+++ b/content/browser/storage_partition_impl.cc
|
||||
@@ -1553,6 +1553,7 @@ void StoragePartitionImpl::Initialize(
|
||||
@@ -1488,6 +1488,7 @@ void StoragePartitionImpl::Initialize(
|
||||
.AppendASCII("Code Cache");
|
||||
}
|
||||
DCHECK_GE(settings.size_in_bytes(), 0);
|
||||
|
||||
@@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||
@@ -266,6 +266,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||
@@ -273,6 +273,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||
mTab.loadUrl(loadUrlParams);
|
||||
}
|
||||
|
||||
@@ -158,7 +158,7 @@ diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/con
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -288,6 +288,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -280,6 +280,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kTabGroupParityAndroid,
|
||||
&kTabletTabSwitcherLongPressMenu,
|
||||
&kTabletToolbarIncognitoStatus,
|
||||
@@ -169,8 +169,8 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -338,6 +338,8 @@ public abstract class ChromeFeatureList {
|
||||
public static final String NEW_TAB_SEARCH_ENGINE_URL_ANDROID = "NewTabSearchEngineUrlAndroid";
|
||||
@@ -342,6 +342,8 @@ public abstract class ChromeFeatureList {
|
||||
public static final String NOTIFICATION_ONE_TAP_UNSUBSCRIBE = "NotificationOneTapUnsubscribe";
|
||||
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
|
||||
"MoveTopToolbarToBottom";
|
||||
+ public static final String SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS =
|
||||
@@ -178,7 +178,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
|
||||
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
|
||||
"NotificationPermissionBottomSheet";
|
||||
@@ -606,6 +608,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -619,6 +621,8 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
|
||||
public static final CachedFlag sMoveTopToolbarToBottom =
|
||||
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
||||
@@ -187,7 +187,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final CachedFlag sOmniboxModernizeVisualUpdate =
|
||||
newCachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, true);
|
||||
public static final CachedFlag sOptimizationGuidePushNotifications =
|
||||
@@ -741,6 +745,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -771,6 +775,7 @@ public abstract class ChromeFeatureList {
|
||||
sTabWindowManagerReportIndicesMismatch,
|
||||
sToolbarUseHardwareBitmapDraw,
|
||||
sUseChimeAndroidSdk,
|
||||
@@ -198,7 +198,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1632,6 +1632,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1638,6 +1638,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_MOVE_TOOLBAR_BOTTOM_SUMMARY" desc="Summary of the preference that allows the user to move toolbar on bottom.">
|
||||
Move toolbar to bottom
|
||||
</message>
|
||||
@@ -211,7 +211,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
|
||||
<!-- Safety check -->
|
||||
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
|
||||
@@ -2701,6 +2707,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -2779,6 +2785,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
|
||||
Open in new Chrome tab
|
||||
</message>
|
||||
@@ -371,7 +371,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
||||
event.SetDefaultHandled();
|
||||
|
||||
LocalDOMWindow* window = GetDocument().domWindow();
|
||||
@@ -659,13 +680,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
||||
@@ -656,13 +677,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -389,7 +389,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
||||
// We distinguish single/double click with some modifiers.
|
||||
// See the comment of `EventHandler.delayed_navigation_task_handle_`.
|
||||
auto task_handle = PostDelayedCancellableTask(
|
||||
@@ -675,7 +695,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
||||
@@ -672,7 +692,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
||||
frame->GetEventHandler().SetDelayedNavigationTaskHandle(
|
||||
std::move(task_handle));
|
||||
} else {
|
||||
@@ -433,7 +433,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_
|
||||
diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_party/blink/renderer/core/html/html_image_element.cc
|
||||
--- a/third_party/blink/renderer/core/html/html_image_element.cc
|
||||
+++ b/third_party/blink/renderer/core/html/html_image_element.cc
|
||||
@@ -36,6 +36,7 @@
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "third_party/blink/renderer/core/dom/events/event_dispatch_forbidden_scope.h"
|
||||
#include "third_party/blink/renderer/core/dom/node_traversal.h"
|
||||
#include "third_party/blink/renderer/core/dom/shadow_root.h"
|
||||
@@ -441,7 +441,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
|
||||
#include "third_party/blink/renderer/core/frame/attribution_src_loader.h"
|
||||
#include "third_party/blink/renderer/core/frame/deprecation/deprecation.h"
|
||||
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
|
||||
@@ -64,6 +65,7 @@
|
||||
@@ -65,6 +66,7 @@
|
||||
#include "third_party/blink/renderer/core/media_type_names.h"
|
||||
#include "third_party/blink/renderer/core/page/chrome_client.h"
|
||||
#include "third_party/blink/renderer/core/page/page.h"
|
||||
@@ -449,7 +449,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
|
||||
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
|
||||
#include "third_party/blink/renderer/core/probe/core_probes.h"
|
||||
#include "third_party/blink/renderer/core/resize_observer/resize_observer_entry.h"
|
||||
@@ -802,6 +804,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
|
||||
@@ -803,6 +805,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -486,7 +486,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_p
|
||||
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||
@@ -234,14 +234,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
|
||||
@@ -225,14 +225,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -506,7 +506,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
||||
mouse_event->SetDefaultHandled();
|
||||
}
|
||||
|
||||
@@ -459,7 +461,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
|
||||
@@ -450,7 +452,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
|
||||
bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
const PhysicalOffset& point,
|
||||
WebMenuSourceType source_type,
|
||||
@@ -516,7 +516,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
||||
// Displaying the context menu in this function is a big hack as we don't
|
||||
// have context, i.e. whether this is being invoked via a script or in
|
||||
// response to user input (Mouse event WM_RBUTTONDOWN,
|
||||
@@ -482,6 +485,15 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
@@ -473,6 +476,15 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
if (!result.InnerNodeOrImageMapImage())
|
||||
return false;
|
||||
|
||||
@@ -532,7 +532,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
||||
// Clear any previously set cached results if we are resetting the hit test
|
||||
// result.
|
||||
image_selection_cached_result_ = nullptr;
|
||||
@@ -840,11 +852,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
@@ -831,11 +843,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
SetAutofillData(result.InnerNode(), data);
|
||||
SetPasswordManagerData(result.InnerElement(), data);
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
|
||||
diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components/feature_engagement/internal/tracker_impl.cc
|
||||
--- a/components/feature_engagement/internal/tracker_impl.cc
|
||||
+++ b/components/feature_engagement/internal/tracker_impl.cc
|
||||
@@ -22,6 +22,7 @@
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "base/task/single_thread_task_runner.h"
|
||||
#include "base/time/clock.h"
|
||||
#include "build/build_config.h"
|
||||
@@ -76,7 +76,7 @@ diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components
|
||||
#include "components/feature_engagement/internal/availability_model_impl.h"
|
||||
#include "components/feature_engagement/internal/blocked_iph_features.h"
|
||||
#include "components/feature_engagement/internal/chrome_variations_configuration.h"
|
||||
@@ -207,6 +208,8 @@ TrackerImpl::TrackerImpl(
|
||||
@@ -211,6 +212,8 @@ TrackerImpl::TrackerImpl(
|
||||
TrackerImpl::~TrackerImpl() = default;
|
||||
|
||||
void TrackerImpl::NotifyEvent(const std::string& event) {
|
||||
@@ -96,7 +96,7 @@ diff --git a/components/feature_engagement/public/feature_configurations.cc b/co
|
||||
#include "components/feature_engagement/public/configuration.h"
|
||||
#include "components/feature_engagement/public/event_constants.h"
|
||||
#include "components/feature_engagement/public/feature_constants.h"
|
||||
@@ -66,6 +67,12 @@ absl::optional<FeatureConfig> GetClientSideFeatureConfig(
|
||||
@@ -111,6 +112,12 @@ std::optional<FeatureConfig> GetClientSideFeatureConfig(
|
||||
}
|
||||
|
||||
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
|
||||
|
||||
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
@@ -83,6 +83,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment;
|
||||
@@ -86,6 +86,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment;
|
||||
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
|
||||
import org.chromium.components.browser_ui.settings.PaddedItemDecorationWithDivider;
|
||||
import org.chromium.components.browser_ui.settings.SettingsLauncher;
|
||||
@@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment;
|
||||
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
||||
import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
|
||||
@@ -453,8 +454,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -457,8 +458,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
finish();
|
||||
return true;
|
||||
} else if (item.getItemId() == R.id.menu_id_general_help) {
|
||||
|
||||
@@ -84,7 +84,7 @@ Enabled by default
|
||||
diff --git a/DEPS b/DEPS
|
||||
--- a/DEPS
|
||||
+++ b/DEPS
|
||||
@@ -487,6 +487,10 @@ vars = {
|
||||
@@ -489,6 +489,10 @@ vars = {
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling feed
|
||||
# and whatever else without interference from each other.
|
||||
@@ -95,7 +95,7 @@ diff --git a/DEPS b/DEPS
|
||||
'highway_revision': '8f20644eca693cfb74aa795b0006b6779c370e7a',
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling ffmpeg
|
||||
@@ -1105,6 +1109,9 @@ deps = {
|
||||
@@ -1107,6 +1111,9 @@ deps = {
|
||||
'src/third_party/dawn':
|
||||
Var('dawn_git') + '/dawn.git' + '@' + Var('dawn_revision'),
|
||||
|
||||
@@ -375,7 +375,7 @@ diff --git a/net/base/mime_util_unittest.cc b/net/base/mime_util_unittest.cc
|
||||
diff --git a/third_party/.gitignore b/third_party/.gitignore
|
||||
--- a/third_party/.gitignore
|
||||
+++ b/third_party/.gitignore
|
||||
@@ -91,6 +91,7 @@
|
||||
@@ -90,6 +90,7 @@
|
||||
/libgifcodec
|
||||
/libjingle/source
|
||||
/libupnp
|
||||
@@ -467,7 +467,7 @@ diff --git a/third_party/blink/common/mime_util/mime_util_unittest.cc b/third_pa
|
||||
diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
|
||||
--- a/third_party/blink/public/devtools_protocol/browser_protocol.pdl
|
||||
+++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
|
||||
@@ -4258,6 +4258,7 @@ domain Emulation
|
||||
@@ -4294,6 +4294,7 @@ domain Emulation
|
||||
experimental type DisabledImageType extends string
|
||||
enum
|
||||
avif
|
||||
@@ -608,7 +608,7 @@ diff --git a/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.c
|
||||
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
||||
--- a/third_party/blink/renderer/platform/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
||||
@@ -2277,6 +2277,10 @@ source_set("blink_platform_unittests_sources") {
|
||||
@@ -2280,6 +2280,10 @@ source_set("blink_platform_unittests_sources") {
|
||||
sources += [ "text/locale_icu_test.cc" ]
|
||||
}
|
||||
|
||||
@@ -619,7 +619,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
|
||||
sources += [ "testing/run_all_tests.cc" ]
|
||||
|
||||
configs += [
|
||||
@@ -2320,6 +2324,7 @@ source_set("blink_platform_unittests_sources") {
|
||||
@@ -2323,6 +2327,7 @@ source_set("blink_platform_unittests_sources") {
|
||||
"//third_party/blink/renderer/platform/scheduler:unit_tests",
|
||||
"//third_party/blink/renderer/platform/wtf",
|
||||
"//third_party/libavif:libavif",
|
||||
@@ -677,7 +677,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h
|
||||
diff --git a/third_party/blink/renderer/platform/image-decoders/BUILD.gn b/third_party/blink/renderer/platform/image-decoders/BUILD.gn
|
||||
--- a/third_party/blink/renderer/platform/image-decoders/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/image-decoders/BUILD.gn
|
||||
@@ -70,6 +70,15 @@ component("image_decoders") {
|
||||
@@ -72,6 +72,15 @@ component("image_decoders") {
|
||||
"//third_party/libyuv",
|
||||
]
|
||||
|
||||
@@ -2211,18 +2211,18 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/tools/commit_stats/git-dirs.txt b/third_party/blink/tools/commit_stats/git-dirs.txt
|
||||
--- a/third_party/blink/tools/commit_stats/git-dirs.txt
|
||||
+++ b/third_party/blink/tools/commit_stats/git-dirs.txt
|
||||
@@ -75,6 +75,7 @@
|
||||
@@ -34,6 +34,7 @@
|
||||
./third_party/angle/third_party/rapidjson/src,ANGLE
|
||||
./third_party/angle/third_party/VK-GL-CTS/src,ANGLE
|
||||
./third_party/angle/third_party/glmark2/src,ANGLE
|
||||
./third_party/openh264/src,OpenH264
|
||||
./third_party/googletest/src,GoogleTest
|
||||
+./third_party/libjxl/src,libjxl
|
||||
./third_party/highway/src,highway
|
||||
./third_party/wuffs/src,wuffs
|
||||
./third_party/catapult,catapult
|
||||
./third_party/libwebm/source,libwebm
|
||||
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
|
||||
--- a/third_party/blink/web_tests/TestExpectations
|
||||
+++ b/third_party/blink/web_tests/TestExpectations
|
||||
@@ -4569,6 +4569,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai
|
||||
@@ -4559,6 +4559,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai
|
||||
# Started failing after rolling new version of check-layout-th.js
|
||||
css3/flexbox/perpendicular-writing-modes-inside-flex-item.html [ Failure ]
|
||||
|
||||
@@ -2653,7 +2653,7 @@ new file mode 100644
|
||||
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
|
||||
--- a/tools/metrics/histograms/enums.xml
|
||||
+++ b/tools/metrics/histograms/enums.xml
|
||||
@@ -23861,6 +23861,7 @@ from previous Chrome versions.
|
||||
@@ -21104,6 +21104,7 @@ from previous Chrome versions.
|
||||
<int value="188610022" label="NewMessageListView:enabled"/>
|
||||
<int value="189728101" label="FasterLocationReload:disabled"/>
|
||||
<int value="189777537" label="DisableInitialMostVisitedFadeIn:enabled"/>
|
||||
|
||||
@@ -218,7 +218,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
|
||||
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
||||
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
||||
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
||||
@@ -310,6 +310,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
|
||||
@@ -311,6 +311,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,7 +232,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
|
||||
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
|
||||
base::AutoLock locker(WebGLContextLimitLock());
|
||||
DCHECK(webgl_context_limits_initialized_);
|
||||
@@ -583,25 +590,6 @@ static String ExtractWebGLContextCreationError(
|
||||
@@ -584,25 +591,6 @@ static String ExtractWebGLContextCreationError(
|
||||
const Platform::GraphicsInfo& info) {
|
||||
StringBuilder builder;
|
||||
builder.Append("Could not create a WebGL context");
|
||||
@@ -258,7 +258,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
|
||||
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
|
||||
builder);
|
||||
builder.Append('.');
|
||||
@@ -661,6 +649,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
|
||||
@@ -662,6 +650,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
|
||||
const CanvasContextCreationAttributesCore& attributes,
|
||||
Platform::ContextType context_type,
|
||||
Platform::GraphicsInfo* graphics_info) {
|
||||
@@ -274,7 +274,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
|
||||
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
||||
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
||||
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
||||
@@ -1959,6 +1959,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
|
||||
@@ -1960,6 +1960,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
|
||||
DOMArrayBufferView* pixels,
|
||||
int64_t offset);
|
||||
|
||||
|
||||
@@ -187,15 +187,15 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "third_party/blink/public/common/peerconnection/webrtc_ip_handling_policy.h"
|
||||
@@ -41,6 +41,7 @@
|
||||
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
||||
#include "third_party/blink/public/platform/platform.h"
|
||||
#include "third_party/blink/public/platform/task_type.h"
|
||||
+#include "third_party/blink/public/platform/web_content_settings_client.h"
|
||||
#include "third_party/blink/public/platform/web_url.h"
|
||||
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
|
||||
#include "third_party/blink/public/web/web_document.h"
|
||||
@@ -807,6 +808,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
|
||||
@@ -847,6 +848,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
|
||||
// origin.
|
||||
WebRTCIPHandlingPolicy policy =
|
||||
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);
|
||||
|
||||
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
|
||||
--- a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
|
||||
+++ b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
|
||||
@@ -367,6 +367,13 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow(
|
||||
@@ -368,6 +368,13 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow(
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chr
|
||||
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
|
||||
--- a/content/browser/devtools/protocol/network_handler.cc
|
||||
+++ b/content/browser/devtools/protocol/network_handler.cc
|
||||
@@ -1326,6 +1326,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
|
||||
@@ -1400,6 +1400,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
|
||||
std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
|
||||
std::vector<GURL> urls;
|
||||
frame_host->ForEachRenderFrameHostWithAction(
|
||||
@@ -1339,6 +1340,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
|
||||
@@ -1413,6 +1414,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
|
||||
});
|
||||
return urls;
|
||||
}
|
||||
@@ -201,7 +201,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -13726,12 +13726,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
|
||||
@@ -13787,12 +13787,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
|
||||
base::Value::Dict body;
|
||||
if (!reason.empty())
|
||||
body.Set("reason", reason);
|
||||
@@ -254,7 +254,7 @@ new file mode 100644
|
||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
--- a/net/base/features.cc
|
||||
+++ b/net/base/features.cc
|
||||
@@ -215,6 +215,7 @@ extern const base::FeatureParam<base::TimeDelta> kTimeoutTcpConnectAttemptMax(
|
||||
@@ -229,6 +229,7 @@ extern const base::FeatureParam<base::TimeDelta> kTimeoutTcpConnectAttemptMax(
|
||||
base::Seconds(30));
|
||||
|
||||
#if BUILDFLAG(ENABLE_REPORTING)
|
||||
@@ -282,9 +282,9 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -464,10 +464,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
const absl::optional<base::UnguessableToken>& reporting_source,
|
||||
const std::optional<base::UnguessableToken>& reporting_source,
|
||||
const net::NetworkAnonymizationKey& network_anonymization_key,
|
||||
const absl::optional<std::string>& user_agent,
|
||||
const std::optional<std::string>& user_agent,
|
||||
- base::Value::Dict body) override;
|
||||
+ base::Value::Dict body);
|
||||
void QueueSignedExchangeReport(
|
||||
@@ -297,7 +297,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
|
||||
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
|
||||
--- a/services/network/public/mojom/BUILD.gn
|
||||
+++ b/services/network/public/mojom/BUILD.gn
|
||||
@@ -1439,7 +1439,6 @@ mojom("mojom") {
|
||||
@@ -1443,7 +1443,6 @@ mojom("mojom") {
|
||||
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
|
||||
export_header_blink = "third_party/blink/public/platform/web_common.h"
|
||||
if (enable_reporting) {
|
||||
@@ -308,7 +308,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo
|
||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1223,6 +1223,7 @@ interface NetworkContext {
|
||||
@@ -1206,6 +1206,7 @@ interface NetworkContext {
|
||||
// provided |network_isolation_key|.
|
||||
//
|
||||
// Spec: https://w3c.github.io/reporting/#concept-reports
|
||||
@@ -316,7 +316,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
|
||||
QueueReport(string type,
|
||||
string group,
|
||||
url.mojom.Url url,
|
||||
@@ -1236,6 +1237,7 @@ interface NetworkContext {
|
||||
@@ -1219,6 +1220,7 @@ interface NetworkContext {
|
||||
// Note that this queued report will never be delivered if no reporting
|
||||
// endpoint matching is registered for with the provided
|
||||
// |network_isolation_key|.
|
||||
@@ -327,15 +327,15 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
|
||||
diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.cc b/third_party/blink/renderer/core/frame/csp/content_security_policy.cc
|
||||
--- a/third_party/blink/renderer/core/frame/csp/content_security_policy.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/csp/content_security_policy.cc
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <memory>
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <optional>
|
||||
#include <utility>
|
||||
|
||||
+#include "net/net_buildflags.h"
|
||||
#include "base/containers/contains.h"
|
||||
#include "base/debug/dump_without_crashing.h"
|
||||
#include "services/network/public/cpp/web_sandbox_flags.h"
|
||||
@@ -1166,6 +1167,7 @@ void ContentSecurityPolicy::ReportViolation(
|
||||
#include "base/ranges/algorithm.h"
|
||||
@@ -1167,6 +1168,7 @@ void ContentSecurityPolicy::ReportViolation(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -343,7 +343,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c
|
||||
PostViolationReport(violation_data, context_frame, report_endpoints,
|
||||
use_reporting_api);
|
||||
|
||||
@@ -1173,6 +1175,7 @@ void ContentSecurityPolicy::ReportViolation(
|
||||
@@ -1174,6 +1176,7 @@ void ContentSecurityPolicy::ReportViolation(
|
||||
// `context_frame` (i.e. we're not processing 'frame-ancestors').
|
||||
if (delegate_ && !context_frame)
|
||||
delegate_->DispatchViolationEvent(*violation_data, element);
|
||||
@@ -362,7 +362,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
||||
#include "services/network/public/cpp/features.h"
|
||||
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
|
||||
#include "services/network/public/mojom/source_location.mojom-blink.h"
|
||||
@@ -2601,9 +2602,11 @@ void LocalFrame::MainFrameInteractive() {
|
||||
@@ -2619,9 +2620,11 @@ void LocalFrame::MainFrameInteractive() {
|
||||
v8_local_compile_hints_producer_->GenerateData();
|
||||
}
|
||||
|
||||
@@ -372,20 +372,20 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
||||
}
|
||||
+#endif
|
||||
|
||||
device::mojom::blink::DevicePostureProvider*
|
||||
LocalFrame::GetDevicePostureProvider() {
|
||||
mojom::blink::DevicePostureProvider* LocalFrame::GetDevicePostureProvider() {
|
||||
return mojo_handler_->DevicePostureProvider();
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.h
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
@@ -38,6 +38,7 @@
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "base/time/time.h"
|
||||
#include "base/unguessable_token.h"
|
||||
#include "build/build_config.h"
|
||||
+#include "net/net_buildflags.h"
|
||||
#include "mojo/public/cpp/bindings/pending_associated_receiver.h"
|
||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||
+#include "net/net_buildflags.h"
|
||||
#include "services/device/public/mojom/device_posture_provider.mojom-blink-forward.h"
|
||||
#include "services/metrics/public/cpp/ukm_source_id.h"
|
||||
#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
|
||||
@@ -655,8 +656,9 @@ class CORE_EXPORT LocalFrame final
|
||||
@@ -657,8 +658,9 @@ class CORE_EXPORT LocalFrame final
|
||||
void FinishedScrollSequence();
|
||||
|
||||
SmoothScrollSequencer* GetSmoothScrollSequencer() const;
|
||||
@@ -393,7 +393,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
mojom::blink::ReportingServiceProxy* GetReportingService();
|
||||
+#endif
|
||||
device::mojom::blink::DevicePostureProvider* GetDevicePostureProvider();
|
||||
mojom::blink::DevicePostureProvider* GetDevicePostureProvider();
|
||||
|
||||
// Returns the frame host ptr. The interface returned is backed by an
|
||||
diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_party/blink/renderer/core/frame/reporting_context.cc
|
||||
|
||||
@@ -4,27 +4,27 @@ Subject: Allow building without supervised users
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/android/BUILD.gn | 1 -
|
||||
chrome/android/chrome_java_sources.gni | 1 -
|
||||
.../chrome/browser/feed/FeedSurfaceCoordinator.java | 5 +----
|
||||
chrome/browser/BUILD.gn | 6 ------
|
||||
.../extensions/api/settings_private/prefs_util.cc | 2 ++
|
||||
chrome/browser/profiles/profile_impl.cc | 4 ++++
|
||||
chrome/browser/profiles/profile_manager.cc | 4 ++++
|
||||
chrome/browser/ui/webui/managed_ui_handler.cc | 2 ++
|
||||
.../browser/ui/webui/management/management_ui_handler.cc | 2 ++
|
||||
components/supervised_user/buildflags.gni | 6 +-----
|
||||
.../core/browser/supervised_user_preferences.cc | 2 +-
|
||||
components/supervised_user/core/common/features.cc | 1 +
|
||||
components/supervised_user/core/common/pref_names.h | 4 ++++
|
||||
.../core/common/supervised_user_constants.cc | 2 ++
|
||||
.../supervised_user/core/common/supervised_user_utils.cc | 9 ++++++---
|
||||
15 files changed, 30 insertions(+), 21 deletions(-)
|
||||
chrome/android/BUILD.gn | 1 -
|
||||
chrome/android/chrome_java_sources.gni | 1 -
|
||||
.../chrome/browser/feed/FeedSurfaceCoordinator.java | 5 +----
|
||||
chrome/browser/BUILD.gn | 6 ------
|
||||
.../browser/extensions/api/settings_private/prefs_util.cc | 2 ++
|
||||
chrome/browser/profiles/profile_impl.cc | 4 ++++
|
||||
chrome/browser/profiles/profile_manager.cc | 4 ++++
|
||||
chrome/browser/ui/webui/managed_ui_handler.cc | 2 ++
|
||||
chrome/browser/ui/webui/management/management_ui_handler.cc | 2 ++
|
||||
components/supervised_user/buildflags.gni | 6 +-----
|
||||
.../core/browser/supervised_user_preferences.cc | 2 +-
|
||||
.../supervised_user/core/browser/supervised_user_utils.cc | 4 ++++
|
||||
components/supervised_user/core/common/features.cc | 1 +
|
||||
components/supervised_user/core/common/pref_names.h | 4 ++++
|
||||
.../core/common/supervised_user_constants.cc | 2 ++
|
||||
15 files changed, 28 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -3691,7 +3691,6 @@ generate_jni("chrome_jni_headers") {
|
||||
@@ -3697,7 +3697,6 @@ generate_jni("chrome_jni_headers") {
|
||||
"java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java",
|
||||
"java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSites.java",
|
||||
"java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java",
|
||||
@@ -35,7 +35,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -1075,7 +1075,6 @@ chrome_java_sources = [
|
||||
@@ -1085,7 +1085,6 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/suggestions/tile/TileGroupDelegateImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java",
|
||||
"java/src/org/chromium/chrome/browser/suggestions/tile/TopSitesTileView.java",
|
||||
@@ -68,7 +68,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3147,8 +3147,6 @@ static_library("browser") {
|
||||
@@ -3165,8 +3165,6 @@ static_library("browser") {
|
||||
"feed/android/refresh_task_scheduler_impl.cc",
|
||||
"feed/android/refresh_task_scheduler_impl.h",
|
||||
"feed/android/web_feed_bridge.cc",
|
||||
@@ -77,7 +77,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"file_select_helper_contacts_android.cc",
|
||||
"file_select_helper_contacts_android.h",
|
||||
"first_run/android/first_run_prefs.cc",
|
||||
@@ -3354,10 +3352,6 @@ static_library("browser") {
|
||||
@@ -3371,10 +3369,6 @@ static_library("browser") {
|
||||
"ssl/chrome_security_state_model_delegate.h",
|
||||
"ssl/known_interception_disclosure_infobar.cc",
|
||||
"ssl/known_interception_disclosure_infobar.h",
|
||||
@@ -91,7 +91,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||
@@ -999,9 +999,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||
@@ -1024,9 +1024,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||
settings_api::PrefType::kBoolean;
|
||||
#endif
|
||||
|
||||
@@ -106,7 +106,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
|
||||
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
||||
--- a/chrome/browser/profiles/profile_impl.cc
|
||||
+++ b/chrome/browser/profiles/profile_impl.cc
|
||||
@@ -683,10 +683,12 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) {
|
||||
@@ -689,10 +689,12 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) {
|
||||
prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_);
|
||||
|
||||
pref_change_registrar_.Init(prefs);
|
||||
@@ -119,7 +119,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
|
||||
|
||||
// Changes in the profile avatar.
|
||||
pref_change_registrar_.Add(
|
||||
@@ -1614,11 +1616,13 @@ GURL ProfileImpl::GetHomePage() {
|
||||
@@ -1627,11 +1629,13 @@ GURL ProfileImpl::GetHomePage() {
|
||||
}
|
||||
|
||||
void ProfileImpl::UpdateSupervisedUserIdInStorage() {
|
||||
@@ -136,7 +136,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
|
||||
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
|
||||
--- a/chrome/browser/profiles/profile_manager.cc
|
||||
+++ b/chrome/browser/profiles/profile_manager.cc
|
||||
@@ -1223,6 +1223,7 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
|
||||
@@ -1215,6 +1215,7 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
|
||||
profile->GetPrefs()->SetString(prefs::kProfileName, profile_name);
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
|
||||
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
||||
bool force_supervised_user_id =
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
@@ -1244,6 +1245,7 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
|
||||
@@ -1236,6 +1237,7 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
|
||||
profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
|
||||
supervised_user_id);
|
||||
}
|
||||
@@ -152,7 +152,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
if (profile->IsNewProfile()) {
|
||||
profile->GetPrefs()->SetBoolean(prefs::kHasSeenWelcomePage, false);
|
||||
@@ -2051,8 +2053,10 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
|
||||
@@ -2035,8 +2037,10 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
|
||||
init_params.icon_index =
|
||||
profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex);
|
||||
|
||||
@@ -220,10 +220,29 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences
|
||||
}
|
||||
|
||||
bool IsSafeSitesEnabled(const PrefService& pref_service) {
|
||||
diff --git a/components/supervised_user/core/browser/supervised_user_utils.cc b/components/supervised_user/core/browser/supervised_user_utils.cc
|
||||
--- a/components/supervised_user/core/browser/supervised_user_utils.cc
|
||||
+++ b/components/supervised_user/core/browser/supervised_user_utils.cc
|
||||
@@ -81,11 +81,15 @@ GURL NormalizeUrl(const GURL& url) {
|
||||
}
|
||||
|
||||
bool AreWebFilterPrefsDefault(const PrefService& pref_service) {
|
||||
+#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
|
||||
return pref_service
|
||||
.FindPreference(prefs::kDefaultSupervisedUserFilteringBehavior)
|
||||
->IsDefaultValue() ||
|
||||
pref_service.FindPreference(prefs::kSupervisedUserSafeSites)
|
||||
->IsDefaultValue();
|
||||
+#else
|
||||
+ return true;
|
||||
+#endif
|
||||
}
|
||||
|
||||
bool EmitLogRecordHistograms(
|
||||
diff --git a/components/supervised_user/core/common/features.cc b/components/supervised_user/core/common/features.cc
|
||||
--- a/components/supervised_user/core/common/features.cc
|
||||
+++ b/components/supervised_user/core/common/features.cc
|
||||
@@ -174,4 +174,5 @@ bool IsShadowKidsApiWithSafeSitesEnabled() {
|
||||
@@ -163,4 +163,5 @@ bool IsShadowKidsApiWithSafeSitesEnabled() {
|
||||
return base::FeatureList::IsEnabled(kShadowKidsApiWithSafeSites);
|
||||
}
|
||||
|
||||
@@ -243,7 +262,7 @@ diff --git a/components/supervised_user/core/common/pref_names.h b/components/su
|
||||
namespace prefs {
|
||||
|
||||
// A bool pref that keeps whether the child status for this profile was already
|
||||
@@ -124,4 +126,6 @@ inline constexpr char kFirstTimeInterstitialBannerState[] =
|
||||
@@ -132,4 +134,6 @@ inline constexpr char kFirstTimeInterstitialBannerState[] =
|
||||
|
||||
} // namespace prefs
|
||||
|
||||
@@ -253,7 +272,7 @@ diff --git a/components/supervised_user/core/common/pref_names.h b/components/su
|
||||
diff --git a/components/supervised_user/core/common/supervised_user_constants.cc b/components/supervised_user/core/common/supervised_user_constants.cc
|
||||
--- a/components/supervised_user/core/common/supervised_user_constants.cc
|
||||
+++ b/components/supervised_user/core/common/supervised_user_constants.cc
|
||||
@@ -68,6 +68,7 @@ const char kChromeOSAvatarIndex[] = "chromeos-avatar-index";
|
||||
@@ -70,6 +70,7 @@ const char kChromeOSAvatarIndex[] = "chromeos-avatar-index";
|
||||
|
||||
const char kChromeOSPasswordData[] = "chromeos-password-data";
|
||||
|
||||
@@ -261,7 +280,7 @@ diff --git a/components/supervised_user/core/common/supervised_user_constants.cc
|
||||
const char* const kCustodianInfoPrefs[] = {
|
||||
prefs::kSupervisedUserCustodianName,
|
||||
prefs::kSupervisedUserCustodianEmail,
|
||||
@@ -80,6 +81,7 @@ const char* const kCustodianInfoPrefs[] = {
|
||||
@@ -82,6 +83,7 @@ const char* const kCustodianInfoPrefs[] = {
|
||||
prefs::kSupervisedUserSecondCustodianProfileURL,
|
||||
prefs::kSupervisedUserSecondCustodianProfileImageURL,
|
||||
};
|
||||
@@ -269,25 +288,4 @@ diff --git a/components/supervised_user/core/common/supervised_user_constants.cc
|
||||
|
||||
const base::FilePath::CharType kSupervisedUserSettingsFilename[] =
|
||||
FILE_PATH_LITERAL("Managed Mode Settings");
|
||||
diff --git a/components/supervised_user/core/common/supervised_user_utils.cc b/components/supervised_user/core/common/supervised_user_utils.cc
|
||||
--- a/components/supervised_user/core/common/supervised_user_utils.cc
|
||||
+++ b/components/supervised_user/core/common/supervised_user_utils.cc
|
||||
@@ -52,11 +52,14 @@ GURL NormalizeUrl(const GURL& url) {
|
||||
}
|
||||
|
||||
bool AreWebFilterPrefsDefault(const PrefService& pref_service) {
|
||||
+#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
|
||||
return pref_service
|
||||
.FindPreference(prefs::kDefaultSupervisedUserFilteringBehavior)
|
||||
- ->IsDefaultValue() ||
|
||||
- pref_service.FindPreference(prefs::kSupervisedUserSafeSites)
|
||||
- ->IsDefaultValue();
|
||||
+ kChildAccountSUID &&
|
||||
+ IsChildAccountSupervisionEnabled();
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
}
|
||||
|
||||
absl::optional<LogSegment> SupervisionStatusForUser(
|
||||
--
|
||||
|
||||
@@ -25,7 +25,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
|
||||
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
||||
import org.chromium.chrome.browser.tabmodel.document.ChromeAsyncTabLauncher;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
@@ -212,6 +214,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||
@@ -219,6 +221,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||
Referrer referrer,
|
||||
boolean navigateToTab,
|
||||
@Nullable AdditionalNavigationParams additionalNavigationParams) {
|
||||
@@ -33,7 +33,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
|
||||
RecordUserAction.record("MobileNewTabOpened");
|
||||
RecordUserAction.record("LinkOpenedInNewTab");
|
||||
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
|
||||
@@ -228,6 +231,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||
@@ -235,6 +238,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||
|
||||
@Override
|
||||
public void onOpenInNewTabInGroup(GURL url, Referrer referrer) {
|
||||
|
||||
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
--- a/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
+++ b/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
@@ -78,46 +78,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
|
||||
@@ -80,46 +80,28 @@ ScriptPromiseTyped<BatteryManager> BatteryManager::StartRequest(
|
||||
}
|
||||
|
||||
bool BatteryManager::charging() {
|
||||
|
||||
@@ -61,7 +61,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
|
||||
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||
@@ -85,6 +85,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
|
||||
@@ -86,6 +86,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
|
||||
|
||||
virtual SubresourceFilter* GetSubresourceFilter() const = 0;
|
||||
virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0;
|
||||
@@ -102,7 +102,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
|
||||
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
||||
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
||||
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
||||
@@ -176,6 +176,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
|
||||
@@ -177,6 +177,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
|
||||
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
|
||||
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
|
||||
override;
|
||||
@@ -277,22 +277,22 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
void WebSocketCommon::CloseInternal(int code,
|
||||
void WebSocketCommon::CloseInternal(std::optional<uint16_t> code,
|
||||
const String& reason,
|
||||
WebSocketChannel* channel,
|
||||
diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.h b/third_party/blink/renderer/modules/websockets/websocket_common.h
|
||||
--- a/third_party/blink/renderer/modules/websockets/websocket_common.h
|
||||
+++ b/third_party/blink/renderer/modules/websockets/websocket_common.h
|
||||
@@ -7,6 +7,8 @@
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_WEBSOCKETS_WEBSOCKET_COMMON_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_MODULES_WEBSOCKETS_WEBSOCKET_COMMON_H_
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include <optional>
|
||||
|
||||
+#include "services/network/public/mojom/ip_address_space.mojom.h"
|
||||
+#include "third_party/blink/renderer/platform/network/network_utils.h"
|
||||
#include "third_party/blink/renderer/modules/modules_export.h"
|
||||
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
|
||||
@@ -54,6 +56,8 @@ class MODULES_EXPORT WebSocketCommon {
|
||||
@@ -58,6 +60,8 @@ class MODULES_EXPORT WebSocketCommon {
|
||||
void SetState(State state) { state_ = state; }
|
||||
const KURL& Url() const { return url_; }
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
|
||||
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
|
||||
--- a/content/browser/child_process_security_policy_impl.cc
|
||||
+++ b/content/browser/child_process_security_policy_impl.cc
|
||||
@@ -841,6 +841,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
|
||||
@@ -849,6 +849,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
|
||||
RegisterPseudoScheme(url::kJavaScriptScheme);
|
||||
RegisterPseudoScheme(kViewSourceScheme);
|
||||
RegisterPseudoScheme(kGoogleChromeScheme);
|
||||
@@ -119,7 +119,7 @@ diff --git a/content/browser/child_process_security_policy_impl.cc b/content/bro
|
||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -990,6 +990,8 @@ component("net") {
|
||||
@@ -997,6 +997,8 @@ component("net") {
|
||||
"url_request/url_request_http_job.cc",
|
||||
"url_request/url_request_http_job.h",
|
||||
"url_request/url_request_interceptor.cc",
|
||||
@@ -228,15 +228,15 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
||||
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
|
||||
--- a/net/url_request/url_request_context_builder.cc
|
||||
+++ b/net/url_request/url_request_context_builder.cc
|
||||
@@ -47,6 +47,7 @@
|
||||
@@ -48,6 +48,7 @@
|
||||
#include "net/socket/network_binding_client_socket_factory.h"
|
||||
#include "net/ssl/ssl_config_service_defaults.h"
|
||||
#include "net/url_request/static_http_user_agent_settings.h"
|
||||
+#include "net/url_request/trk_protocol_handler.h"
|
||||
#include "net/url_request/url_request_context.h"
|
||||
#include "net/url_request/url_request_job_factory.h"
|
||||
#include "net/url_request/url_request_throttler_manager.h"
|
||||
@@ -565,6 +566,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
|
||||
#include "url/url_constants.h"
|
||||
@@ -559,6 +560,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
|
||||
job_factory->SetProtocolHandler(scheme_handler.first,
|
||||
std::move(scheme_handler.second));
|
||||
}
|
||||
|
||||
@@ -25,18 +25,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/endpoint_fetcher/BUILD.gn | 32 +++
|
||||
chrome/browser/endpoint_fetcher/DEPS | 3 +
|
||||
chrome/browser/endpoint_fetcher/OWNERS | 1 +
|
||||
.../endpoint_fetcher_android.cc | 183 ++++++++++++
|
||||
.../endpoint_fetcher_android.cc | 184 ++++++++++++
|
||||
.../endpoint_fetcher/EndpointFetcher.java | 165 +++++++++++
|
||||
.../EndpointHeaderResponse.java | 31 ++
|
||||
.../endpoint_fetcher/EndpointResponse.java | 30 ++
|
||||
.../flags/android/chrome_feature_list.cc | 1 +
|
||||
.../browser/flags/ChromeFeatureList.java | 1 +
|
||||
.../strings/android_chrome_strings.grd | 23 +-
|
||||
.../endpoint_fetcher/endpoint_fetcher.cc | 103 ++++++-
|
||||
.../endpoint_fetcher/endpoint_fetcher.cc | 101 ++++++-
|
||||
.../endpoint_fetcher/endpoint_fetcher.h | 23 +-
|
||||
.../Bromite-auto-updater.inc | 3 +
|
||||
.../Bromite-auto-updater.inc | 1 +
|
||||
28 files changed, 1269 insertions(+), 52 deletions(-)
|
||||
28 files changed, 1268 insertions(+), 52 deletions(-)
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
|
||||
@@ -65,7 +65,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j
|
||||
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
|
||||
--- a/build/config/android/rules.gni
|
||||
+++ b/build/config/android/rules.gni
|
||||
@@ -1910,6 +1910,9 @@ if (enable_java_templates && is_android) {
|
||||
@@ -1905,6 +1905,9 @@ if (enable_java_templates && is_android) {
|
||||
sources = [ "//build/android/java/templates/BuildConfig.template" ]
|
||||
defines = []
|
||||
|
||||
@@ -78,7 +78,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -875,6 +875,9 @@ chrome_java_sources = [
|
||||
@@ -883,6 +883,9 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java",
|
||||
"java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java",
|
||||
"java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java",
|
||||
@@ -1113,7 +1113,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3094,6 +3094,7 @@ static_library("browser") {
|
||||
@@ -3112,6 +3112,7 @@ static_library("browser") {
|
||||
"download/android/service/download_task_scheduler.h",
|
||||
"download/android/string_utils.cc",
|
||||
"download/download_crx_util_android.cc",
|
||||
@@ -1121,8 +1121,8 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"enterprise/reporting/browser_report_generator_android.cc",
|
||||
"enterprise/reporting/browser_report_generator_android.h",
|
||||
"enterprise/reporting/profile_report_generator_android.cc",
|
||||
@@ -3431,6 +3432,7 @@ static_library("browser") {
|
||||
"//chrome/browser/consent_auditor/android:jni_headers",
|
||||
@@ -3451,6 +3452,7 @@ static_library("browser") {
|
||||
"//chrome/browser/content_extraction/android:jni_headers",
|
||||
"//chrome/browser/device_reauth/android:jni_headers",
|
||||
"//chrome/browser/download/internal/android",
|
||||
+ "//chrome/browser/endpoint_fetcher:jni_headers",
|
||||
@@ -1184,7 +1184,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc b/chrom
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc
|
||||
@@ -0,0 +1,183 @@
|
||||
@@ -0,0 +1,184 @@
|
||||
+// Copyright 2019 The Chromium Authors
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
@@ -1264,7 +1264,7 @@ new file mode 100644
|
||||
+ GURL(base::android::ConvertJavaStringToUTF8(env, jurl)),
|
||||
+ base::android::ConvertJavaStringToUTF8(env, jhttps_method),
|
||||
+ base::android::ConvertJavaStringToUTF8(env, jcontent_type), scopes,
|
||||
+ jtimeout, base::android::ConvertJavaStringToUTF8(env, jpost_data),
|
||||
+ base::Milliseconds(jtimeout), base::android::ConvertJavaStringToUTF8(env, jpost_data),
|
||||
+ net::NetworkTrafficAnnotationTag::FromJavaAnnotation(
|
||||
+ jannotation_hash_code),
|
||||
+ IdentityManagerFactory::GetForProfile(
|
||||
@@ -1300,7 +1300,8 @@ new file mode 100644
|
||||
+ ->GetURLLoaderFactoryForBrowserProcess(),
|
||||
+ GURL(base::android::ConvertJavaStringToUTF8(env, jurl)),
|
||||
+ base::android::ConvertJavaStringToUTF8(env, jhttps_method),
|
||||
+ base::android::ConvertJavaStringToUTF8(env, jcontent_type), jtimeout,
|
||||
+ base::android::ConvertJavaStringToUTF8(env, jcontent_type),
|
||||
+ base::Milliseconds(jtimeout),
|
||||
+ base::android::ConvertJavaStringToUTF8(env, jpost_data), headers,
|
||||
+ net::NetworkTrafficAnnotationTag::FromJavaAnnotation(
|
||||
+ jannotation_hash_code),
|
||||
@@ -1612,7 +1613,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -234,6 +234,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -235,6 +235,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kPreconnectOnTabCreation,
|
||||
&kPriceChangeModule,
|
||||
&kPwaRestoreUi,
|
||||
@@ -1623,7 +1624,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -314,6 +314,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -315,6 +315,7 @@ public abstract class ChromeFeatureList {
|
||||
"IncognitoReauthenticationForAndroid";
|
||||
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
|
||||
public static final String INSTANT_START = "InstantStart";
|
||||
@@ -1634,7 +1635,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -2038,6 +2038,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -2050,6 +2050,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_DEPRECATION_WARNING" desc="Warning about Chrome updates no longer being supported">
|
||||
Chrome updates are no longer supported for this version of Android
|
||||
</message>
|
||||
@@ -1647,7 +1648,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
|
||||
<!-- Account management UI strings. -->
|
||||
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
|
||||
@@ -3663,7 +3669,10 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3732,7 +3738,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||
|
||||
<!-- Main menu items -->
|
||||
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
|
||||
@@ -1659,7 +1660,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_MENU_UPDATE_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that a newer version of Chrome is available. [CHAR_LIMIT=30]">
|
||||
Newer version is available
|
||||
@@ -3674,6 +3683,18 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3743,6 +3752,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||
<message name="IDS_MENU_UPDATE_UNSUPPORTED_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that the Android version on the device is unsupported. [CHAR_LIMIT=30]">
|
||||
Android version is unsupported
|
||||
</message>
|
||||
@@ -1681,7 +1682,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
|
||||
--- a/components/endpoint_fetcher/endpoint_fetcher.cc
|
||||
+++ b/components/endpoint_fetcher/endpoint_fetcher.cc
|
||||
@@ -18,6 +18,11 @@
|
||||
@@ -19,6 +19,11 @@
|
||||
#include "services/network/public/cpp/simple_url_loader.h"
|
||||
#include "services/network/public/mojom/url_response_head.mojom.h"
|
||||
|
||||
@@ -1693,46 +1694,46 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
namespace {
|
||||
const char kContentTypeKey[] = "Content-Type";
|
||||
const char kDeveloperKey[] = "X-Developer-Key";
|
||||
@@ -64,6 +69,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
@@ -65,6 +70,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
http_method_(http_method),
|
||||
content_type_(content_type),
|
||||
timeout_ms_(timeout_ms),
|
||||
timeout_(timeout),
|
||||
+ intercept_redirect_(false),
|
||||
post_data_(post_data),
|
||||
headers_(headers),
|
||||
annotation_tag_(annotation_tag),
|
||||
@@ -82,6 +88,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
@@ -83,6 +89,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
http_method_("GET"),
|
||||
content_type_(std::string()),
|
||||
timeout_ms_(0),
|
||||
timeout_(base::Milliseconds(0)),
|
||||
+ intercept_redirect_(false),
|
||||
post_data_(std::string()),
|
||||
annotation_tag_(annotation_tag),
|
||||
url_loader_factory_(url_loader_factory),
|
||||
@@ -107,6 +114,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
@@ -108,6 +115,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
http_method_(http_method),
|
||||
content_type_(content_type),
|
||||
timeout_ms_(timeout_ms),
|
||||
timeout_(timeout),
|
||||
+ intercept_redirect_(false),
|
||||
post_data_(post_data),
|
||||
annotation_tag_(annotation_tag),
|
||||
url_loader_factory_(url_loader_factory),
|
||||
@@ -134,6 +142,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
@@ -135,6 +143,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
http_method_(http_method),
|
||||
content_type_(content_type),
|
||||
timeout_ms_(timeout_ms),
|
||||
timeout_(timeout),
|
||||
+ intercept_redirect_(false),
|
||||
post_data_(post_data),
|
||||
headers_(headers),
|
||||
cors_exempt_headers_(cors_exempt_headers),
|
||||
@@ -146,11 +155,29 @@ EndpointFetcher::EndpointFetcher(
|
||||
@@ -147,11 +156,29 @@ EndpointFetcher::EndpointFetcher(
|
||||
EndpointFetcher::EndpointFetcher(
|
||||
const net::NetworkTrafficAnnotationTag& annotation_tag)
|
||||
: timeout_ms_(kDefaultTimeOutMs),
|
||||
: timeout_(kDefaultTimeOut),
|
||||
+ intercept_redirect_(false),
|
||||
annotation_tag_(annotation_tag),
|
||||
identity_manager_(nullptr),
|
||||
consent_level_(absl::nullopt),
|
||||
consent_level_(std::nullopt),
|
||||
sanitize_response_(true) {}
|
||||
|
||||
+// constructor used by Bromite
|
||||
@@ -1745,7 +1746,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
+ const net::NetworkTrafficAnnotationTag& annotation_tag)
|
||||
+ : url_(url),
|
||||
+ http_method_(http_method),
|
||||
+ timeout_ms_(timeout_ms),
|
||||
+ timeout_(base::Milliseconds(timeout_ms)),
|
||||
+ intercept_redirect_(intercept_redirect),
|
||||
+ annotation_tag_(annotation_tag),
|
||||
+ url_loader_factory_(url_loader_factory),
|
||||
@@ -1755,7 +1756,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
EndpointFetcher::~EndpointFetcher() = default;
|
||||
|
||||
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
|
||||
@@ -209,6 +236,8 @@ void EndpointFetcher::PerformRequest(
|
||||
@@ -210,6 +237,8 @@ void EndpointFetcher::PerformRequest(
|
||||
resource_request->method = http_method_;
|
||||
resource_request->url = url_;
|
||||
resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
|
||||
@@ -1764,7 +1765,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
|
||||
resource_request->headers.SetHeader(kContentTypeKey, content_type_);
|
||||
}
|
||||
@@ -239,25 +268,52 @@ void EndpointFetcher::PerformRequest(
|
||||
@@ -240,25 +269,50 @@ void EndpointFetcher::PerformRequest(
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1778,13 +1779,12 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
// callback
|
||||
simple_url_loader_ = network::SimpleURLLoader::Create(
|
||||
std::move(resource_request), annotation_tag_);
|
||||
+ simple_url_loader_->SetTimeoutDuration(base::Milliseconds(timeout_ms_));
|
||||
+ simple_url_loader_->SetTimeoutDuration(timeout_);
|
||||
+ simple_url_loader_->SetAllowHttpErrorResults(true);
|
||||
+
|
||||
+ if (!response_) {
|
||||
+ //RFC: what is this for?
|
||||
+ if (!response_)
|
||||
+ response_ = std::make_unique<EndpointResponse>();
|
||||
+ }
|
||||
+
|
||||
+ if (intercept_redirect_ == true) {
|
||||
+ // use a callback to capture landing page URL
|
||||
+ simple_url_loader_->SetOnRedirectCallback(base::BindRepeating(
|
||||
@@ -1796,10 +1796,9 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
}
|
||||
simple_url_loader_->SetRetryOptions(kNumRetries,
|
||||
network::SimpleURLLoader::RETRY_ON_5XX);
|
||||
- simple_url_loader_->SetTimeoutDuration(base::Milliseconds(timeout_ms_));
|
||||
- simple_url_loader_->SetTimeoutDuration(timeout_);
|
||||
- simple_url_loader_->SetAllowHttpErrorResults(true);
|
||||
- network::SimpleURLLoader::BodyAsStringCallbackDeprecated
|
||||
+
|
||||
+ LOG(INFO) << "performing " << http_method_ << " request to " << url_;
|
||||
+ if (base::EqualsCaseInsensitiveASCII(http_method_, "HEAD")) {
|
||||
+ endpoint_fetcher_callback_ = std::move(endpoint_fetcher_callback);
|
||||
@@ -1823,7 +1822,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
}
|
||||
|
||||
void EndpointFetcher::OnResponseFetched(
|
||||
@@ -338,3 +394,38 @@ void EndpointFetcher::OnSanitizationResult(
|
||||
@@ -339,3 +393,38 @@ void EndpointFetcher::OnSanitizationResult(
|
||||
std::string EndpointFetcher::GetUrlForTesting() {
|
||||
return url_.spec();
|
||||
}
|
||||
@@ -1834,7 +1833,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
+ const network::mojom::URLResponseHead& response_head,
|
||||
+ std::vector<std::string>* removed_headers) {
|
||||
+ url_ = redirect_info.new_url;
|
||||
+ if (response_->redirect_url.empty()) {
|
||||
+ if (response_ && response_->redirect_url.empty()) {
|
||||
+ response_->redirect_url = url_.spec();
|
||||
+ response_->response = std::to_string(redirect_info.status_code);
|
||||
+ } else {
|
||||
@@ -1859,31 +1858,31 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
+ }
|
||||
+
|
||||
+ std::string net_error = net::ErrorToString(simple_url_loader_->NetError());
|
||||
+ response_->response = net_error;
|
||||
+ response_->response = net_error;
|
||||
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
|
||||
+}
|
||||
diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoint_fetcher/endpoint_fetcher.h
|
||||
--- a/components/endpoint_fetcher/endpoint_fetcher.h
|
||||
+++ b/components/endpoint_fetcher/endpoint_fetcher.h
|
||||
@@ -17,6 +17,8 @@
|
||||
#include "net/traffic_annotation/network_traffic_annotation.h"
|
||||
#include "services/data_decoder/public/cpp/json_sanitizer.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
@@ -21,6 +21,8 @@
|
||||
namespace base {
|
||||
class TimeDelta;
|
||||
} // namespace base
|
||||
+#include "services/network/public/cpp/resource_request.h"
|
||||
+#include "services/network/public/mojom/url_response_head.mojom.h"
|
||||
|
||||
namespace network {
|
||||
struct ResourceRequest;
|
||||
@@ -39,6 +41,8 @@ enum class FetchErrorType {
|
||||
@@ -43,6 +45,8 @@ enum class FetchErrorType {
|
||||
|
||||
struct EndpointResponse {
|
||||
std::string response;
|
||||
+ long last_modified;
|
||||
+ std::string redirect_url;
|
||||
int http_status_code{-1};
|
||||
absl::optional<FetchErrorType> error_type;
|
||||
std::optional<FetchErrorType> error_type;
|
||||
};
|
||||
@@ -92,6 +96,14 @@ class EndpointFetcher {
|
||||
@@ -96,6 +100,14 @@ class EndpointFetcher {
|
||||
const GURL& url,
|
||||
const net::NetworkTrafficAnnotationTag& annotation_tag);
|
||||
|
||||
@@ -1898,7 +1897,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
// Used for tests. Can be used if caller constructs their own
|
||||
// url_loader_factory and identity_manager.
|
||||
EndpointFetcher(
|
||||
@@ -147,6 +159,11 @@ class EndpointFetcher {
|
||||
@@ -151,6 +163,11 @@ class EndpointFetcher {
|
||||
void OnSanitizationResult(std::unique_ptr<EndpointResponse> response,
|
||||
EndpointFetcherCallback endpoint_fetcher_callback,
|
||||
data_decoder::JsonSanitizer::Result result);
|
||||
@@ -1910,7 +1909,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
|
||||
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
|
||||
AuthType auth_type_;
|
||||
@@ -154,10 +171,11 @@ class EndpointFetcher {
|
||||
@@ -158,10 +175,11 @@ class EndpointFetcher {
|
||||
// Members set in constructor to be passed to network::ResourceRequest or
|
||||
// network::SimpleURLLoader.
|
||||
const std::string oauth_consumer_name_;
|
||||
@@ -1918,12 +1917,12 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
+ GURL url_;
|
||||
const std::string http_method_;
|
||||
const std::string content_type_;
|
||||
int64_t timeout_ms_;
|
||||
base::TimeDelta timeout_;
|
||||
+ const bool intercept_redirect_;
|
||||
const std::string post_data_;
|
||||
const std::vector<std::string> headers_;
|
||||
const std::vector<std::string> cors_exempt_headers_;
|
||||
@@ -181,6 +199,9 @@ class EndpointFetcher {
|
||||
@@ -185,6 +203,9 @@ class EndpointFetcher {
|
||||
access_token_fetcher_;
|
||||
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
|
||||
--- a/chrome/android/chrome_public_apk_tmpl.gni
|
||||
+++ b/chrome/android/chrome_public_apk_tmpl.gni
|
||||
@@ -26,7 +26,7 @@ declare_args() {
|
||||
@@ -25,7 +25,7 @@ declare_args() {
|
||||
# WebView providers which declare one of a handful of package names. See
|
||||
# https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/build-instructions.md#Changing-package-name
|
||||
# for details.
|
||||
|
||||
@@ -68,7 +68,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -302,6 +302,7 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -303,6 +303,7 @@ if (current_toolchain == default_toolchain) {
|
||||
"//chrome/android/modules/cablev2_authenticator/public:java",
|
||||
"//chrome/android/modules/stack_unwinder/provider:java",
|
||||
"//chrome/android/webapk/libs/client:client_java",
|
||||
@@ -79,7 +79,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -429,6 +429,7 @@ chrome_java_resources = [
|
||||
@@ -430,6 +430,7 @@ chrome_java_resources = [
|
||||
"java/res/layout/account_chooser_dialog_title.xml",
|
||||
"java/res/layout/account_divider_preference.xml",
|
||||
"java/res/layout/account_management_account_row.xml",
|
||||
@@ -87,7 +87,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
"java/res/layout/auto_sign_in_first_run_dialog.xml",
|
||||
"java/res/layout/autofill_billing_address_dropdown.xml",
|
||||
"java/res/layout/autofill_card_name_and_number.xml",
|
||||
@@ -631,6 +632,7 @@ chrome_java_resources = [
|
||||
@@ -633,6 +634,7 @@ chrome_java_resources = [
|
||||
"java/res/xml/about_chrome_preferences.xml",
|
||||
"java/res/xml/account_management_preferences.xml",
|
||||
"java/res/xml/ad_services_config.xml",
|
||||
@@ -98,7 +98,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -964,6 +964,8 @@ chrome_java_sources = [
|
||||
@@ -972,6 +972,8 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java",
|
||||
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java",
|
||||
@@ -182,7 +182,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml
|
||||
--- a/chrome/android/java/res/values/styles.xml
|
||||
+++ b/chrome/android/java/res/values/styles.xml
|
||||
@@ -232,6 +232,24 @@ found in the LICENSE file.
|
||||
@@ -245,6 +245,24 @@ found in the LICENSE file.
|
||||
</item>
|
||||
</style>
|
||||
|
||||
@@ -440,7 +440,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
|
||||
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
|
||||
--- a/chrome/app/generated_resources.grd
|
||||
+++ b/chrome/app/generated_resources.grd
|
||||
@@ -15005,6 +15005,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
|
||||
@@ -15030,6 +15030,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
|
||||
Never show this again.
|
||||
</message>
|
||||
|
||||
@@ -460,7 +460,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
||||
diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc
|
||||
--- a/chrome/browser/after_startup_task_utils.cc
|
||||
+++ b/chrome/browser/after_startup_task_utils.cc
|
||||
@@ -28,6 +28,8 @@
|
||||
@@ -29,6 +29,8 @@
|
||||
#include "chromeos/startup/browser_params_proxy.h"
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
|
||||
@@ -469,10 +469,10 @@ diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_s
|
||||
using content::BrowserThread;
|
||||
|
||||
namespace {
|
||||
@@ -123,6 +125,8 @@ void SetBrowserStartupIsComplete() {
|
||||
ScheduleTask(base::WrapUnique(queued_task));
|
||||
g_after_startup_tasks.Get().clear();
|
||||
g_after_startup_tasks.Get().shrink_to_fit();
|
||||
@@ -132,6 +134,8 @@ void SetBrowserStartupIsComplete() {
|
||||
}
|
||||
GetAfterStartupTasks().clear();
|
||||
GetAfterStartupTasks().shrink_to_fit();
|
||||
+ // initialize AdBlock engine scheduled updates
|
||||
+ g_browser_process->adblock_updater()->Start();
|
||||
}
|
||||
@@ -511,7 +511,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
||||
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
||||
--- a/chrome/browser/browser_process_impl.cc
|
||||
+++ b/chrome/browser/browser_process_impl.cc
|
||||
@@ -1147,6 +1147,27 @@ BrowserProcessImpl::component_updater() {
|
||||
@@ -1168,6 +1168,27 @@ BrowserProcessImpl::component_updater() {
|
||||
return component_updater_.get();
|
||||
}
|
||||
|
||||
@@ -561,7 +561,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
|
||||
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
||||
--- a/chrome/browser/chrome_browser_main.cc
|
||||
+++ b/chrome/browser/chrome_browser_main.cc
|
||||
@@ -445,6 +445,9 @@ StartupProfileInfo CreateInitialProfile(
|
||||
@@ -446,6 +446,9 @@ StartupProfileInfo CreateInitialProfile(
|
||||
// missing code in the above test.
|
||||
CHECK(profile_info.profile) << "Cannot get default profile.";
|
||||
|
||||
@@ -680,7 +680,7 @@ new file mode 100755
|
||||
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
|
||||
--- a/chrome/browser/net/system_network_context_manager.cc
|
||||
+++ b/chrome/browser/net/system_network_context_manager.cc
|
||||
@@ -638,6 +638,14 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
|
||||
@@ -640,6 +640,14 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
|
||||
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
StubResolverConfigReader::RegisterPrefs(registry);
|
||||
|
||||
@@ -738,7 +738,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
--- a/chrome/common/pref_names.h
|
||||
+++ b/chrome/common/pref_names.h
|
||||
@@ -2657,6 +2657,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
|
||||
@@ -2653,6 +2653,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
|
||||
inline constexpr char kAudioCaptureAllowedUrls[] =
|
||||
"hardware.audio_capture_allowed_urls";
|
||||
|
||||
@@ -753,7 +753,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
|
||||
--- a/components/browser_ui/strings/android/site_settings.grdp
|
||||
+++ b/components/browser_ui/strings/android/site_settings.grdp
|
||||
@@ -362,6 +362,9 @@
|
||||
@@ -359,6 +359,9 @@
|
||||
<message name="IDS_INTRUSIVE_ADS_INFORMATION" desc="The extra information at the top of the Site Details page when the site tends to show intrusive ads">
|
||||
This site shows intrusive or misleading ads
|
||||
</message>
|
||||
|
||||
@@ -31,7 +31,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../browser/resources/extensions/toolbar.ts | 20 +++++++
|
||||
.../resources/webstore_app/manifest.json | 7 +--
|
||||
.../ui/webui/extensions/extensions_ui.cc | 8 +++
|
||||
.../chrome_update_query_params_delegate.cc | 8 +--
|
||||
.../chrome_update_query_params_delegate.cc | 13 ++---
|
||||
.../extensions/api/developer_private.idl | 2 +
|
||||
.../update_client/update_query_params.cc | 7 ++-
|
||||
.../about_flags_cc/Webstore-protection.inc | 19 +++++++
|
||||
@@ -43,7 +43,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
extensions/common/extension_features.cc | 15 ++++++
|
||||
extensions/common/extension_features.h | 4 ++
|
||||
.../definitions/developer_private.d.ts | 4 +-
|
||||
30 files changed, 252 insertions(+), 93 deletions(-)
|
||||
30 files changed, 252 insertions(+), 98 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc
|
||||
|
||||
diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp
|
||||
@@ -65,7 +65,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.
|
||||
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.cc b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
|
||||
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc
|
||||
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
|
||||
@@ -126,6 +126,12 @@
|
||||
@@ -127,6 +127,12 @@
|
||||
#include "url/gurl.h"
|
||||
#include "url/origin.h"
|
||||
|
||||
@@ -78,7 +78,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
|
||||
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
|
||||
#include "components/supervised_user/core/browser/supervised_user_preferences.h"
|
||||
#endif // BUILDFLAG(ENABLE_SUPERVISED_USERS)
|
||||
@@ -521,9 +527,32 @@ std::unique_ptr<developer::ProfileInfo> DeveloperPrivateAPI::CreateProfileInfo(
|
||||
@@ -476,9 +482,32 @@ std::unique_ptr<developer::ProfileInfo> DeveloperPrivateAPI::CreateProfileInfo(
|
||||
info->can_load_unpacked =
|
||||
ExtensionManagementFactory::GetForBrowserContext(profile)
|
||||
->HasAllowlistedExtension();
|
||||
@@ -111,7 +111,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
|
||||
template <>
|
||||
void BrowserContextKeyedAPIFactory<
|
||||
DeveloperPrivateAPI>::DeclareFactoryDependencies() {
|
||||
@@ -952,6 +981,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() {
|
||||
@@ -908,6 +937,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() {
|
||||
ExtensionUpdater::CheckParams params;
|
||||
params.fetch_priority = DownloadFetchPriority::kForeground;
|
||||
params.install_immediately = true;
|
||||
@@ -119,7 +119,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
|
||||
params.callback =
|
||||
base::BindOnce(&DeveloperPrivateAutoUpdateFunction::OnComplete, this);
|
||||
updater->CheckNow(std::move(params));
|
||||
@@ -1092,7 +1122,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
|
||||
@@ -1048,7 +1078,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
|
||||
|
||||
const developer::ProfileConfigurationUpdate& update = params->update;
|
||||
|
||||
@@ -128,7 +128,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
|
||||
Profile* profile = Profile::FromBrowserContext(browser_context());
|
||||
CHECK(profile);
|
||||
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
|
||||
@@ -1104,6 +1134,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
|
||||
@@ -1060,6 +1090,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
|
||||
util::SetDeveloperModeForProfile(profile, *update.in_developer_mode);
|
||||
}
|
||||
|
||||
@@ -219,7 +219,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
diff --git a/chrome/browser/extensions/cws_info_service.cc b/chrome/browser/extensions/cws_info_service.cc
|
||||
--- a/chrome/browser/extensions/cws_info_service.cc
|
||||
+++ b/chrome/browser/extensions/cws_info_service.cc
|
||||
@@ -156,6 +156,7 @@ namespace extensions {
|
||||
@@ -160,6 +160,7 @@ namespace extensions {
|
||||
BASE_FEATURE(kCWSInfoService,
|
||||
"CWSInfoService",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -441,7 +441,7 @@ diff --git a/chrome/browser/extensions/webstore_install_helper.cc b/chrome/brows
|
||||
diff --git a/chrome/browser/extensions/webstore_installer.cc b/chrome/browser/extensions/webstore_installer.cc
|
||||
--- a/chrome/browser/extensions/webstore_installer.cc
|
||||
+++ b/chrome/browser/extensions/webstore_installer.cc
|
||||
@@ -624,7 +624,7 @@ void WebstoreInstaller::StartDownload(const std::string& extension_id,
|
||||
@@ -624,7 +624,7 @@ void WebstoreInstaller::StartDownload(
|
||||
download_url_, render_process_host_id, render_frame_host->GetRoutingID(),
|
||||
traffic_annotation));
|
||||
params->set_file_path(file);
|
||||
@@ -631,7 +631,7 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse
|
||||
{"toolbarLoadUnpacked", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED},
|
||||
{"toolbarLoadUnpackedDone", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED_DONE},
|
||||
{"toolbarPack", IDS_EXTENSIONS_TOOLBAR_PACK},
|
||||
@@ -417,6 +421,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
|
||||
@@ -420,6 +424,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
|
||||
source->AddString("hostPermissionsLearnMoreLink",
|
||||
chrome_extension_constants::kRuntimeHostPermissionsHelpURL);
|
||||
source->AddBoolean(kInDevModeKey, in_dev_mode);
|
||||
@@ -645,14 +645,19 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/update_client/chrome_update_query_params_delegate.cc b/chrome/browser/update_client/chrome_update_query_params_delegate.cc
|
||||
--- a/chrome/browser/update_client/chrome_update_query_params_delegate.cc
|
||||
+++ b/chrome/browser/update_client/chrome_update_query_params_delegate.cc
|
||||
@@ -30,10 +30,10 @@ ChromeUpdateQueryParamsDelegate::GetInstance() {
|
||||
@@ -35,15 +35,10 @@ ChromeUpdateQueryParamsDelegate::GetInstance() {
|
||||
}
|
||||
|
||||
std::string ChromeUpdateQueryParamsDelegate::GetExtraParams() {
|
||||
- return base::StrCat({"&prodchannel=",
|
||||
- chrome::GetChannelName(chrome::WithExtendedStable(true)),
|
||||
- "&prodversion=", version_info::GetVersionNumber(),
|
||||
- "&lang=", GetLang()});
|
||||
- std::string channel_name;
|
||||
-#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
- channel_name = extensions::GetChannelForExtensionUpdates();
|
||||
-#else
|
||||
- channel_name = chrome::GetChannelName(chrome::WithExtendedStable(true));
|
||||
-#endif
|
||||
-
|
||||
- return base::StrCat({"&prodchannel=", channel_name, "&prodversion=",
|
||||
- version_info::GetVersionNumber(), "&lang=", GetLang()});
|
||||
+ return base::StrCat({
|
||||
+ "&prodversion=",
|
||||
+ version_info::GetMajorVersionNumber().c_str(),
|
||||
@@ -746,9 +751,9 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
#include "extensions/common/extension.h"
|
||||
+#include "extensions/common/extension_features.h"
|
||||
#include "extensions/common/extension_icon_set.h"
|
||||
#include "extensions/common/extension_id.h"
|
||||
#include "extensions/common/extension_urls.h"
|
||||
#include "extensions/common/manifest.h"
|
||||
@@ -89,6 +93,27 @@ std::vector<std::string> CreateWarningsList(const Extension* extension) {
|
||||
@@ -90,6 +94,27 @@ std::vector<std::string> CreateWarningsList(const Extension* extension) {
|
||||
return warnings_list;
|
||||
}
|
||||
|
||||
@@ -776,7 +781,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
std::vector<management::LaunchType> GetAvailableLaunchTypes(
|
||||
const Extension& extension,
|
||||
const ManagementAPIDelegate* delegate) {
|
||||
@@ -262,6 +287,8 @@ void AddExtensionInfo(const Extension* source_extension,
|
||||
@@ -263,6 +288,8 @@ void AddExtensionInfo(const Extension* source_extension,
|
||||
const ExtensionSet& extensions,
|
||||
ExtensionInfoList* extension_list,
|
||||
content::BrowserContext* context) {
|
||||
@@ -785,7 +790,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
for (ExtensionSet::const_iterator iter = extensions.begin();
|
||||
iter != extensions.end(); ++iter) {
|
||||
const Extension& extension = **iter;
|
||||
@@ -307,10 +334,9 @@ ExtensionFunction::ResponseAction ManagementGetFunction::Run() {
|
||||
@@ -308,10 +335,9 @@ ExtensionFunction::ResponseAction ManagementGetFunction::Run() {
|
||||
std::optional<management::Get::Params> params =
|
||||
management::Get::Params::Create(args());
|
||||
EXTENSION_FUNCTION_VALIDATE(params);
|
||||
@@ -797,7 +802,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
if (!target_extension)
|
||||
return RespondNow(Error(keys::kNoExtensionError, params->id));
|
||||
|
||||
@@ -330,8 +356,7 @@ ManagementGetPermissionWarningsByIdFunction::Run() {
|
||||
@@ -331,8 +357,7 @@ ManagementGetPermissionWarningsByIdFunction::Run() {
|
||||
EXTENSION_FUNCTION_VALIDATE(params);
|
||||
|
||||
const Extension* extension =
|
||||
@@ -807,7 +812,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
if (!extension)
|
||||
return RespondNow(Error(keys::kNoExtensionError, params->id));
|
||||
|
||||
@@ -397,8 +422,7 @@ ExtensionFunction::ResponseAction ManagementLaunchAppFunction::Run() {
|
||||
@@ -398,8 +423,7 @@ ExtensionFunction::ResponseAction ManagementLaunchAppFunction::Run() {
|
||||
return RespondNow(Error(keys::kNotAllowedInKioskError));
|
||||
|
||||
const Extension* extension =
|
||||
@@ -817,7 +822,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
if (!extension)
|
||||
return RespondNow(Error(keys::kNoExtensionError, params->id));
|
||||
if (!extension->is_app())
|
||||
@@ -433,7 +457,7 @@ ExtensionFunction::ResponseAction ManagementSetEnabledFunction::Run() {
|
||||
@@ -434,7 +458,7 @@ ExtensionFunction::ResponseAction ManagementSetEnabledFunction::Run() {
|
||||
->GetDelegate();
|
||||
|
||||
const Extension* target_extension =
|
||||
@@ -826,7 +831,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
if (!target_extension || !ShouldExposeViaManagementAPI(*target_extension)) {
|
||||
return RespondNow(Error(keys::kNoExtensionError, extension_id_));
|
||||
}
|
||||
@@ -628,8 +652,7 @@ ExtensionFunction::ResponseAction ManagementUninstallFunctionBase::Uninstall(
|
||||
@@ -629,8 +653,7 @@ ExtensionFunction::ResponseAction ManagementUninstallFunctionBase::Uninstall(
|
||||
->GetDelegate();
|
||||
target_extension_id_ = target_extension_id;
|
||||
const Extension* target_extension =
|
||||
@@ -836,7 +841,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
ExtensionRegistry::EVERYTHING);
|
||||
if (!target_extension || !ShouldExposeViaManagementAPI(*target_extension)) {
|
||||
return RespondNow(Error(keys::kNoExtensionError, target_extension_id_));
|
||||
@@ -693,8 +716,7 @@ void ManagementUninstallFunctionBase::UninstallExtension() {
|
||||
@@ -694,8 +717,7 @@ void ManagementUninstallFunctionBase::UninstallExtension() {
|
||||
// The extension can be uninstalled in another window while the UI was
|
||||
// showing. Do nothing in that case.
|
||||
const Extension* target_extension =
|
||||
@@ -846,7 +851,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
ExtensionRegistry::EVERYTHING);
|
||||
std::string error;
|
||||
bool success = false;
|
||||
@@ -775,8 +797,7 @@ ExtensionFunction::ResponseAction ManagementCreateAppShortcutFunction::Run() {
|
||||
@@ -776,8 +798,7 @@ ExtensionFunction::ResponseAction ManagementCreateAppShortcutFunction::Run() {
|
||||
management::CreateAppShortcut::Params::Create(args());
|
||||
EXTENSION_FUNCTION_VALIDATE(params);
|
||||
const Extension* extension =
|
||||
@@ -856,7 +861,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
if (!extension) {
|
||||
return RespondNow(Error(
|
||||
ErrorUtils::FormatErrorMessage(keys::kNoExtensionError, params->id)));
|
||||
@@ -826,8 +847,7 @@ ExtensionFunction::ResponseAction ManagementSetLaunchTypeFunction::Run() {
|
||||
@@ -827,8 +848,7 @@ ExtensionFunction::ResponseAction ManagementSetLaunchTypeFunction::Run() {
|
||||
management::SetLaunchType::Params::Create(args());
|
||||
EXTENSION_FUNCTION_VALIDATE(params);
|
||||
const Extension* extension =
|
||||
@@ -869,7 +874,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
|
||||
diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/browser/updater/extension_downloader.cc
|
||||
--- a/extensions/browser/updater/extension_downloader.cc
|
||||
+++ b/extensions/browser/updater/extension_downloader.cc
|
||||
@@ -493,8 +493,8 @@ void ExtensionDownloader::CreateManifestLoader() {
|
||||
@@ -494,8 +494,8 @@ void ExtensionDownloader::CreateManifestLoader() {
|
||||
std::vector<std::string_view> id_vector(extension_ids.begin(),
|
||||
extension_ids.end());
|
||||
std::string id_list = base::JoinString(id_vector, ",");
|
||||
@@ -880,7 +885,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
<< (active_request->foreground_check()
|
||||
? kUpdateInteractivityForeground
|
||||
: kUpdateInteractivityBackground);
|
||||
@@ -519,7 +519,7 @@ void ExtensionDownloader::CreateManifestLoader() {
|
||||
@@ -520,7 +520,7 @@ void ExtensionDownloader::CreateManifestLoader() {
|
||||
destination: WEBSITE
|
||||
}
|
||||
policy {
|
||||
@@ -889,7 +894,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
cookies_store: "user"
|
||||
setting:
|
||||
"This feature cannot be disabled. It is only enabled when the user "
|
||||
@@ -536,6 +536,7 @@ void ExtensionDownloader::CreateManifestLoader() {
|
||||
@@ -537,6 +537,7 @@ void ExtensionDownloader::CreateManifestLoader() {
|
||||
auto resource_request = std::make_unique<network::ResourceRequest>();
|
||||
resource_request->url = active_request->full_url(),
|
||||
resource_request->load_flags = net::LOAD_DISABLE_CACHE;
|
||||
@@ -897,7 +902,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
|
||||
if (active_request->fetch_priority() == DownloadFetchPriority::kForeground) {
|
||||
resource_request->priority = net::MEDIUM;
|
||||
@@ -544,10 +545,6 @@ void ExtensionDownloader::CreateManifestLoader() {
|
||||
@@ -545,10 +546,6 @@ void ExtensionDownloader::CreateManifestLoader() {
|
||||
// Send traffic-management headers to the webstore, and omit credentials.
|
||||
// https://bugs.chromium.org/p/chromium/issues/detail?id=647516
|
||||
if (extension_urls::IsWebstoreUpdateUrl(active_request->full_url())) {
|
||||
@@ -908,7 +913,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
resource_request->headers.SetHeader(kUpdateAppIdHeader, id_list);
|
||||
resource_request->headers.SetHeader(
|
||||
kUpdateUpdaterHeader,
|
||||
@@ -832,20 +829,6 @@ void ExtensionDownloader::HandleManifestResults(
|
||||
@@ -833,20 +830,6 @@ void ExtensionDownloader::HandleManifestResults(
|
||||
update.second->info);
|
||||
}
|
||||
|
||||
@@ -929,7 +934,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
ExtensionIdSet extension_ids_with_errors;
|
||||
for (const auto& failure : failures)
|
||||
extension_ids_with_errors.insert(failure.first.id);
|
||||
@@ -867,7 +850,7 @@ ExtensionDownloader::GetUpdateAvailability(
|
||||
@@ -868,7 +851,7 @@ ExtensionDownloader::GetUpdateAvailability(
|
||||
// extensions that have already existed in the system.
|
||||
if (!delegate_->GetExtensionExistingVersion(extension_id,
|
||||
&extension_version)) {
|
||||
@@ -938,7 +943,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
return UpdateAvailability::kBadUpdateSpecification;
|
||||
}
|
||||
VLOG(2) << extension_id << " is at '" << extension_version << "'";
|
||||
@@ -878,11 +861,11 @@ ExtensionDownloader::GetUpdateAvailability(
|
||||
@@ -879,11 +862,11 @@ ExtensionDownloader::GetUpdateAvailability(
|
||||
const std::string& update_version_str = update->version;
|
||||
if (VLOG_IS_ON(2)) {
|
||||
if (update_version_str.empty())
|
||||
@@ -952,7 +957,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
<< " latest version is '" << update_version_str << "'";
|
||||
}
|
||||
|
||||
@@ -892,21 +875,21 @@ ExtensionDownloader::GetUpdateAvailability(
|
||||
@@ -893,21 +876,21 @@ ExtensionDownloader::GetUpdateAvailability(
|
||||
// we don't want it.
|
||||
if (update_version_str.empty()) {
|
||||
// If update manifest doesn't have version number => no update.
|
||||
@@ -977,7 +982,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
<< update_version_str << "'";
|
||||
bool can_rollback =
|
||||
update_version.CompareTo(existing_version) < 0 &&
|
||||
@@ -933,7 +916,9 @@ ExtensionDownloader::GetUpdateAvailability(
|
||||
@@ -934,7 +917,9 @@ ExtensionDownloader::GetUpdateAvailability(
|
||||
}
|
||||
|
||||
// Stop checking as soon as an update for |extension_id| is found.
|
||||
@@ -988,7 +993,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
*update_result_out = const_cast<UpdateManifestResult*>(update);
|
||||
return UpdateAvailability::kAvailable;
|
||||
}
|
||||
@@ -1178,7 +1163,7 @@ void ExtensionDownloader::CreateExtensionLoader() {
|
||||
@@ -1179,7 +1164,7 @@ void ExtensionDownloader::CreateExtensionLoader() {
|
||||
int load_flags = net::LOAD_DISABLE_CACHE;
|
||||
bool is_secure = fetch->url.SchemeIsCryptographic();
|
||||
extension_loader_resource_request_->load_flags = load_flags;
|
||||
@@ -997,7 +1002,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
extension_loader_resource_request_->credentials_mode =
|
||||
network::mojom::CredentialsMode::kOmit;
|
||||
} else {
|
||||
@@ -1186,7 +1171,7 @@ void ExtensionDownloader::CreateExtensionLoader() {
|
||||
@@ -1187,7 +1172,7 @@ void ExtensionDownloader::CreateExtensionLoader() {
|
||||
net::SiteForCookies::FromUrl(fetch->url);
|
||||
}
|
||||
|
||||
@@ -1006,7 +1011,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
is_secure) {
|
||||
if (access_token_.empty()) {
|
||||
// We should try OAuth2, but we have no token cached. This
|
||||
@@ -1211,7 +1196,7 @@ void ExtensionDownloader::CreateExtensionLoader() {
|
||||
@@ -1212,7 +1197,7 @@ void ExtensionDownloader::CreateExtensionLoader() {
|
||||
base::StringPrintf("Bearer %s", access_token_.c_str()));
|
||||
}
|
||||
|
||||
@@ -1015,7 +1020,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
|
||||
StartExtensionLoader();
|
||||
}
|
||||
@@ -1233,7 +1218,7 @@ void ExtensionDownloader::StartExtensionLoader() {
|
||||
@@ -1234,7 +1219,7 @@ void ExtensionDownloader::StartExtensionLoader() {
|
||||
destination: WEBSITE
|
||||
}
|
||||
policy {
|
||||
@@ -1024,7 +1029,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
cookies_store: "user"
|
||||
setting:
|
||||
"This feature cannot be disabled. It is only enabled when the user "
|
||||
@@ -1304,6 +1289,7 @@ void ExtensionDownloader::OnExtensionLoadComplete(base::FilePath crx_path) {
|
||||
@@ -1305,6 +1290,7 @@ void ExtensionDownloader::OnExtensionLoadComplete(base::FilePath crx_path) {
|
||||
RETRY_HISTOGRAM("CrxFetchSuccess",
|
||||
extensions_queue_.active_request_failure_count(),
|
||||
url);
|
||||
@@ -1032,7 +1037,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
std::unique_ptr<ExtensionFetch> fetch_data =
|
||||
std::move(extensions_queue_.reset_active_request().fetch);
|
||||
delegate_->OnExtensionDownloadStageChanged(
|
||||
@@ -1324,7 +1310,7 @@ void ExtensionDownloader::OnExtensionLoadComplete(base::FilePath crx_path) {
|
||||
@@ -1325,7 +1311,7 @@ void ExtensionDownloader::OnExtensionLoadComplete(base::FilePath crx_path) {
|
||||
} else {
|
||||
const std::set<int> request_ids = active_request.GetRequestIds();
|
||||
const ExtensionDownloaderDelegate::PingResult& ping = ping_results_[id];
|
||||
@@ -1041,7 +1046,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro
|
||||
<< "' response code:" << response_code;
|
||||
if (ShouldRetryRequest(extension_loader_.get()) &&
|
||||
extensions_queue_.active_request_failure_count() < kMaxRetries) {
|
||||
@@ -1418,6 +1404,7 @@ void ExtensionDownloader::NotifyExtensionsDownloadFailedWithList(
|
||||
@@ -1419,6 +1405,7 @@ void ExtensionDownloader::NotifyExtensionsDownloadFailedWithList(
|
||||
bool ExtensionDownloader::IterateFetchCredentialsAfterFailure(
|
||||
ExtensionFetch* fetch,
|
||||
int response_code) {
|
||||
@@ -1063,7 +1068,7 @@ diff --git a/extensions/browser/updater/extension_downloader.h b/extensions/brow
|
||||
diff --git a/extensions/browser/updater/manifest_fetch_data.cc b/extensions/browser/updater/manifest_fetch_data.cc
|
||||
--- a/extensions/browser/updater/manifest_fetch_data.cc
|
||||
+++ b/extensions/browser/updater/manifest_fetch_data.cc
|
||||
@@ -106,7 +106,7 @@ ManifestFetchData::ManifestFetchData(const GURL& update_url,
|
||||
@@ -107,7 +107,7 @@ ManifestFetchData::ManifestFetchData(const GURL& update_url,
|
||||
: base_url_(update_url),
|
||||
full_url_(update_url),
|
||||
brand_code_(brand_code),
|
||||
@@ -1072,7 +1077,7 @@ diff --git a/extensions/browser/updater/manifest_fetch_data.cc b/extensions/brow
|
||||
fetch_priority_(fetch_priority) {
|
||||
UpdateFullUrl(base_query_params);
|
||||
request_ids_.insert(request_id);
|
||||
@@ -160,18 +160,12 @@ bool ManifestFetchData::AddExtension(const std::string& id,
|
||||
@@ -161,18 +161,12 @@ bool ManifestFetchData::AddExtension(const std::string& id,
|
||||
// Compute the string we'd append onto the full_url_, and see if it fits.
|
||||
std::vector<std::string> parts;
|
||||
parts.push_back("id=" + id);
|
||||
|
||||
@@ -41,7 +41,7 @@ diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/pre
|
||||
diff --git a/services/network/cors/preflight_controller.cc b/services/network/cors/preflight_controller.cc
|
||||
--- a/services/network/cors/preflight_controller.cc
|
||||
+++ b/services/network/cors/preflight_controller.cc
|
||||
@@ -789,6 +789,10 @@ void PreflightController::ClearCorsPreflightCache(
|
||||
@@ -811,6 +811,10 @@ void PreflightController::ClearCorsPreflightCache(
|
||||
cache_.ClearCache(std::move(url_filter));
|
||||
}
|
||||
|
||||
@@ -55,9 +55,9 @@ diff --git a/services/network/cors/preflight_controller.cc b/services/network/co
|
||||
diff --git a/services/network/cors/preflight_controller.h b/services/network/cors/preflight_controller.h
|
||||
--- a/services/network/cors/preflight_controller.h
|
||||
+++ b/services/network/cors/preflight_controller.h
|
||||
@@ -141,6 +141,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightController final {
|
||||
mojo::PendingRemote<mojom::URLLoaderNetworkServiceObserver>
|
||||
url_loader_network_service_observer);
|
||||
@@ -157,6 +157,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightController final {
|
||||
url_loader_network_service_observer,
|
||||
const PreflightMode& preflight_mode);
|
||||
|
||||
+ void ClearCache();
|
||||
+
|
||||
|
||||
@@ -30,12 +30,12 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
|
||||
@@ -187,9 +187,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
|
||||
bool parse_result = base::StringToInt(major_version, &major_version_number);
|
||||
DCHECK(parse_result);
|
||||
absl::optional<std::string> brand;
|
||||
std::optional<std::string> brand;
|
||||
-#if !BUILDFLAG(CHROMIUM_BRANDING)
|
||||
- brand = version_info::GetProductName();
|
||||
-#endif
|
||||
+ brand = "Google Chrome";
|
||||
absl::optional<std::string> maybe_brand_override =
|
||||
std::optional<std::string> maybe_brand_override =
|
||||
base::GetFieldTrialParamValueByFeature(features::kGreaseUACH,
|
||||
"brand_override");
|
||||
diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc
|
||||
@@ -89,7 +89,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
|
||||
diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc
|
||||
--- a/content/browser/loader/navigation_url_loader_impl.cc
|
||||
+++ b/content/browser/loader/navigation_url_loader_impl.cc
|
||||
@@ -1070,6 +1070,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
|
||||
@@ -1091,6 +1091,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -129,12 +129,12 @@ diff --git a/services/network/public/cpp/client_hints.cc b/services/network/publ
|
||||
+++ b/services/network/public/cpp/client_hints.cc
|
||||
@@ -120,6 +120,7 @@ const DecodeMap& GetDecodeMap() {
|
||||
|
||||
absl::optional<std::vector<network::mojom::WebClientHintsType>>
|
||||
std::optional<std::vector<network::mojom::WebClientHintsType>>
|
||||
ParseClientHintsHeader(const std::string& header) {
|
||||
+ if ((true)) return absl::nullopt;
|
||||
// Accept-CH is an sh-list of tokens; see:
|
||||
// https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-header-structure-19#section-3.1
|
||||
absl::optional<net::structured_headers::List> maybe_list =
|
||||
std::optional<net::structured_headers::List> maybe_list =
|
||||
diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc
|
||||
--- a/third_party/blink/common/client_hints/client_hints.cc
|
||||
+++ b/third_party/blink/common/client_hints/client_hints.cc
|
||||
@@ -235,7 +235,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/thir
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -536,6 +536,10 @@
|
||||
@@ -499,6 +499,10 @@
|
||||
name: "ByobFetch",
|
||||
status: "stable",
|
||||
},
|
||||
|
||||
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
|
||||
--- a/chrome/android/chrome_public_apk_tmpl.gni
|
||||
+++ b/chrome/android/chrome_public_apk_tmpl.gni
|
||||
@@ -641,6 +641,7 @@ template("chrome_common_apk_or_module_tmpl") {
|
||||
@@ -642,6 +642,7 @@ template("chrome_common_apk_or_module_tmpl") {
|
||||
[ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ]
|
||||
loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ]
|
||||
library_always_compress += [ "libchrome_crashpad_handler.so" ]
|
||||
|
||||
@@ -32,6 +32,7 @@ Require: bromite-build-utils.patch
|
||||
.../views/page_info/page_info_view_factory.h | 3 +
|
||||
.../page_info/permission_toggle_row_view.cc | 163 ++++++-
|
||||
.../page_info/permission_toggle_row_view.h | 18 +-
|
||||
.../privacy_sandbox_internals_handler.cc | 2 +-
|
||||
.../settings_localized_strings_provider.cc | 54 +++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 34 +-
|
||||
.../browser_ui/settings/android/BUILD.gn | 1 +
|
||||
@@ -84,7 +85,7 @@ Require: bromite-build-utils.patch
|
||||
.../platform/web_content_settings_client.h | 5 +
|
||||
.../execution_context/execution_context.cc | 16 +
|
||||
.../execution_context/execution_context.h | 5 +
|
||||
73 files changed, 1832 insertions(+), 85 deletions(-)
|
||||
74 files changed, 1833 insertions(+), 86 deletions(-)
|
||||
create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
@@ -151,7 +152,7 @@ diff --git a/chrome/browser/installable/installed_webapp_bridge.cc b/chrome/brow
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1390,4 +1390,5 @@
|
||||
@@ -1369,4 +1369,5 @@
|
||||
</settings-subpage>
|
||||
</template>
|
||||
</template>
|
||||
@@ -160,7 +161,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
@@ -47,6 +47,7 @@ import {SiteSettingsPrefsBrowserProxy, SiteSettingsPrefsBrowserProxyImpl} from '
|
||||
@@ -51,6 +51,7 @@ import {SiteSettingsPrefsBrowserProxyImpl} from '../site_settings/site_settings_
|
||||
|
||||
import {PrivacyGuideAvailabilityMixin} from './privacy_guide/privacy_guide_availability_mixin.js';
|
||||
import {getTemplate} from './privacy_page.html.js';
|
||||
@@ -168,7 +169,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
|
||||
|
||||
interface BlockAutoplayStatus {
|
||||
enabled: boolean;
|
||||
@@ -70,8 +71,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
@@ -74,8 +75,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
return 'settings-privacy-page';
|
||||
}
|
||||
|
||||
@@ -255,15 +256,15 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -7,6 +7,7 @@ import {loadTimeData} from 'chrome://resources/js/load_time_data.js';
|
||||
|
||||
@@ -8,6 +8,7 @@ import {loadTimeData} from 'chrome://resources/js/load_time_data.js';
|
||||
import {pageVisibility} from './page_visibility.js';
|
||||
import {Route, Router, SettingsRoutes} from './router.js';
|
||||
import type {SettingsRoutes} from './router.js';
|
||||
import {Route, Router} from './router.js';
|
||||
+import {setupContentSettingsRoutes} from './site_settings_page/site_settings_page_util.js'
|
||||
|
||||
/**
|
||||
* Add all of the child routes that originate from the privacy route,
|
||||
@@ -140,6 +141,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
@@ -141,6 +142,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_STORAGE_ACCESS =
|
||||
r.SITE_SETTINGS.createChild('storageAccess');
|
||||
}
|
||||
@@ -295,7 +296,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
@@ -29,6 +29,7 @@ import {ContentSettingProvider, DefaultContentSetting} from './site_settings_pre
|
||||
@@ -30,6 +30,7 @@ import {ContentSettingProvider} from './site_settings_prefs_browser_proxy.js';
|
||||
export enum SiteContentRadioSetting {
|
||||
DISABLED = 0,
|
||||
ENABLED = 1,
|
||||
@@ -303,7 +304,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
|
||||
}
|
||||
|
||||
export interface SettingsCategoryDefaultRadioGroupElement {
|
||||
@@ -76,6 +77,10 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
@@ -77,6 +78,10 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
blockOptionSubLabel: String,
|
||||
blockOptionIcon: String,
|
||||
|
||||
@@ -314,7 +315,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
|
||||
siteContentRadioSettingEnum_: {
|
||||
type: Object,
|
||||
value: SiteContentRadioSetting,
|
||||
@@ -111,6 +116,9 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
@@ -112,6 +117,9 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
blockOptionLabel: string;
|
||||
blockOptionSubLabel: string;
|
||||
blockOptionIcon: string;
|
||||
@@ -324,7 +325,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
|
||||
private pref_: chrome.settingsPrivate.PrefObject<number>;
|
||||
|
||||
override ready() {
|
||||
@@ -121,6 +129,13 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
@@ -122,6 +130,13 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
(category: ContentSettingsTypes) => this.onCategoryChanged_(category));
|
||||
}
|
||||
|
||||
@@ -369,7 +370,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -289,4 +289,5 @@
|
||||
@@ -282,4 +282,5 @@
|
||||
label="$i18n{siteSettingsAutoPictureInPicture}">
|
||||
</site-details-permission>
|
||||
</template>
|
||||
@@ -378,7 +379,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.ts b/chrome/browser/resources/settings/site_settings/site_details.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.ts
|
||||
@@ -60,8 +60,39 @@ export class SiteDetailsElement extends SiteDetailsElementBase {
|
||||
@@ -62,8 +62,39 @@ export class SiteDetailsElement extends SiteDetailsElementBase {
|
||||
return 'site-details';
|
||||
}
|
||||
|
||||
@@ -537,15 +538,15 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_settings_mixin.ts b/chrome/browser/resources/settings/site_settings/site_settings_mixin.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_settings_mixin.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_settings_mixin.ts
|
||||
@@ -11,6 +11,7 @@ import {dedupingMixin, PolymerElement} from 'chrome://resources/polymer/v3_0/pol
|
||||
|
||||
import {ContentSetting,ContentSettingsTypes, SiteSettingSource} from './constants.js';
|
||||
import {RawSiteException,SiteException,SiteSettingsPrefsBrowserProxy,SiteSettingsPrefsBrowserProxyImpl} from './site_settings_prefs_browser_proxy.js';
|
||||
@@ -14,6 +14,7 @@ import type {ContentSettingsTypes} from './constants.js';
|
||||
import {ContentSetting, SiteSettingSource} from './constants.js';
|
||||
import type {RawSiteException,SiteException,SiteSettingsPrefsBrowserProxy} from './site_settings_prefs_browser_proxy.js';
|
||||
import {SiteSettingsPrefsBrowserProxyImpl} from './site_settings_prefs_browser_proxy.js';
|
||||
+import {loadTimeData} from '../i18n_setup.js';
|
||||
// clang-format on
|
||||
|
||||
type Constructor<T> = new (...args: any[]) => T;
|
||||
@@ -91,6 +92,21 @@ export const SiteSettingsMixin = dedupingMixin(
|
||||
@@ -94,6 +95,21 @@ export const SiteSettingsMixin = dedupingMixin(
|
||||
return setting !== ContentSetting.BLOCK;
|
||||
}
|
||||
|
||||
@@ -567,7 +568,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_mixin
|
||||
/**
|
||||
* Converts a string origin/pattern to a URL.
|
||||
* @param originOrPattern The origin/pattern to convert to URL.
|
||||
@@ -171,6 +187,8 @@ export interface SiteSettingsMixinInterface {
|
||||
@@ -174,6 +190,8 @@ export interface SiteSettingsMixinInterface {
|
||||
browserProxy: SiteSettingsPrefsBrowserProxy;
|
||||
category: ContentSettingsTypes;
|
||||
computeIsSettingEnabled(setting: string): boolean;
|
||||
@@ -579,7 +580,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_mixin
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
@@ -45,7 +45,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
@@ -47,7 +47,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
}
|
||||
// The following list is ordered alphabetically by |id|. The order in which
|
||||
// these appear in the UI is determined elsewhere in this file.
|
||||
@@ -588,7 +589,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
|
||||
{
|
||||
route: routes.SITE_SETTINGS_ADS,
|
||||
id: Id.ADS,
|
||||
@@ -389,10 +389,36 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
@@ -391,10 +391,36 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
disabledLabel: 'trackingProtectionLinkRowSubLabel',
|
||||
});
|
||||
}
|
||||
@@ -625,7 +626,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
|
||||
function buildItemListFromIds(orderedIdList: ContentSettingsTypes[]):
|
||||
CategoryListItem[] {
|
||||
const map = getCategoryItemMap();
|
||||
@@ -484,7 +510,7 @@ export class SettingsSiteSettingsPageElement extends
|
||||
@@ -486,7 +512,7 @@ export class SettingsSiteSettingsPageElement extends
|
||||
Id.IMAGES,
|
||||
Id.POPUPS,
|
||||
]),
|
||||
@@ -692,7 +693,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
|
||||
/**
|
||||
* Determine localization string for i18n for a given content settings type.
|
||||
* Sorted alphabetically by |ContentSettingsType|.
|
||||
@@ -93,6 +141,13 @@ export function getLocalizationStringForContentType(
|
||||
@@ -92,6 +140,13 @@ export function getLocalizationStringForContentType(
|
||||
case ContentSettingsTypes.SITE_DATA:
|
||||
return null;
|
||||
default:
|
||||
@@ -709,8 +710,8 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -2068,6 +2068,7 @@ static_library("ui") {
|
||||
"//components/commerce/core/mojom:mojo_bindings",
|
||||
@@ -2043,6 +2043,7 @@ static_library("ui") {
|
||||
"//components/commerce/core:shopping_service",
|
||||
"//components/commerce/core/webui",
|
||||
"//components/endpoint_fetcher:endpoint_fetcher",
|
||||
+ "//components/content_settings/core/browser:browser",
|
||||
@@ -830,8 +831,8 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
|
||||
// For guard content settings and Automatic Picture-in-Picture, ASK is treated
|
||||
// as an "on" state.
|
||||
const bool show_blocked_badge =
|
||||
@@ -508,6 +516,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
icon = &vector_icons::kPictureInPictureIcon;
|
||||
@@ -509,6 +517,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
icon = &kFullscreenIcon;
|
||||
break;
|
||||
default:
|
||||
+ bool found = false;
|
||||
@@ -1129,6 +1130,18 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.h b/ch
|
||||
raw_ptr<ChromePageInfoUiDelegate, DanglingUntriaged> delegate_ = nullptr;
|
||||
raw_ptr<PageInfoNavigationHandler, DanglingUntriaged> navigation_handler_ =
|
||||
nullptr;
|
||||
diff --git a/chrome/browser/ui/webui/privacy_sandbox/privacy_sandbox_internals_handler.cc b/chrome/browser/ui/webui/privacy_sandbox/privacy_sandbox_internals_handler.cc
|
||||
--- a/chrome/browser/ui/webui/privacy_sandbox/privacy_sandbox_internals_handler.cc
|
||||
+++ b/chrome/browser/ui/webui/privacy_sandbox/privacy_sandbox_internals_handler.cc
|
||||
@@ -41,7 +41,7 @@ void PrivacySandboxInternalsHandler::ReadPref(const std::string& pref_name,
|
||||
void PrivacySandboxInternalsHandler::ReadContentSettings(
|
||||
const ContentSettingsType type,
|
||||
ReadContentSettingsCallback callback) {
|
||||
- if (!IsKnownEnumValue(type) || type == ContentSettingsType::NUM_TYPES) {
|
||||
+ if (!IsKnownEnumValue(type) || type == ContentSettingsType::NUM_TYPES_BROMITE) {
|
||||
mojo::ReportBadMessage(
|
||||
"ReadContentSettings received invalid ContentSettingsType");
|
||||
return;
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -1150,7 +1163,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
#include "components/password_manager/core/browser/leak_detection_dialog_utils.h"
|
||||
#include "components/password_manager/core/browser/manage_passwords_referrer.h"
|
||||
#include "components/password_manager/core/common/password_manager_features.h"
|
||||
@@ -3738,6 +3742,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
@@ -3789,6 +3793,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
policy_indicator::AddLocalizedStrings(html_source);
|
||||
AddSecurityKeysStrings(html_source);
|
||||
|
||||
@@ -1219,7 +1232,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
#include "components/content_settings/core/common/content_settings.h"
|
||||
#include "components/content_settings/core/common/content_settings_pattern.h"
|
||||
#include "components/content_settings/core/common/content_settings_utils.h"
|
||||
@@ -215,7 +217,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
@@ -219,7 +221,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
|
||||
static_assert(std::size(kContentSettingsTypeGroupNames) ==
|
||||
// ContentSettingsType starts at -1, so add 1 here.
|
||||
@@ -1228,7 +1241,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
"kContentSettingsTypeGroupNames should have "
|
||||
"CONTENT_SETTINGS_NUM_TYPES elements");
|
||||
|
||||
@@ -468,6 +470,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
|
||||
@@ -471,6 +473,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1242,7 +1255,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -481,11 +490,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(base::StringPiece name) {
|
||||
@@ -484,11 +493,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(base::StringPiece name) {
|
||||
return entry.type;
|
||||
}
|
||||
}
|
||||
@@ -1268,7 +1281,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
for (const auto& entry : kContentSettingsTypeGroupNames) {
|
||||
if (type == entry.type) {
|
||||
// Content setting types that aren't represented in the settings UI
|
||||
@@ -500,7 +522,6 @@ base::StringPiece ContentSettingsTypeToGroupName(ContentSettingsType type) {
|
||||
@@ -503,7 +525,6 @@ base::StringPiece ContentSettingsTypeToGroupName(ContentSettingsType type) {
|
||||
return entry.name ? entry.name : base::StringPiece();
|
||||
}
|
||||
}
|
||||
@@ -1276,8 +1289,8 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
NOTREACHED() << static_cast<int32_t>(type)
|
||||
<< " is not a recognized content settings type.";
|
||||
return base::StringPiece();
|
||||
@@ -585,6 +606,13 @@ const std::vector<ContentSettingsType>& GetVisiblePermissionCategories() {
|
||||
base_types->push_back(ContentSettingsType::WEB_PRINTING);
|
||||
@@ -587,6 +608,13 @@ const std::vector<ContentSettingsType>& GetVisiblePermissionCategories() {
|
||||
base_types->push_back(ContentSettingsType::SPEAKER_SELECTION);
|
||||
}
|
||||
|
||||
+ content_settings::WebsiteSettingsRegistry* website_settings =
|
||||
@@ -2134,7 +2147,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
int icon,
|
||||
int title,
|
||||
@ContentSettingValues @Nullable Integer defaultEnabledValue,
|
||||
@@ -437,6 +437,8 @@ public class ContentSettingsResources {
|
||||
@@ -427,6 +427,8 @@ public class ContentSettingsResources {
|
||||
R.string.website_settings_category_vr_blocked,
|
||||
R.string.website_settings_category_vr_a11y);
|
||||
}
|
||||
@@ -2143,7 +2156,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
assert false; // NOTREACHED
|
||||
return null;
|
||||
}
|
||||
@@ -600,6 +602,14 @@ public class ContentSettingsResources {
|
||||
@@ -590,6 +592,14 @@ public class ContentSettingsResources {
|
||||
return getResourceItem(contentType, null).getDefaultDisabledValue();
|
||||
}
|
||||
|
||||
@@ -2158,7 +2171,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
/**
|
||||
* Returns the string resource id for a given ContentSetting to show with a permission category.
|
||||
*
|
||||
@@ -762,6 +772,8 @@ public class ContentSettingsResources {
|
||||
@@ -752,6 +762,8 @@ public class ContentSettingsResources {
|
||||
* Blocked states, in that order.
|
||||
*/
|
||||
public static int[] getTriStateSettingDescriptionIDs(int contentType) {
|
||||
@@ -2241,7 +2254,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
assert resource > 0;
|
||||
return getString(resource);
|
||||
}
|
||||
@@ -921,6 +942,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -919,6 +940,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -2250,7 +2263,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (allowSpecifyingExceptions) {
|
||||
getPreferenceScreen()
|
||||
.addPreference(
|
||||
@@ -1109,8 +1132,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1107,8 +1130,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
private boolean isBlocked() {
|
||||
switch (mGlobalToggleLayout) {
|
||||
case GlobalToggleLayout.TRI_STATE_TOGGLE:
|
||||
@@ -2267,7 +2280,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
|
||||
case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE:
|
||||
TriStateCookieSettingsPreference triStateCookieToggle =
|
||||
@@ -1175,7 +1206,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1173,7 +1204,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else if (mCategory.getType() == SiteSettingsCategory.Type.STORAGE_ACCESS) {
|
||||
infoText.setSummary(getStorageAccessSummary());
|
||||
} else {
|
||||
@@ -2280,7 +2293,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
// Hide the anti-abuse text preferences, as needed.
|
||||
@@ -1199,6 +1234,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1197,6 +1232,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
screen.removePreference(antiAbuseThingsToConsiderHeader);
|
||||
screen.removePreference(antiAbuseThingsToConsiderSectionOne);
|
||||
}
|
||||
@@ -2288,7 +2301,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
|
||||
if (permissionBlockedByOs) {
|
||||
maybeShowOsWarning(screen);
|
||||
@@ -1350,7 +1386,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1348,7 +1384,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
|
||||
int[] descriptionIds =
|
||||
ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType);
|
||||
@@ -2297,7 +2310,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
private void configureBinaryToggle(ChromeSwitchPreference binaryToggle, int contentType) {
|
||||
@@ -1461,6 +1497,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1459,6 +1495,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@ContentSettingValues
|
||||
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
|
||||
|
||||
@@ -2315,7 +2328,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
@@ -48,6 +48,7 @@ import java.util.Collection;
|
||||
@@ -46,6 +46,7 @@ import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -2323,7 +2336,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
|
||||
/** Shows the permissions and other settings for a particular website. */
|
||||
public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -168,7 +169,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -164,7 +165,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
case ContentSettingsType.CLIPBOARD_READ_WRITE:
|
||||
return "clipboard_permission_list";
|
||||
default:
|
||||
@@ -2332,7 +2345,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
}
|
||||
|
||||
@@ -545,8 +546,21 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -534,8 +535,21 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
|
||||
private void setupContentSettingsPreferences() {
|
||||
mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder();
|
||||
@@ -2356,7 +2369,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
preference.setKey(getPreferenceKey(type));
|
||||
|
||||
if (type == ContentSettingsType.ADS) {
|
||||
@@ -1071,20 +1085,32 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1060,20 +1074,32 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@ContentSettingValues @Nullable Integer value,
|
||||
boolean isEmbargoed,
|
||||
boolean isOneTime) {
|
||||
@@ -2395,7 +2408,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
if (isSessionPermission(contentType)) {
|
||||
switchPreference.setSummary(switchPreference.getSummary() + " " +
|
||||
@@ -1261,7 +1287,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1250,7 +1276,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
if (mPreferenceMap == null) {
|
||||
mPreferenceMap = new HashMap<>();
|
||||
for (@ContentSettingsType.EnumType int type = 0;
|
||||
@@ -2404,7 +2417,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
type++) {
|
||||
String key = getPreferenceKey(type);
|
||||
if (key != null) {
|
||||
@@ -1299,14 +1325,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1288,14 +1314,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
permission =
|
||||
(Boolean) newValue ? ContentSettingValues.ALLOW : ContentSettingValues.BLOCK;
|
||||
} else {
|
||||
@@ -2427,7 +2440,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
preference.setIcon(getContentSettingsIcon(type, permission));
|
||||
|
||||
if (mWebsiteSettingsObserver != null) {
|
||||
@@ -1335,7 +1367,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1324,7 +1356,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
// for its logic. This class should maintain its own data model, and only update the screen
|
||||
// after a change is made.
|
||||
for (@ContentSettingsType.EnumType int type = 0;
|
||||
@@ -2646,16 +2659,16 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
|
||||
@@ -114,7 +114,7 @@ public class WebsitePermissionsFetcher {
|
||||
}
|
||||
return null;
|
||||
@@ -108,7 +108,7 @@ public class WebsitePermissionsFetcher {
|
||||
case ContentSettingsType.USB_GUARD:
|
||||
return WebsitePermissionsType.CHOSEN_OBJECT_INFO;
|
||||
default:
|
||||
- return null;
|
||||
+ return BromiteCustomContentSettingImpl.getPermissionsType(contentSettingsType);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,7 +226,7 @@ public class WebsitePermissionsFetcher {
|
||||
@@ -220,7 +220,7 @@ public class WebsitePermissionsFetcher {
|
||||
addFetcherForStorage(queue);
|
||||
queue.add(new CookiesInfoFetcher());
|
||||
for (@ContentSettingsType.EnumType int type = 0;
|
||||
@@ -2794,8 +2807,8 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
|
||||
namespace content_settings {
|
||||
|
||||
@@ -711,6 +712,7 @@ void ContentSettingsRegistry::Init() {
|
||||
WebsiteSettingsRegistry::PLATFORM_CHROMEOS,
|
||||
@@ -730,6 +731,7 @@ void ContentSettingsRegistry::Init() {
|
||||
WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||
ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
+#include "components/content_settings/core/browser/bromite_content_settings.inc"
|
||||
@@ -2805,7 +2818,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
diff --git a/components/content_settings/core/browser/content_settings_uma_util.cc b/components/content_settings/core/browser/content_settings_uma_util.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_uma_util.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_uma_util.cc
|
||||
@@ -184,8 +184,9 @@ void RecordContentSettingsHistogram(const std::string& name,
|
||||
@@ -187,8 +187,9 @@ void RecordContentSettingsHistogram(const std::string& name,
|
||||
}
|
||||
|
||||
int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) {
|
||||
@@ -2930,7 +2943,7 @@ diff --git a/components/content_settings/core/browser/website_settings_registry.
|
||||
diff --git a/components/content_settings/core/common/BUILD.gn b/components/content_settings/core/common/BUILD.gn
|
||||
--- a/components/content_settings/core/common/BUILD.gn
|
||||
+++ b/components/content_settings/core/common/BUILD.gn
|
||||
@@ -56,6 +56,13 @@ static_library("common") {
|
||||
@@ -57,6 +57,13 @@ static_library("common") {
|
||||
"//net",
|
||||
"//url",
|
||||
]
|
||||
@@ -2999,9 +3012,9 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
|
||||
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
|
||||
--- a/components/content_settings/core/common/content_settings.h
|
||||
+++ b/components/content_settings/core/common/content_settings.h
|
||||
@@ -74,10 +74,20 @@ typedef std::vector<ContentSettingPatternSource> ContentSettingsForOneType;
|
||||
typedef std::map<std::string, ContentSettingsForOneType>
|
||||
HostIndexedContentSettings;
|
||||
@@ -71,10 +71,20 @@ std::ostream& operator<<(std::ostream& os,
|
||||
|
||||
typedef std::vector<ContentSettingPatternSource> ContentSettingsForOneType;
|
||||
|
||||
+struct ContentSettingRuleSource {
|
||||
+ int type;
|
||||
@@ -3023,8 +3036,8 @@ diff --git a/components/content_settings/core/common/content_settings.h b/compon
|
||||
diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom
|
||||
--- a/components/content_settings/core/common/content_settings.mojom
|
||||
+++ b/components/content_settings/core/common/content_settings.mojom
|
||||
@@ -76,6 +76,11 @@ struct RuleMetaData {
|
||||
mojo_base.mojom.TimeDelta lifetime;
|
||||
@@ -78,6 +78,11 @@ struct RuleMetaData {
|
||||
TpcdMetadataRuleSource tpcd_metadata_rule_source;
|
||||
};
|
||||
|
||||
+struct ContentSettingRuleSource {
|
||||
@@ -3035,7 +3048,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
|
||||
// This mirrors the C++ type in content_settings.h.
|
||||
struct ContentSettingPatternSource {
|
||||
ContentSettingsPattern primary_pattern;
|
||||
@@ -89,6 +94,7 @@ struct ContentSettingPatternSource {
|
||||
@@ -91,6 +96,7 @@ struct ContentSettingPatternSource {
|
||||
// This mirrors the C++ type in content_settings.h.
|
||||
// TODO(https://crbug.com/1485360): This should be removed.
|
||||
struct RendererContentSettingRules {
|
||||
@@ -3046,7 +3059,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
|
||||
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
--- a/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
+++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
@@ -154,12 +154,22 @@ bool StructTraits<content_settings::mojom::ContentSettingPatternSourceDataView,
|
||||
@@ -155,12 +155,22 @@ bool StructTraits<content_settings::mojom::ContentSettingPatternSourceDataView,
|
||||
data.ReadMetadata(&out->metadata) && data.ReadSource(&out->source);
|
||||
}
|
||||
|
||||
@@ -3073,7 +3086,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
|
||||
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
--- a/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
+++ b/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
@@ -169,10 +169,34 @@ struct StructTraits<
|
||||
@@ -174,10 +174,34 @@ struct StructTraits<
|
||||
ContentSettingPatternSource* out);
|
||||
};
|
||||
|
||||
@@ -3123,16 +3136,15 @@ diff --git a/components/content_settings/core/common/content_settings_param_trai
|
||||
diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom
|
||||
--- a/components/content_settings/core/common/content_settings_types.mojom
|
||||
+++ b/components/content_settings/core/common/content_settings_types.mojom
|
||||
@@ -387,6 +387,8 @@ enum ContentSettingsType {
|
||||
// Content settings for access to printers for the Web Printing API.
|
||||
WEB_PRINTING,
|
||||
@@ -399,5 +399,7 @@ enum ContentSettingsType {
|
||||
SPEAKER_SELECTION,
|
||||
|
||||
|
||||
- NUM_TYPES,
|
||||
+ NUM_TYPES_CHROMIUM,
|
||||
+#include "components/content_settings/core/common/bromite_content_settings.inc"
|
||||
+ NUM_TYPES_BROMITE,
|
||||
};
|
||||
|
||||
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
@@ -3248,7 +3260,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
std::map<ContentSettingsType, ContentSetting>
|
||||
user_specified_settings_to_display;
|
||||
std::map<ContentSettingsType, bool>
|
||||
@@ -211,6 +221,14 @@ absl::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
|
||||
@@ -211,6 +221,14 @@ std::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
|
||||
return permission.setting;
|
||||
}
|
||||
|
||||
@@ -3267,14 +3279,14 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
--- a/components/page_info/page_info.cc
|
||||
+++ b/components/page_info/page_info.cc
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "build/chromeos_buildflags.h"
|
||||
#include "components/browsing_data/content/browsing_data_helper.h"
|
||||
#include "components/browsing_data/core/features.h"
|
||||
#include "components/content_settings/browser/page_specific_content_settings.h"
|
||||
+#include "components/content_settings/core/browser/website_settings_registry.h"
|
||||
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
|
||||
#include "components/content_settings/core/browser/content_settings_registry.h"
|
||||
#include "components/content_settings/core/browser/content_settings_uma_util.h"
|
||||
@@ -1236,6 +1237,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
@@ -1225,6 +1226,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
// applies to permissions listed in |kPermissionType|.
|
||||
bool PageInfo::ShouldShowPermission(
|
||||
const PageInfo::PermissionInfo& info) const {
|
||||
@@ -3289,7 +3301,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
// Note |ContentSettingsType::ADS| will show up regardless of its default
|
||||
// value when it has been activated on the current origin.
|
||||
if (info.type == ContentSettingsType::ADS) {
|
||||
@@ -1362,7 +1371,19 @@ void PageInfo::PresentSitePermissions() {
|
||||
@@ -1331,7 +1340,19 @@ void PageInfo::PresentSitePermissions() {
|
||||
|
||||
HostContentSettingsMap* content_settings = GetContentSettings();
|
||||
DCHECK(web_contents_);
|
||||
@@ -3321,7 +3333,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
|
||||
#include "components/page_info/core/features.h"
|
||||
#include "components/page_info/page_info.h"
|
||||
#include "components/page_info/page_info_ui_delegate.h"
|
||||
@@ -624,6 +625,12 @@ PageInfoUI::~PageInfoUI() = default;
|
||||
@@ -615,6 +616,12 @@ PageInfoUI::~PageInfoUI() = default;
|
||||
|
||||
// static
|
||||
std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
@@ -3334,7 +3346,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
|
||||
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
|
||||
if (info.type == type)
|
||||
return l10n_util::GetStringUTF16(info.string_id);
|
||||
@@ -635,6 +642,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
@@ -626,6 +633,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
// static
|
||||
std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
|
||||
ContentSettingsType type) {
|
||||
@@ -3347,7 +3359,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
|
||||
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
|
||||
if (info.type == type)
|
||||
return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
|
||||
@@ -1069,6 +1082,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
|
||||
@@ -1060,6 +1073,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
|
||||
if (info.type == type)
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/build/BUILD.gn b/build/BUILD.gn
|
||||
--- a/build/BUILD.gn
|
||||
+++ b/build/BUILD.gn
|
||||
@@ -51,6 +51,14 @@ buildflag_header("branding_buildflags") {
|
||||
@@ -55,6 +55,14 @@ buildflag_header("branding_buildflags") {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13147,7 +13147,7 @@ e)fqMZZ`3a)Ds&5H<cfp<0000<MNUMnLSTYHt&Yn8
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -2037,6 +2037,7 @@ static_library("browser") {
|
||||
@@ -2050,6 +2050,7 @@ static_library("browser") {
|
||||
"//build:chromeos_buildflags",
|
||||
"//build/config/chromebox_for_meetings:buildflags",
|
||||
"//build/config/compiler:compiler_buildflags",
|
||||
@@ -13209,7 +13209,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -2112,7 +2112,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -2124,7 +2124,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
About Chrome
|
||||
</message>
|
||||
<message name="IDS_LEGAL_INFORMATION_SUMMARY" desc="Summary for legal information" meaning="Android">
|
||||
@@ -13221,7 +13221,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
|
||||
--- a/chrome/common/url_constants.h
|
||||
+++ b/chrome/common/url_constants.h
|
||||
@@ -114,7 +114,7 @@ inline constexpr char kChromeHelpViaMenuURL[] =
|
||||
@@ -126,7 +126,7 @@ inline constexpr char kChromeHelpViaMenuURL[] =
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
inline constexpr char kChromeHelpViaWebUIURL[] =
|
||||
@@ -13230,7 +13230,7 @@ diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
inline constexpr char kChromeOsHelpViaWebUIURL[] =
|
||||
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||
@@ -177,7 +177,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] =
|
||||
@@ -189,7 +189,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] =
|
||||
"chrome-untrusted://new-tab-page/";
|
||||
|
||||
// The URL for the Chromium project used in the About dialog.
|
||||
@@ -13242,7 +13242,7 @@ diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
|
||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
@@ -997,7 +997,7 @@
|
||||
@@ -994,7 +994,7 @@
|
||||
|
||||
<!-- Accessibility preferences -->
|
||||
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
|
||||
@@ -18202,7 +18202,7 @@ diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
|
||||
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
|
||||
--- a/ui/base/ui_base_features.cc
|
||||
+++ b/ui/base/ui_base_features.cc
|
||||
@@ -625,4 +625,6 @@ BASE_FEATURE(kUseGammaContrastRegistrySettings,
|
||||
@@ -643,4 +643,6 @@ BASE_FEATURE(kUseGammaContrastRegistrySettings,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ Opens tabs in foreground, Move web search to the top of items,
|
||||
Web search in tab group and Enable smart text selection
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../browser/ChromeActionModeHandler.java | 4 +-
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 15 +-
|
||||
.../compositor/layouts/LayoutManagerImpl.java | 8 ++
|
||||
.../chrome/browser/ui/RootUiCoordinator.java | 8 +-
|
||||
@@ -14,13 +15,27 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../res/xml/accessibility_preferences.xml | 24 ++++
|
||||
.../selection/SelectActionMenuHelper.java | 131 ++++++++++++------
|
||||
.../selection/SmartSelectionClient.java | 4 +
|
||||
7 files changed, 177 insertions(+), 47 deletions(-)
|
||||
8 files changed, 178 insertions(+), 50 deletions(-)
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Customize-selection-popup.grdp
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
|
||||
@@ -148,9 +148,7 @@ public class ChromeActionModeHandler {
|
||||
| ActionModeCallbackHelper.MENU_ITEM_SHARE;
|
||||
// Disable options that expose additional Chrome functionality prior to the FRE being
|
||||
// completed (i.e. creation of a new tab).
|
||||
- if (FirstRunStatus.getFirstRunFlowComplete()) {
|
||||
- allowedActionModes |= ActionModeCallbackHelper.MENU_ITEM_WEB_SEARCH;
|
||||
- }
|
||||
+ allowedActionModes |= ActionModeCallbackHelper.MENU_ITEM_WEB_SEARCH;
|
||||
mHelper.setAllowedMenuItems(allowedActionModes);
|
||||
|
||||
mHelper.onCreateActionMode(mode, menu);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -723,10 +723,17 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -737,10 +737,17 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@TabLaunchType int type,
|
||||
@TabCreationState int creationState,
|
||||
boolean markedForSelection) {
|
||||
@@ -78,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
|
||||
import org.chromium.base.TraceEvent;
|
||||
import org.chromium.base.metrics.RecordUserAction;
|
||||
import org.chromium.base.supplier.ObservableSupplier;
|
||||
@@ -805,11 +806,16 @@ public class RootUiCoordinator
|
||||
@@ -814,11 +815,16 @@ public class RootUiCoordinator
|
||||
TrackerFactory.getTrackerForProfile(tab.getProfile())
|
||||
.notifyEvent(EventConstants.WEB_SEARCH_PERFORMED);
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -3187,8 +3187,8 @@
|
||||
@@ -3110,8 +3110,8 @@
|
||||
status: "stable",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
@@ -286,8 +286,17 @@ class LocationBarMediator
|
||||
@@ -289,8 +289,17 @@ class LocationBarMediator
|
||||
if (mNativeInitialized) RecordUserAction.record("FocusLocation");
|
||||
// Don't clear Omnibox if the user just pasted text to NTP Omnibox.
|
||||
if (mShouldClearOmniboxOnFocus) {
|
||||
@@ -66,7 +66,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
private boolean mPendingScroll;
|
||||
|
||||
// Captures the current intended text scroll type.
|
||||
@@ -299,6 +301,27 @@ public abstract class UrlBar extends AutocompleteEditText {
|
||||
@@ -294,6 +296,27 @@ public abstract class UrlBar extends AutocompleteEditText {
|
||||
mPendingScroll = false;
|
||||
}
|
||||
fixupTextDirection();
|
||||
|
||||
@@ -42,7 +42,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
||||
@@ -1044,6 +1044,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
|
||||
@@ -1112,6 +1112,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
|
||||
structure.setChildCount(0);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4,18 +4,53 @@ Subject: Disable Android AppRestrictions
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
chrome/browser/enterprise/util/BUILD.gn | 1 +
|
||||
.../enterprise/util/EnterpriseInfoImpl.java | 5 +++
|
||||
chrome/browser/flags/BUILD.gn | 1 +
|
||||
.../cromite/sEnableAndroidAppRestriction.java | 39 +++++++++++++++++++
|
||||
.../policy/AppRestrictionsProvider.java | 8 ++++
|
||||
.../policy/AppRestrictionsProvider.java | 12 ++++++
|
||||
.../DisableAndroidAppRestriction.inc | 13 +++++++
|
||||
.../disable-android-app-restriction.inc | 3 ++
|
||||
.../disable-android-app-restriction.inc | 1 +
|
||||
6 files changed, 65 insertions(+)
|
||||
8 files changed, 75 insertions(+)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableAndroidAppRestriction.java
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/DisableAndroidAppRestriction.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-android-app-restriction.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/disable-android-app-restriction.inc
|
||||
|
||||
diff --git a/chrome/browser/enterprise/util/BUILD.gn b/chrome/browser/enterprise/util/BUILD.gn
|
||||
--- a/chrome/browser/enterprise/util/BUILD.gn
|
||||
+++ b/chrome/browser/enterprise/util/BUILD.gn
|
||||
@@ -20,6 +20,7 @@ android_library("java") {
|
||||
"//build/android:build_java",
|
||||
"//chrome/browser/flags:java",
|
||||
"//chrome/browser/profiles/android:java",
|
||||
+ "//components/policy/android:policy_java",
|
||||
"//third_party/androidx:androidx_annotation_annotation_java",
|
||||
"//third_party/jni_zero:jni_zero_java",
|
||||
]
|
||||
diff --git a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java
|
||||
--- a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java
|
||||
+++ b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java
|
||||
@@ -23,6 +23,7 @@ import org.chromium.base.metrics.RecordHistogram;
|
||||
import org.chromium.base.task.AsyncTask;
|
||||
import org.chromium.base.task.TaskTraits;
|
||||
import org.chromium.chrome.browser.flags.ChromeSwitches;
|
||||
+import org.chromium.components.policy.AppRestrictionsProvider;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.Queue;
|
||||
@@ -76,6 +77,10 @@ public class EnterpriseInfoImpl extends EnterpriseInfo {
|
||||
new AsyncTask<OwnedState>() {
|
||||
// TODO: Unit test this function. https://crbug.com/1099262
|
||||
private OwnedState calculateIsRunningOnManagedProfile(Context context) {
|
||||
+ if (!AppRestrictionsProvider.isEnabled()) {
|
||||
+ return new OwnedState(/*hasDeviceOwnerApp*/false,
|
||||
+ /*hasProfileOwnerApp*/false);
|
||||
+ }
|
||||
boolean hasProfileOwnerApp = false;
|
||||
boolean hasDeviceOwnerApp = false;
|
||||
PackageManager packageManager = context.getPackageManager();
|
||||
diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||
--- a/chrome/browser/flags/BUILD.gn
|
||||
+++ b/chrome/browser/flags/BUILD.gn
|
||||
@@ -74,7 +109,7 @@ new file mode 100644
|
||||
diff --git a/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java b/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java
|
||||
--- a/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java
|
||||
+++ b/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java
|
||||
@@ -17,6 +17,11 @@ import org.chromium.base.Log;
|
||||
@@ -17,6 +17,15 @@ import org.chromium.base.Log;
|
||||
*/
|
||||
public class AppRestrictionsProvider extends AbstractAppRestrictionsProvider {
|
||||
private static final String TAG = "AppResProvider";
|
||||
@@ -82,11 +117,15 @@ diff --git a/components/policy/android/java/src/org/chromium/components/policy/A
|
||||
+
|
||||
+ public static void setEnabled(boolean value) {
|
||||
+ mEnabled = value;
|
||||
+ }
|
||||
+
|
||||
+ public static boolean isEnabled() {
|
||||
+ return mEnabled;
|
||||
+ }
|
||||
|
||||
/**
|
||||
* Get the app restriction information from provided user manager, and record some timing
|
||||
@@ -28,6 +33,9 @@ public class AppRestrictionsProvider extends AbstractAppRestrictionsProvider {
|
||||
@@ -28,6 +37,9 @@ public class AppRestrictionsProvider extends AbstractAppRestrictionsProvider {
|
||||
*/
|
||||
public static Bundle getApplicationRestrictionsFromUserManager(
|
||||
UserManager userManager, String packageName) {
|
||||
|
||||
@@ -7,14 +7,14 @@ This feature is detrimental to privacy, see also:
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../common/chrome_features_cc/Disable-AsyncDNS-by-default.inc | 1 +
|
||||
.../net/base/features_cc/Disable-AsyncDNS-by-default.inc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-AsyncDNS-by-default.inc
|
||||
create mode 100644 cromite_flags/net/base/features_cc/Disable-AsyncDNS-by-default.inc
|
||||
|
||||
diff --git a/cromite_flags/chrome/common/chrome_features_cc/Disable-AsyncDNS-by-default.inc b/cromite_flags/chrome/common/chrome_features_cc/Disable-AsyncDNS-by-default.inc
|
||||
diff --git a/cromite_flags/net/base/features_cc/Disable-AsyncDNS-by-default.inc b/cromite_flags/net/base/features_cc/Disable-AsyncDNS-by-default.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/cromite_flags/chrome/common/chrome_features_cc/Disable-AsyncDNS-by-default.inc
|
||||
+++ b/cromite_flags/net/base/features_cc/Disable-AsyncDNS-by-default.inc
|
||||
@@ -0,0 +1 @@
|
||||
+SET_CROMITE_FEATURE_DISABLED(kAsyncDns);
|
||||
--
|
||||
|
||||
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/component_updater/registration.cc
|
||||
--- a/chrome/browser/component_updater/registration.cc
|
||||
+++ b/chrome/browser/component_updater/registration.cc
|
||||
@@ -100,6 +100,7 @@
|
||||
@@ -99,6 +99,7 @@
|
||||
namespace component_updater {
|
||||
|
||||
void RegisterComponentsForUpdate() {
|
||||
@@ -23,10 +23,10 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c
|
||||
diff --git a/components/component_updater/component_installer.cc b/components/component_updater/component_installer.cc
|
||||
--- a/components/component_updater/component_installer.cc
|
||||
+++ b/components/component_updater/component_installer.cc
|
||||
@@ -97,6 +97,7 @@ void ComponentInstaller::Register(ComponentUpdateService* cus,
|
||||
void ComponentInstaller::Register(RegisterCallback register_callback,
|
||||
base::OnceClosure callback,
|
||||
const base::Version& registered_version) {
|
||||
@@ -99,6 +99,7 @@ void ComponentInstaller::Register(
|
||||
base::OnceClosure callback,
|
||||
const base::Version& registered_version,
|
||||
const base::Version& max_previous_product_version) {
|
||||
+ if ((true)) return;
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
|
||||
@@ -34,7 +34,7 @@ diff --git a/components/component_updater/component_installer.cc b/components/co
|
||||
diff --git a/components/component_updater/component_updater_service.cc b/components/component_updater/component_updater_service.cc
|
||||
--- a/components/component_updater/component_updater_service.cc
|
||||
+++ b/components/component_updater/component_updater_service.cc
|
||||
@@ -530,7 +530,7 @@ std::unique_ptr<ComponentUpdateService> ComponentUpdateServiceFactory(
|
||||
@@ -539,7 +539,7 @@ std::unique_ptr<ComponentUpdateService> ComponentUpdateServiceFactory(
|
||||
// Register prefs required by the component update service.
|
||||
void RegisterComponentUpdateServicePrefs(PrefRegistrySimple* registry) {
|
||||
// The component updates are enabled by default, if the preference is not set.
|
||||
|
||||
@@ -5,17 +5,28 @@ Subject: Disable Compose feature
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
components/compose/core/browser/compose_features.cc | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
components/compose/features.gni | 2 +-
|
||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/components/compose/core/browser/compose_features.cc b/components/compose/core/browser/compose_features.cc
|
||||
--- a/components/compose/core/browser/compose_features.cc
|
||||
+++ b/components/compose/core/browser/compose_features.cc
|
||||
@@ -48,4 +48,7 @@ BASE_FEATURE(kEnableComposeSavedStateNotification,
|
||||
BASE_FEATURE(kComposeUiParams,
|
||||
"ComposeUiParams",
|
||||
@@ -56,4 +56,7 @@ BASE_FEATURE(kComposeTextOutputAnimation,
|
||||
BASE_FEATURE(kComposeTextSelection,
|
||||
"ComposeTextSelection",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+
|
||||
+SET_CROMITE_FEATURE_DISABLED(kEnableCompose);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kComposeEligible);
|
||||
} // namespace compose::features
|
||||
diff --git a/components/compose/features.gni b/components/compose/features.gni
|
||||
--- a/components/compose/features.gni
|
||||
+++ b/components/compose/features.gni
|
||||
@@ -4,5 +4,5 @@
|
||||
|
||||
declare_args() {
|
||||
# Whether Compose is enabled in the build.
|
||||
- enable_compose = is_mac || is_win || is_linux
|
||||
+ enable_compose = false
|
||||
}
|
||||
--
|
||||
|
||||
@@ -10,14 +10,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -705,16 +705,18 @@
|
||||
@@ -651,16 +651,18 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
- name: "CompressionDictionaryTransport",
|
||||
+ name: "CompressionDictionaryTransport", // need to be disabled
|
||||
base_feature: "none",
|
||||
origin_trial_feature_name: "CompressionDictionaryTransport",
|
||||
origin_trial_feature_name: "CompressionDictionaryTransportV2",
|
||||
origin_trial_allows_third_party: true,
|
||||
public: true,
|
||||
+ status: "experimental",
|
||||
|
||||
@@ -25,7 +25,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -3240,6 +3240,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
|
||||
@@ -3239,6 +3239,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
|
||||
const url::Origin* destination_origin,
|
||||
const url::Origin* reporting_origin,
|
||||
bool* can_bypass) {
|
||||
@@ -59,7 +59,7 @@ diff --git a/chrome/browser/ui/privacy_sandbox/privacy_sandbox_prompt.cc b/chrom
|
||||
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
|
||||
--- a/components/history/core/browser/history_backend.cc
|
||||
+++ b/components/history/core/browser/history_backend.cc
|
||||
@@ -655,18 +655,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
|
||||
@@ -656,18 +656,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
|
||||
if (!visit_id)
|
||||
return;
|
||||
|
||||
@@ -94,7 +94,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_san
|
||||
diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components/privacy_sandbox/privacy_sandbox_features.cc
|
||||
--- a/components/privacy_sandbox/privacy_sandbox_features.cc
|
||||
+++ b/components/privacy_sandbox/privacy_sandbox_features.cc
|
||||
@@ -164,4 +164,8 @@ BASE_FEATURE(kTrackingProtectionNoticeRequestTracking,
|
||||
@@ -167,4 +167,8 @@ BASE_FEATURE(kTrackingProtectionNoticeRequestTracking,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -127,7 +127,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
|
||||
diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
|
||||
--- a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
|
||||
+++ b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
|
||||
@@ -121,7 +121,7 @@ std::set<browsing_topics::Topic> GetTopicsSetFromString(
|
||||
@@ -123,7 +123,7 @@ std::set<browsing_topics::Topic> GetTopicsSetFromString(
|
||||
|
||||
// static
|
||||
bool PrivacySandboxSettingsImpl::IsAllowed(Status status) {
|
||||
@@ -136,7 +136,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -230,7 +230,8 @@ PrivacySandboxSettingsImpl::GetFinchPrioritizedTopics() {
|
||||
@@ -232,7 +232,8 @@ PrivacySandboxSettingsImpl::GetFinchPrioritizedTopics() {
|
||||
return finch_prioritized_topics_;
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
|
||||
Status status = GetM1TopicAllowedStatus();
|
||||
JoinHistogram(kIsTopicsAllowedHistogram, status);
|
||||
return IsAllowed(status);
|
||||
@@ -262,7 +263,8 @@ bool PrivacySandboxSettingsImpl::IsTopicsAllowedForContext(
|
||||
@@ -264,7 +265,8 @@ bool PrivacySandboxSettingsImpl::IsTopicsAllowedForContext(
|
||||
return IsAllowed(status);
|
||||
}
|
||||
|
||||
@@ -156,7 +156,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
|
||||
const auto& blocked_topics =
|
||||
pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics);
|
||||
|
||||
@@ -464,6 +466,7 @@ bool PrivacySandboxSettingsImpl::
|
||||
@@ -466,6 +468,7 @@ bool PrivacySandboxSettingsImpl::
|
||||
void PrivacySandboxSettingsImpl::SetFledgeJoiningAllowed(
|
||||
const std::string& top_frame_etld_plus1,
|
||||
bool allowed) {
|
||||
@@ -164,7 +164,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
|
||||
ScopedDictPrefUpdate scoped_pref_update(
|
||||
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
|
||||
|
||||
@@ -534,7 +537,8 @@ void PrivacySandboxSettingsImpl::ClearFledgeJoiningAllowedSettings(
|
||||
@@ -536,7 +539,8 @@ void PrivacySandboxSettingsImpl::ClearFledgeJoiningAllowedSettings(
|
||||
}
|
||||
|
||||
bool PrivacySandboxSettingsImpl::IsFledgeJoiningAllowed(
|
||||
@@ -174,7 +174,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
|
||||
ScopedDictPrefUpdate scoped_pref_update(
|
||||
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
|
||||
auto& pref_data = scoped_pref_update.Get();
|
||||
@@ -742,7 +746,10 @@ void PrivacySandboxSettingsImpl::SetDelegateForTesting(
|
||||
@@ -782,7 +786,10 @@ void PrivacySandboxSettingsImpl::SetDelegateForTesting(
|
||||
delegate_ = std::move(delegate);
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
|
||||
pref_service_->SetTime(prefs::kPrivacySandboxTopicsDataAccessibleSince,
|
||||
base::Time::Now());
|
||||
|
||||
@@ -755,6 +762,7 @@ PrivacySandboxSettingsImpl::Status
|
||||
@@ -795,6 +802,7 @@ PrivacySandboxSettingsImpl::Status
|
||||
PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus(
|
||||
const url::Origin& top_frame_origin,
|
||||
const GURL& url) const {
|
||||
@@ -194,7 +194,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
|
||||
// Relying on |host_content_settings_map_| instead of |cookie_settings_|
|
||||
// allows to query whether the site associated with the |url| is allowed to
|
||||
// access Site data (aka ContentSettingsType::COOKIES) without considering any
|
||||
@@ -769,6 +777,7 @@ PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus(
|
||||
@@ -809,6 +817,7 @@ PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus(
|
||||
PrivacySandboxSettingsImpl::Status
|
||||
PrivacySandboxSettingsImpl::GetPrivacySandboxAllowedStatus(
|
||||
bool should_ignore_restriction /*=false*/) const {
|
||||
@@ -211,7 +211,7 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -2329,6 +2329,7 @@ bool IsAllowPageWithIDBConnectionAndTransactionInBFCacheEnabled() {
|
||||
@@ -2462,6 +2462,7 @@ bool IsAllowPageWithIDBConnectionAndTransactionInBFCacheEnabled() {
|
||||
}
|
||||
|
||||
bool IsAllowURNsInIframeEnabled() {
|
||||
|
||||
@@ -18,7 +18,7 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -1600,7 +1600,7 @@
|
||||
@@ -1570,7 +1570,7 @@
|
||||
{
|
||||
name: "FedCm",
|
||||
public: true,
|
||||
|
||||
@@ -21,8 +21,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
|
||||
-import org.chromium.chrome.browser.gsa.GSAState;
|
||||
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteControllerProvider;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.renderer_host.ChromeNavigationUIData;
|
||||
@@ -243,8 +242,6 @@ public class IntentHandler {
|
||||
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
@@ -244,8 +243,6 @@ public class IntentHandler {
|
||||
private static int sReferrerId;
|
||||
private static String sPendingIncognitoUrl;
|
||||
|
||||
@@ -31,7 +31,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
|
||||
private static final String PACKAGE_GMAIL = "com.google.android.gm";
|
||||
private static final String PACKAGE_PLUS = "com.google.android.apps.plus";
|
||||
private static final String PACKAGE_HANGOUTS = "com.google.android.talk";
|
||||
@@ -460,8 +457,6 @@ public class IntentHandler {
|
||||
@@ -461,8 +458,6 @@ public class IntentHandler {
|
||||
return ExternalAppId.LINE;
|
||||
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
|
||||
return ExternalAppId.WHATSAPP;
|
||||
@@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
|
||||
diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java
|
||||
--- a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java
|
||||
+++ b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java
|
||||
@@ -32,8 +32,6 @@ import java.util.regex.Pattern;
|
||||
@@ -31,8 +31,6 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** A class responsible for representing the current state of Chrome's integration with GSA. */
|
||||
public class GSAState {
|
||||
@@ -94,7 +94,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAStat
|
||||
/** Used to observe state changes in the class. */
|
||||
public interface Observer {
|
||||
/** Called when the GSA account name is set. */
|
||||
@@ -71,7 +69,7 @@ public class GSAState {
|
||||
@@ -70,7 +68,7 @@ public class GSAState {
|
||||
private final ObserverList<Observer> mObserverList = new ObserverList<>();
|
||||
|
||||
/** Caches the result of a computation on whether GSA is available. */
|
||||
@@ -103,7 +103,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAStat
|
||||
|
||||
/**
|
||||
* The Google account email address being used by GSA according to the latest update we have
|
||||
@@ -153,7 +151,7 @@ public class GSAState {
|
||||
@@ -152,7 +150,7 @@ public class GSAState {
|
||||
|
||||
/** Returns whether the GSA package is installed on device. */
|
||||
public boolean isGsaInstalled() {
|
||||
@@ -112,7 +112,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAStat
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -176,6 +174,7 @@ public class GSAState {
|
||||
@@ -175,6 +173,7 @@ public class GSAState {
|
||||
*/
|
||||
public boolean isAgsaVersionBelowMinimum(
|
||||
String installedVersionName, String minimumVersionName) {
|
||||
@@ -120,7 +120,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAStat
|
||||
if (TextUtils.isEmpty(installedVersionName) || TextUtils.isEmpty(minimumVersionName)) {
|
||||
return true;
|
||||
}
|
||||
@@ -207,7 +206,7 @@ public class GSAState {
|
||||
@@ -206,7 +205,7 @@ public class GSAState {
|
||||
* @return Whether the given intent can be handled by Agsa.
|
||||
*/
|
||||
public boolean canAgsaHandleIntent(@NonNull Intent intent) {
|
||||
@@ -129,7 +129,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAStat
|
||||
|
||||
ComponentName activity =
|
||||
intent.resolveActivity(ContextUtils.getApplicationContext().getPackageManager());
|
||||
@@ -221,7 +220,7 @@ public class GSAState {
|
||||
@@ -220,7 +219,7 @@ public class GSAState {
|
||||
* @return The version name of the Agsa package or null if it can't be found.
|
||||
*/
|
||||
public @Nullable String getAgsaVersionName() {
|
||||
|
||||
@@ -43,7 +43,7 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -2160,9 +2160,9 @@
|
||||
@@ -2114,9 +2114,9 @@
|
||||
status: {"Android": "test", "default": "stable"},
|
||||
},
|
||||
{
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Wed, 20 Mar 2024 16:26:23 +0000
|
||||
Subject: Disable Paint Preview by default
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../chrome/browser/paint_preview/StartupPaintPreviewHelper.java | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
|
||||
@@ -112,7 +112,7 @@ public class StartupPaintPreviewHelper {
|
||||
* feature is not enabled this is effectively a no-op.
|
||||
*/
|
||||
public static void setShouldShowOnRestore(boolean shouldShowOnRestore) {
|
||||
- sShouldShowOnRestore = shouldShowOnRestore;
|
||||
+ sShouldShowOnRestore = false;
|
||||
}
|
||||
|
||||
/** Attempts to display the Paint Preview representation for the given Tab. */
|
||||
--
|
||||
@@ -13,7 +13,7 @@ Real-box is search box in ntp
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -2027,7 +2027,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -2072,7 +2072,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kLensRegionSearchEnabled, true,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
@@ -25,7 +25,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html
|
||||
--- a/chrome/browser/resources/new_tab_page/app.html
|
||||
+++ b/chrome/browser/resources/new_tab_page/app.html
|
||||
@@ -403,11 +403,6 @@
|
||||
@@ -504,11 +504,6 @@
|
||||
hidden$="[[!logoEnabled_]]">
|
||||
</ntp-logo>
|
||||
<div id="realboxContainer">
|
||||
@@ -40,7 +40,7 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res
|
||||
diff --git a/chrome/browser/ui/webui/realbox/realbox_handler.cc b/chrome/browser/ui/webui/realbox/realbox_handler.cc
|
||||
--- a/chrome/browser/ui/webui/realbox/realbox_handler.cc
|
||||
+++ b/chrome/browser/ui/webui/realbox/realbox_handler.cc
|
||||
@@ -670,7 +670,7 @@ void RealboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
|
||||
@@ -672,7 +672,7 @@ void RealboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
|
||||
|
||||
source->AddBoolean(
|
||||
"realboxLensSearch",
|
||||
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/ui/webui/realbox/realbox_handler.cc b/chrome/browser
|
||||
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
|
||||
--- a/components/search/ntp_features.cc
|
||||
+++ b/components/search/ntp_features.cc
|
||||
@@ -165,7 +165,7 @@ BASE_FEATURE(kNtpHandleMostVisitedNavigationExplicitly,
|
||||
@@ -171,7 +171,7 @@ BASE_FEATURE(kNtpHandleMostVisitedNavigationExplicitly,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
// If enabled, logo will be shown.
|
||||
@@ -61,7 +61,7 @@ diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.
|
||||
|
||||
// If enabled, logo will fill up less vertical space.
|
||||
BASE_FEATURE(kNtpReducedLogoSpace,
|
||||
@@ -242,8 +242,8 @@ BASE_FEATURE(kNtpMostVisitedReflowOnOverflow,
|
||||
@@ -248,8 +248,8 @@ BASE_FEATURE(kNtpMostVisitedReflowOnOverflow,
|
||||
|
||||
// If enabled, OneGoogleBar will be shown.
|
||||
BASE_FEATURE(kNtpOneGoogleBar,
|
||||
|
||||
@@ -75,7 +75,7 @@ diff --git a/components/embedder_support/content_settings_utils.cc b/components/
|
||||
|
||||
return content::AllowServiceWorkerResult::FromPolicy(!allow_javascript,
|
||||
!allow_cookies);
|
||||
@@ -142,17 +124,16 @@ bool AllowSharedWorker(
|
||||
@@ -143,17 +125,16 @@ bool AllowSharedWorker(
|
||||
worker_url, site_for_cookies, top_frame_origin,
|
||||
cookie_settings->SettingOverridesForStorage(), &cookie_settings_metadata);
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -621,7 +621,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -634,7 +634,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sSmallerTabStripTitleLimit =
|
||||
newCachedFlag(SMALLER_TAB_STRIP_TITLE_LIMIT, false);
|
||||
public static final CachedFlag sStartSurfaceAndroid =
|
||||
|
||||
@@ -91,14 +91,14 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
|
||||
--- a/net/quic/quic_session_pool.cc
|
||||
+++ b/net/quic/quic_session_pool.cc
|
||||
@@ -69,6 +69,7 @@
|
||||
#include "net/third_party/quiche/src/quiche/quic/core/quic_utils.h"
|
||||
#include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h"
|
||||
#include "net/traffic_annotation/network_traffic_annotation.h"
|
||||
#include "third_party/boringssl/src/include/openssl/aead.h"
|
||||
+#include "third_party/boringssl/src/include/openssl/ssl.h"
|
||||
#include "url/gurl.h"
|
||||
#include "url/scheme_host_port.h"
|
||||
#include "url/url_constants.h"
|
||||
@@ -196,6 +197,38 @@ std::set<std::string> HostsFromOrigins(std::set<HostPortPair> origins) {
|
||||
@@ -156,6 +157,38 @@ std::set<std::string> HostsFromOrigins(std::set<HostPortPair> origins) {
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -134,10 +134,10 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
// Refcounted class that owns quic::QuicCryptoClientConfig and tracks how many
|
||||
// consumers are using it currently. When the last reference is freed, the
|
||||
// QuicCryptoClientConfigHandle informs the owning QuicSessionPool, moves it
|
||||
@@ -2409,7 +2442,7 @@ QuicSessionPool::CreateCryptoConfigHandle(
|
||||
QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {}
|
||||
|
||||
QuicSessionRequest::~QuicSessionRequest() {
|
||||
@@ -1716,7 +1749,7 @@ QuicSessionPool::CreateCryptoConfigHandle(
|
||||
cert_verifier_, transport_security_state_, sct_auditing_delegate_,
|
||||
HostsFromOrigins(params_.origins_to_force_quic_on),
|
||||
actual_network_anonymization_key),
|
||||
|
||||
@@ -4,14 +4,27 @@ Subject: Disable WebGPU
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
content/child/runtime_features.cc | 2 ++
|
||||
gpu/config/gpu_finch_features.cc | 2 +-
|
||||
third_party/blink/renderer/modules/webgpu/gpu.cc | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||
--- a/content/child/runtime_features.cc
|
||||
+++ b/content/child/runtime_features.cc
|
||||
@@ -586,6 +586,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
|
||||
WebRuntimeFeatures::EnableV8IdleTasks(true);
|
||||
}
|
||||
|
||||
+ WebRuntimeFeatures::EnableFeatureFromString("WebGpu", false);
|
||||
+
|
||||
WebRuntimeFeatures::EnableBackForwardCache(
|
||||
content::IsBackForwardCacheEnabled());
|
||||
|
||||
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
|
||||
--- a/gpu/config/gpu_finch_features.cc
|
||||
+++ b/gpu/config/gpu_finch_features.cc
|
||||
@@ -295,7 +295,7 @@ BASE_FEATURE(kForceGpuMainThreadToNormalPriorityDrDc,
|
||||
@@ -266,7 +266,7 @@ BASE_FEATURE(kEnableDrDc,
|
||||
// enabled by default on supported platforms.
|
||||
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \
|
||||
BUILDFLAG(IS_ANDROID)
|
||||
@@ -23,7 +36,7 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
|
||||
diff --git a/third_party/blink/renderer/modules/webgpu/gpu.cc b/third_party/blink/renderer/modules/webgpu/gpu.cc
|
||||
--- a/third_party/blink/renderer/modules/webgpu/gpu.cc
|
||||
+++ b/third_party/blink/renderer/modules/webgpu/gpu.cc
|
||||
@@ -368,6 +368,7 @@ ScriptPromise GPU::requestAdapter(ScriptState* script_state,
|
||||
@@ -376,6 +376,7 @@ ScriptPromise GPU::requestAdapter(ScriptState* script_state,
|
||||
"WebGPU is experimental on this platform. See "
|
||||
"https://github.com/gpuweb/gpuweb/wiki/"
|
||||
"Implementation-Status#implementation-status"));
|
||||
|
||||
@@ -9,7 +9,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../preloading_model_keyed_service.cc | 1 +
|
||||
.../preloading_model_keyed_service_factory.cc | 4 +--
|
||||
.../chrome_hints_manager.cc | 1 +
|
||||
.../model_validator_keyed_service.cc | 4 ++-
|
||||
.../model_validator_keyed_service.cc | 7 +++++-
|
||||
.../optimization_guide_keyed_service.cc | 1 -
|
||||
.../predictors/loading_predictor_config.cc | 4 +--
|
||||
.../browser/predictors/predictors_features.cc | 11 ++------
|
||||
@@ -32,7 +32,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../Disable-all-predictors-code.inc | 2 ++
|
||||
.../document_speculation_rules.cc | 1 +
|
||||
.../platform/runtime_enabled_features.json5 | 2 +-
|
||||
27 files changed, 80 insertions(+), 38 deletions(-)
|
||||
27 files changed, 83 insertions(+), 38 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
|
||||
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
|
||||
create mode 100644 cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc
|
||||
@@ -41,7 +41,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -845,8 +845,6 @@ static_library("browser") {
|
||||
@@ -851,8 +851,6 @@ static_library("browser") {
|
||||
"navigation_predictor/navigation_predictor_keyed_service_factory.h",
|
||||
"navigation_predictor/navigation_predictor_metrics_document_data.cc",
|
||||
"navigation_predictor/navigation_predictor_metrics_document_data.h",
|
||||
@@ -87,7 +87,15 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
|
||||
diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc b/chrome/browser/optimization_guide/model_validator_keyed_service.cc
|
||||
--- a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
|
||||
+++ b/chrome/browser/optimization_guide/model_validator_keyed_service.cc
|
||||
@@ -34,13 +34,13 @@ namespace optimization_guide {
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "base/files/file_util.h"
|
||||
#include "base/task/sequenced_task_runner.h"
|
||||
#include "base/task/task_traits.h"
|
||||
+#include "base/task/thread_pool.h"
|
||||
#include "build/build_config.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/browser/signin/identity_manager_factory.h"
|
||||
@@ -55,13 +56,13 @@ namespace optimization_guide {
|
||||
ModelValidatorKeyedService::ModelValidatorKeyedService(Profile* profile)
|
||||
: profile_(profile) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
@@ -102,7 +110,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
|
||||
if (switches::ShouldValidateModel()) {
|
||||
// Create the validator object which will get destroyed when the model
|
||||
// load is complete.
|
||||
@@ -93,6 +93,7 @@ void ModelValidatorKeyedService::OnPrimaryAccountChanged(
|
||||
@@ -122,6 +123,7 @@ void ModelValidatorKeyedService::OnPrimaryAccountChanged(
|
||||
|
||||
void ModelValidatorKeyedService::StartModelExecutionValidation() {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
@@ -110,18 +118,34 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
|
||||
auto* opt_guide_service =
|
||||
OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
|
||||
if (!opt_guide_service) {
|
||||
@@ -110,6 +111,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() {
|
||||
@@ -139,6 +141,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() {
|
||||
proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_TEST, request,
|
||||
base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse,
|
||||
weak_ptr_factory_.GetWeakPtr()));
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ModelValidatorKeyedService::OnModelExecuteResponse(
|
||||
void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation(
|
||||
@@ -156,6 +159,7 @@ void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation(
|
||||
|
||||
void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation(
|
||||
std::unique_ptr<optimization_guide::proto::ComposeRequest> request) {
|
||||
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
auto* opt_guide_service =
|
||||
OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
|
||||
@@ -168,6 +172,7 @@ void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation(
|
||||
*request, base::RepeatingCallback(base::BindRepeating(
|
||||
&ModelValidatorKeyedService::OnDeviceModelExecuteResponse,
|
||||
weak_ptr_factory_.GetWeakPtr())));
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ModelValidatorKeyedService::OnDeviceModelExecuteResponse(
|
||||
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
@@ -560,7 +560,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
|
||||
@@ -528,7 +528,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
|
||||
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
|
||||
const std::vector<optimization_guide::proto::OptimizationType>&
|
||||
optimization_types) {
|
||||
@@ -180,7 +204,7 @@ diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/p
|
||||
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
|
||||
--- a/chrome/browser/ui/tab_helpers.cc
|
||||
+++ b/chrome/browser/ui/tab_helpers.cc
|
||||
@@ -410,7 +410,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -414,7 +414,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
}
|
||||
MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
|
||||
NavigationMetricsRecorder::CreateForWebContents(web_contents);
|
||||
@@ -201,7 +225,7 @@ diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/br
|
||||
#include "components/omnibox/browser/omnibox_field_trial.h"
|
||||
#include "components/search_engines/template_url.h"
|
||||
#include "content/public/browser/web_ui.h"
|
||||
@@ -500,6 +502,7 @@ void OmniboxPageHandler::StartOmniboxQuery(const std::string& input_string,
|
||||
@@ -498,6 +500,7 @@ void OmniboxPageHandler::StartOmniboxQuery(const std::string& input_string,
|
||||
}
|
||||
|
||||
void OmniboxPageHandler::GetMlModelVersion(GetMlModelVersionCallback callback) {
|
||||
@@ -209,7 +233,7 @@ diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/br
|
||||
if (auto* service = GetMlService()) {
|
||||
auto version = service->GetModelVersion();
|
||||
if (version == -1) {
|
||||
@@ -512,10 +515,14 @@ void OmniboxPageHandler::GetMlModelVersion(GetMlModelVersionCallback callback) {
|
||||
@@ -510,10 +513,14 @@ void OmniboxPageHandler::GetMlModelVersion(GetMlModelVersionCallback callback) {
|
||||
} else {
|
||||
std::move(callback).Run(-1);
|
||||
}
|
||||
@@ -224,7 +248,7 @@ diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/br
|
||||
if (auto* service = GetMlService()) {
|
||||
AutocompleteMatch::ScoringSignals signals =
|
||||
mojo::ConvertTo<AutocompleteMatch::ScoringSignals>(mojom_signals);
|
||||
@@ -525,6 +532,9 @@ void OmniboxPageHandler::StartMl(mojom::SignalsPtr mojom_signals,
|
||||
@@ -523,6 +530,9 @@ void OmniboxPageHandler::StartMl(mojom::SignalsPtr mojom_signals,
|
||||
} else {
|
||||
std::move(callback).Run(-1);
|
||||
}
|
||||
@@ -234,7 +258,7 @@ diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/br
|
||||
}
|
||||
|
||||
std::unique_ptr<AutocompleteController> OmniboxPageHandler::CreateController(
|
||||
@@ -549,8 +559,12 @@ OmniboxPageHandler::GetAutocompleteControllerType(
|
||||
@@ -547,8 +557,12 @@ OmniboxPageHandler::GetAutocompleteControllerType(
|
||||
}
|
||||
|
||||
AutocompleteScoringModelService* OmniboxPageHandler::GetMlService() {
|
||||
@@ -250,7 +274,7 @@ diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/br
|
||||
diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/components/autofill/core/browser/autofill_optimization_guide.cc
|
||||
--- a/components/autofill/core/browser/autofill_optimization_guide.cc
|
||||
+++ b/components/autofill/core/browser/autofill_optimization_guide.cc
|
||||
@@ -137,6 +137,7 @@ void AutofillOptimizationGuide::OnDidParseForm(
|
||||
@@ -163,6 +163,7 @@ void AutofillOptimizationGuide::OnDidParseForm(
|
||||
// If we do not have any optimization types to register, do not do anything.
|
||||
if (!optimization_types.empty()) {
|
||||
// Register all optimization types that we need based on `form_structure`.
|
||||
@@ -258,7 +282,7 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c
|
||||
decider_->RegisterOptimizationTypes(
|
||||
std::vector<optimization_guide::proto::OptimizationType>(
|
||||
std::move(optimization_types).extract()));
|
||||
@@ -148,7 +149,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions(
|
||||
@@ -214,7 +215,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions(
|
||||
AutofillField* field) const {
|
||||
// If the field's storable type is `IBAN_VALUE`, check whether IBAN
|
||||
// suggestions should be blocked based on `url`.
|
||||
@@ -267,7 +291,7 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c
|
||||
optimization_guide::OptimizationGuideDecision decision =
|
||||
decider_->CanApplyOptimization(
|
||||
url, optimization_guide::proto::IBAN_AUTOFILL_BLOCKED,
|
||||
@@ -174,7 +175,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion(
|
||||
@@ -240,7 +241,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion(
|
||||
const CreditCard* card) const {
|
||||
if (auto optimization_type =
|
||||
GetVcnMerchantOptOutOptimizationTypeForCard(*card);
|
||||
@@ -291,10 +315,10 @@ diff --git a/components/autofill/core/browser/metrics/shadow_prediction_metrics.
|
||||
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
||||
--- a/components/omnibox/browser/autocomplete_controller.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
||||
@@ -44,7 +44,9 @@
|
||||
#include "components/omnibox/browser/autocomplete_input.h"
|
||||
@@ -47,7 +47,9 @@
|
||||
#include "components/omnibox/browser/autocomplete_match_type.h"
|
||||
#include "components/omnibox/browser/autocomplete_provider.h"
|
||||
#include "components/omnibox/browser/autocomplete_provider_client.h"
|
||||
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
#include "components/omnibox/browser/autocomplete_scoring_model_service.h"
|
||||
+#endif
|
||||
@@ -315,7 +339,7 @@ diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/op
|
||||
diff --git a/components/optimization_guide/core/hints_manager.cc b/components/optimization_guide/core/hints_manager.cc
|
||||
--- a/components/optimization_guide/core/hints_manager.cc
|
||||
+++ b/components/optimization_guide/core/hints_manager.cc
|
||||
@@ -388,6 +388,7 @@ void HintsManager::Shutdown() {
|
||||
@@ -390,6 +390,7 @@ void HintsManager::Shutdown() {
|
||||
OptimizationGuideDecision
|
||||
HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
|
||||
OptimizationTypeDecision optimization_type_decision) {
|
||||
@@ -323,7 +347,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
|
||||
switch (optimization_type_decision) {
|
||||
case OptimizationTypeDecision::kAllowedByOptimizationFilter:
|
||||
case OptimizationTypeDecision::kAllowedByHint:
|
||||
@@ -1108,6 +1109,7 @@ void HintsManager::CanApplyOptimizationOnDemand(
|
||||
@@ -1110,6 +1111,7 @@ void HintsManager::CanApplyOptimizationOnDemand(
|
||||
OnDemandOptimizationGuideDecisionRepeatingCallback callback,
|
||||
proto::RequestContextMetadata* request_context_metadata) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
@@ -331,7 +355,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
|
||||
|
||||
InsertionOrderedSet<GURL> urls_to_fetch;
|
||||
InsertionOrderedSet<std::string> hosts_to_fetch;
|
||||
@@ -1414,6 +1416,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
|
||||
@@ -1416,6 +1418,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
|
||||
bool skip_cache,
|
||||
OptimizationMetadata* optimization_metadata) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
@@ -363,7 +387,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
|
||||
|
||||
// Returns whether |locale| is a supported locale for |feature|.
|
||||
//
|
||||
@@ -587,8 +579,7 @@ size_t MaxURLKeyedHintCacheSize() {
|
||||
@@ -575,8 +567,7 @@ size_t MaxURLKeyedHintCacheSize() {
|
||||
}
|
||||
|
||||
bool ShouldPersistHintsToDisk() {
|
||||
@@ -372,8 +396,8 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
|
||||
+ return false;
|
||||
}
|
||||
|
||||
bool ShouldEnablePersonalizedMetadata(proto::RequestContext request_context) {
|
||||
@@ -1101,5 +1092,19 @@ bool GetOnDeviceModelRetractRepeats() {
|
||||
RequestContextSet GetAllowedContextsForPersonalizedMetadata() {
|
||||
@@ -1080,5 +1071,19 @@ bool GetOnDeviceModelRetractRepeats() {
|
||||
return kOnDeviceModelRetractRepeats.Get();
|
||||
}
|
||||
|
||||
@@ -469,7 +493,7 @@ diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phish
|
||||
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
|
||||
--- a/components/search/ntp_features.cc
|
||||
+++ b/components/search/ntp_features.cc
|
||||
@@ -511,4 +511,7 @@ std::vector<std::string> GetModulesOrder() {
|
||||
@@ -544,4 +544,7 @@ std::vector<std::string> GetModulesOrder() {
|
||||
base::SplitResult::SPLIT_WANT_NONEMPTY);
|
||||
}
|
||||
|
||||
@@ -517,7 +541,7 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
|
||||
--- a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
|
||||
+++ b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
|
||||
@@ -584,6 +584,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
|
||||
@@ -599,6 +599,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -528,9 +552,9 @@ diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculat
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -3027,7 +3027,7 @@
|
||||
{
|
||||
// https://crbug.com/1126305
|
||||
@@ -2961,7 +2961,7 @@
|
||||
//
|
||||
// It also has some feature params defined throughout the codebase.
|
||||
name: "Prerender2",
|
||||
- status: "stable",
|
||||
+ status: "test",
|
||||
|
||||
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -1210,6 +1210,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -1243,6 +1243,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
}
|
||||
|
||||
private boolean maybeShowPromo(Profile profile) {
|
||||
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
||||
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
@@ -135,7 +135,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -138,7 +138,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
|
||||
registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled,
|
||||
false);
|
||||
@@ -51,7 +51,7 @@ diff --git a/chrome/browser/ui/views/user_education/browser_feature_promo_contro
|
||||
diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
|
||||
--- a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
|
||||
+++ b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
|
||||
@@ -73,6 +73,7 @@ public class UserEducationHelper {
|
||||
@@ -74,6 +74,7 @@ public class UserEducationHelper {
|
||||
}
|
||||
|
||||
private void showIPH(Tracker tracker, IPHCommand iphCommand) {
|
||||
@@ -62,7 +62,7 @@ diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/
|
||||
diff --git a/components/user_education/common/feature_promo_controller.cc b/components/user_education/common/feature_promo_controller.cc
|
||||
--- a/components/user_education/common/feature_promo_controller.cc
|
||||
+++ b/components/user_education/common/feature_promo_controller.cc
|
||||
@@ -446,6 +446,7 @@ FeaturePromoResult FeaturePromoControllerCommon::CanShowPromoCommon(
|
||||
@@ -589,6 +589,7 @@ FeaturePromoResult FeaturePromoControllerCommon::CanShowPromoCommon(
|
||||
const FeaturePromoSpecification** spec_out,
|
||||
std::unique_ptr<FeaturePromoLifecycle>* lifecycle_out,
|
||||
ui::TrackedElement** anchor_element_out) const {
|
||||
|
||||
@@ -11,7 +11,8 @@ being sent and being saved to disk, although it is currently in uncalled code.
|
||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../browser/aw_content_browser_client.cc | 1 +
|
||||
.../browser/aw_content_browser_client.cc | 3 +
|
||||
.../chromium/android_webview/AwSettings.java | 4 +-
|
||||
chrome/android/java/AndroidManifest.xml | 4 -
|
||||
components/attribution_reporting/features.cc | 2 +
|
||||
.../origin_trials/features.cc | 2 +
|
||||
@@ -25,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../attribution_storage_sql.cc | 8 +-
|
||||
content/browser/storage_partition_impl.cc | 9 -
|
||||
content/public/android/BUILD.gn | 2 -
|
||||
.../browser/AttributionOsLevelManager.java | 297 +-----------------
|
||||
.../browser/AttributionOsLevelManager.java | 312 +-----------------
|
||||
.../public/browser/content_browser_client.cc | 7 +-
|
||||
.../public/browser/navigation_controller.cc | 1 -
|
||||
.../Disable-conversion-measurement-api.inc | 1 +
|
||||
@@ -36,7 +37,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../network/public/cpp/attribution_utils.cc | 2 +
|
||||
third_party/blink/renderer/core/page/page.cc | 2 +-
|
||||
ui/events/android/motion_event_android.cc | 6 +-
|
||||
25 files changed, 65 insertions(+), 324 deletions(-)
|
||||
26 files changed, 72 insertions(+), 338 deletions(-)
|
||||
create mode 100644 cromite_flags/content/common/features_cc/Disable-conversion-measurement-api.inc
|
||||
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-conversion-measurement-api.inc
|
||||
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc
|
||||
@@ -45,7 +46,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
|
||||
--- a/android_webview/browser/aw_content_browser_client.cc
|
||||
+++ b/android_webview/browser/aw_content_browser_client.cc
|
||||
@@ -1157,6 +1157,7 @@ network::mojom::AttributionSupport
|
||||
@@ -1163,6 +1163,7 @@ network::mojom::AttributionSupport
|
||||
AwContentBrowserClient::GetAttributionSupport(
|
||||
AttributionReportingOsApiState state,
|
||||
content::WebContents* web_contents) {
|
||||
@@ -53,6 +54,36 @@ diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webv
|
||||
AwSettings* aw_settings = AwSettings::FromWebContents(web_contents);
|
||||
if (aw_settings && aw_settings->GetAttributionBehavior() ==
|
||||
AwSettings::AttributionBehavior::DISABLED) {
|
||||
@@ -1187,6 +1188,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
|
||||
const url::Origin* destination_origin,
|
||||
const url::Origin* reporting_origin,
|
||||
bool* can_bypass) {
|
||||
+ if ((true))
|
||||
+ return false;
|
||||
// Check if attribution reporting has been disabled.
|
||||
// This method should not be called at all if the configured behavior is
|
||||
// DISABLED.
|
||||
diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.java b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
|
||||
--- a/android_webview/java/src/org/chromium/android_webview/AwSettings.java
|
||||
+++ b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
|
||||
@@ -162,7 +162,7 @@ public class AwSettings {
|
||||
private boolean mSpatialNavigationEnabled; // Default depends on device features.
|
||||
private boolean mEnableSupportedHardwareAcceleratedFeatures;
|
||||
private int mMixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW;
|
||||
- private int mAttributionBehavior = AttributionBehavior.APP_SOURCE_AND_WEB_TRIGGER;
|
||||
+ private int mAttributionBehavior = AttributionBehavior.DISABLED;
|
||||
private boolean mCSSHexAlphaColorEnabled;
|
||||
private boolean mScrollTopLeftInteropEnabled;
|
||||
private boolean mWillSuppressErrorPage;
|
||||
@@ -1689,7 +1689,7 @@ public class AwSettings {
|
||||
public void setAttributionBehavior(@AttributionBehavior int behavior) {
|
||||
synchronized (mAwSettingsLock) {
|
||||
if (mAttributionBehavior != behavior) {
|
||||
- mAttributionBehavior = behavior;
|
||||
+ mAttributionBehavior = AttributionBehavior.DISABLED;
|
||||
mEventHandler.updateWebkitPreferencesLocked();
|
||||
}
|
||||
}
|
||||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||
--- a/chrome/android/java/AndroidManifest.xml
|
||||
+++ b/chrome/android/java/AndroidManifest.xml
|
||||
@@ -64,7 +95,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
|
||||
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30"/>
|
||||
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_CONNECT"/>
|
||||
<!--
|
||||
@@ -1157,9 +1156,6 @@ by a child template that "extends" this file.
|
||||
@@ -1165,9 +1164,6 @@ by a child template that "extends" this file.
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" >
|
||||
</activity>
|
||||
|
||||
@@ -77,7 +108,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
|
||||
diff --git a/components/attribution_reporting/features.cc b/components/attribution_reporting/features.cc
|
||||
--- a/components/attribution_reporting/features.cc
|
||||
+++ b/components/attribution_reporting/features.cc
|
||||
@@ -21,4 +21,6 @@ BASE_FEATURE(kAttributionReportingTriggerContextId,
|
||||
@@ -17,4 +17,6 @@ BASE_FEATURE(kAttributionReportingTriggerContextId,
|
||||
"AttributionReportingTriggerContextId",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
@@ -149,7 +180,7 @@ diff --git a/content/browser/aggregation_service/aggregation_service_features.cc
|
||||
diff --git a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
|
||||
--- a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
|
||||
+++ b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
|
||||
@@ -827,6 +827,7 @@ void AttributionDataHostManagerImpl::ParseHeader(
|
||||
@@ -924,6 +924,7 @@ void AttributionDataHostManagerImpl::ParseHeader(
|
||||
HeaderPendingDecode pending_decode,
|
||||
Registrar registrar) {
|
||||
DCHECK(it != registrations_.end());
|
||||
@@ -171,7 +202,7 @@ diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content
|
||||
diff --git a/content/browser/attribution_reporting/attribution_os_level_manager.cc b/content/browser/attribution_reporting/attribution_os_level_manager.cc
|
||||
--- a/content/browser/attribution_reporting/attribution_os_level_manager.cc
|
||||
+++ b/content/browser/attribution_reporting/attribution_os_level_manager.cc
|
||||
@@ -46,6 +46,7 @@ std::optional<ApiState> g_state GUARDED_BY_CONTEXT(GetSequenceChecker());
|
||||
@@ -47,6 +47,7 @@ std::optional<ApiState> g_state GUARDED_BY_CONTEXT(GetSequenceChecker());
|
||||
// static
|
||||
bool AttributionOsLevelManager::ShouldUseOsWebSource(
|
||||
GlobalRenderFrameHostId render_frame_id) {
|
||||
@@ -179,7 +210,7 @@ diff --git a/content/browser/attribution_reporting/attribution_os_level_manager.
|
||||
return GetContentClient()
|
||||
->browser()
|
||||
->ShouldUseOsWebSourceAttributionReporting(
|
||||
@@ -74,7 +75,7 @@ bool AttributionOsLevelManager::ShouldInitializeApiState() {
|
||||
@@ -75,7 +76,7 @@ bool AttributionOsLevelManager::ShouldInitializeApiState() {
|
||||
// static
|
||||
ApiState AttributionOsLevelManager::GetApiState() {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(GetSequenceChecker());
|
||||
@@ -234,13 +265,13 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/
|
||||
+ : path_to_database_(user_data_directory.empty() || g_run_in_memory
|
||||
+ ? base::FilePath()
|
||||
+ : DatabasePath(user_data_directory)),
|
||||
db_(sql::DatabaseOptions{.exclusive_locking = true,
|
||||
.page_size = 4096,
|
||||
.cache_size = 32}),
|
||||
db_(sql::DatabaseOptions{.page_size = 4096, .cache_size = 32}),
|
||||
delegate_(std::move(delegate)),
|
||||
rate_limit_table_(delegate_.get()) {
|
||||
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
|
||||
--- a/content/browser/storage_partition_impl.cc
|
||||
+++ b/content/browser/storage_partition_impl.cc
|
||||
@@ -1508,15 +1508,6 @@ void StoragePartitionImpl::Initialize(
|
||||
@@ -1443,15 +1443,6 @@ void StoragePartitionImpl::Initialize(
|
||||
|
||||
bucket_manager_ = std::make_unique<BucketManager>(this);
|
||||
|
||||
@@ -259,24 +290,25 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage
|
||||
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
|
||||
--- a/content/public/android/BUILD.gn
|
||||
+++ b/content/public/android/BUILD.gn
|
||||
@@ -180,8 +180,6 @@ android_library("content_full_java") {
|
||||
@@ -181,8 +181,6 @@ android_library("content_full_java") {
|
||||
"//third_party/androidx:androidx_appcompat_appcompat_resources_java",
|
||||
"//third_party/androidx:androidx_collection_collection_java",
|
||||
"//third_party/androidx:androidx_core_core_java",
|
||||
- "//third_party/androidx:androidx_privacysandbox_ads_ads_adservices_java",
|
||||
- "//third_party/androidx:androidx_privacysandbox_ads_ads_adservices_java_java",
|
||||
"//third_party/androidx/local_modifications/window:window_util_java",
|
||||
"//third_party/blink/public:blink_headers_java",
|
||||
"//third_party/blink/public/common:common_java",
|
||||
"//third_party/blink/public/mojom:android_mojo_bindings_java",
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/AttributionOsLevelManager.java b/content/public/android/java/src/org/chromium/content/browser/AttributionOsLevelManager.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/AttributionOsLevelManager.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/AttributionOsLevelManager.java
|
||||
@@ -12,17 +12,6 @@ import android.os.Process;
|
||||
import android.view.MotionEvent;
|
||||
@@ -13,18 +13,6 @@ import android.view.MotionEvent;
|
||||
|
||||
import androidx.annotation.IntDef;
|
||||
import androidx.annotation.OptIn;
|
||||
-import androidx.privacysandbox.ads.adservices.java.measurement.MeasurementManagerFutures;
|
||||
-import androidx.privacysandbox.ads.adservices.measurement.DeletionRequest;
|
||||
-import androidx.privacysandbox.ads.adservices.measurement.SourceRegistrationRequest;
|
||||
-import androidx.privacysandbox.ads.adservices.measurement.WebSourceParams;
|
||||
-import androidx.privacysandbox.ads.adservices.measurement.WebSourceRegistrationRequest;
|
||||
-import androidx.privacysandbox.ads.adservices.measurement.WebTriggerParams;
|
||||
@@ -289,16 +321,18 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
|
||||
import org.jni_zero.CalledByNative;
|
||||
import org.jni_zero.JNINamespace;
|
||||
@@ -52,6 +41,8 @@ import java.util.concurrent.TimeoutException;
|
||||
@@ -54,6 +42,10 @@ import java.util.concurrent.TimeoutException;
|
||||
*/
|
||||
@JNINamespace("content")
|
||||
public class AttributionOsLevelManager {
|
||||
+ private class MeasurementManagerFutures {}
|
||||
+ private class WebTriggerParams {}
|
||||
+ private class WebSourceParams {}
|
||||
+
|
||||
private static final String TAG = "AttributionManager";
|
||||
// TODO: replace with constant in android.Manifest.permission once it becomes available in U.
|
||||
private static final String PERMISSION_ACCESS_ADSERVICES_ATTRIBUTION =
|
||||
@@ -116,63 +107,11 @@ public class AttributionOsLevelManager {
|
||||
@@ -118,63 +110,11 @@ public class AttributionOsLevelManager {
|
||||
}
|
||||
|
||||
private static boolean supportsAttribution() {
|
||||
@@ -363,7 +397,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
}
|
||||
|
||||
@CalledByNative
|
||||
@@ -181,22 +120,7 @@ public class AttributionOsLevelManager {
|
||||
@@ -183,22 +123,7 @@ public class AttributionOsLevelManager {
|
||||
}
|
||||
|
||||
private MeasurementManagerFutures getManager() {
|
||||
@@ -387,7 +421,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
}
|
||||
|
||||
private void onRegistrationCompleted(
|
||||
@@ -210,28 +134,6 @@ public class AttributionOsLevelManager {
|
||||
@@ -212,28 +137,6 @@ public class AttributionOsLevelManager {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -413,10 +447,18 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
- ContextUtils.getApplicationContext().getMainExecutor());
|
||||
- }
|
||||
-
|
||||
@CalledByNative
|
||||
private static List<WebSourceParams> createWebSourceParamsList(int size) {
|
||||
if (!supportsAttribution()) {
|
||||
@@ -248,7 +151,6 @@ public class AttributionOsLevelManager {
|
||||
if (!supportsAttribution()) {
|
||||
return;
|
||||
}
|
||||
- list.add(new WebSourceParams(Uri.parse(registrationUrl.getSpec()), isDebugKeyAllowed));
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a web attribution source with native, see `registerWebSourceAsync()`:
|
||||
* https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFutures.
|
||||
@@ -250,25 +152,6 @@ public class AttributionOsLevelManager {
|
||||
@@ -265,32 +167,12 @@ public class AttributionOsLevelManager {
|
||||
OperationResult.ERROR_VERSION_UNSUPPORTED);
|
||||
return;
|
||||
}
|
||||
@@ -429,10 +471,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
- ListenableFuture<?> future =
|
||||
- mm.registerWebSourceAsync(
|
||||
- new WebSourceRegistrationRequest(
|
||||
- Arrays.asList(
|
||||
- new WebSourceParams(
|
||||
- Uri.parse(registrationUrl.getSpec()),
|
||||
- isDebugKeyAllowed)),
|
||||
- sources,
|
||||
- Uri.parse(topLevelOrigin.getSpec()),
|
||||
- /* inputEvent= */ event,
|
||||
- /* appDestination= */ null,
|
||||
@@ -442,7 +481,17 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -284,15 +167,6 @@ public class AttributionOsLevelManager {
|
||||
* Registers an attribution source with native, see `registerSourceAsync()`:
|
||||
* https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFutures.
|
||||
*/
|
||||
- @OptIn(
|
||||
- markerClass =
|
||||
- androidx.privacysandbox.ads.adservices.common.ExperimentalFeatures
|
||||
- .RegisterSourceOptIn.class)
|
||||
@CalledByNative
|
||||
private void registerAttributionSource(
|
||||
int requestId, GURL[] registrationUrls, MotionEvent event) {
|
||||
@@ -301,37 +183,16 @@ public class AttributionOsLevelManager {
|
||||
OperationResult.ERROR_VERSION_UNSUPPORTED);
|
||||
return;
|
||||
}
|
||||
@@ -452,13 +501,36 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
- requestId, OperationType.REGISTER_SOURCE, OperationResult.ERROR_INTERNAL);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- ArrayList<Uri> registrationUris = new ArrayList<Uri>(registrationUrls.length);
|
||||
- for (GURL registrationUrl : registrationUrls) {
|
||||
- registrationUris.add(Uri.parse(registrationUrl.getSpec()));
|
||||
- }
|
||||
- ListenableFuture<?> future =
|
||||
- mm.registerSourceAsync(Uri.parse(registrationUrl.getSpec()), event);
|
||||
- mm.registerSourceAsync(new SourceRegistrationRequest(registrationUris, event));
|
||||
- addRegistrationFutureCallback(requestId, OperationType.REGISTER_SOURCE, future);
|
||||
}
|
||||
|
||||
@CalledByNative
|
||||
private static List<WebTriggerParams> createWebTriggerParamsList(int size) {
|
||||
- if (!supportsAttribution()) {
|
||||
- return null;
|
||||
- }
|
||||
- return new ArrayList<WebTriggerParams>(size);
|
||||
+ return null;
|
||||
}
|
||||
|
||||
@CalledByNative
|
||||
private static void addWebTriggerParams(
|
||||
List<WebTriggerParams> list, GURL registrationUrl, boolean isDebugKeyAllowed) {
|
||||
- if (!supportsAttribution()) {
|
||||
- return;
|
||||
- }
|
||||
- list.add(new WebTriggerParams(Uri.parse(registrationUrl.getSpec()), isDebugKeyAllowed));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -309,22 +183,6 @@ public class AttributionOsLevelManager {
|
||||
@@ -348,18 +209,6 @@ public class AttributionOsLevelManager {
|
||||
OperationResult.ERROR_VERSION_UNSUPPORTED);
|
||||
return;
|
||||
}
|
||||
@@ -472,16 +544,12 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
- ListenableFuture<?> future =
|
||||
- mm.registerWebTriggerAsync(
|
||||
- new WebTriggerRegistrationRequest(
|
||||
- Arrays.asList(
|
||||
- new WebTriggerParams(
|
||||
- Uri.parse(registrationUrl.getSpec()),
|
||||
- isDebugKeyAllowed)),
|
||||
- Uri.parse(topLevelOrigin.getSpec())));
|
||||
- triggers, Uri.parse(topLevelOrigin.getSpec())));
|
||||
- addRegistrationFutureCallback(requestId, OperationType.REGISTER_WEB_TRIGGER, future);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -340,15 +198,6 @@ public class AttributionOsLevelManager {
|
||||
@@ -375,15 +224,6 @@ public class AttributionOsLevelManager {
|
||||
OperationResult.ERROR_VERSION_UNSUPPORTED);
|
||||
return;
|
||||
}
|
||||
@@ -497,7 +565,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
}
|
||||
|
||||
private void onDataDeletionCompleted(int requestId) {
|
||||
@@ -383,96 +232,7 @@ public class AttributionOsLevelManager {
|
||||
@@ -418,96 +258,7 @@ public class AttributionOsLevelManager {
|
||||
onDataDeletionCompleted(requestId);
|
||||
return;
|
||||
}
|
||||
@@ -595,7 +663,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
}
|
||||
|
||||
private static void onMeasurementStateReturned(int status, @OperationResult int result) {
|
||||
@@ -488,6 +248,10 @@ public class AttributionOsLevelManager {
|
||||
@@ -523,6 +274,10 @@ public class AttributionOsLevelManager {
|
||||
private static void getMeasurementApiStatus() {
|
||||
ThreadUtils.assertOnBackgroundThread();
|
||||
|
||||
@@ -606,7 +674,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
if (sManagerForTesting != null) {
|
||||
AttributionOsLevelManagerJni.get().onMeasurementStateReturned(1);
|
||||
return;
|
||||
@@ -507,49 +271,6 @@ public class AttributionOsLevelManager {
|
||||
@@ -542,49 +297,6 @@ public class AttributionOsLevelManager {
|
||||
onMeasurementStateReturned(/* status= */ 0, OperationResult.ERROR_PERMISSION_UNGRANTED);
|
||||
return;
|
||||
}
|
||||
@@ -659,7 +727,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
|
||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -539,6 +539,7 @@ void ContentBrowserClient::OnAuctionComplete(
|
||||
@@ -543,6 +543,7 @@ void ContentBrowserClient::OnAuctionComplete(
|
||||
network::mojom::AttributionSupport ContentBrowserClient::GetAttributionSupport(
|
||||
AttributionReportingOsApiState state,
|
||||
content::WebContents* web_contents) {
|
||||
@@ -667,7 +735,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
|
||||
switch (state) {
|
||||
case AttributionReportingOsApiState::kDisabled:
|
||||
return network::mojom::AttributionSupport::kWeb;
|
||||
@@ -555,17 +556,17 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
|
||||
@@ -559,17 +560,17 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
|
||||
const url::Origin* destination_origin,
|
||||
const url::Origin* reporting_origin,
|
||||
bool* can_bypass) {
|
||||
@@ -764,7 +832,7 @@ diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network
|
||||
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
|
||||
--- a/third_party/blink/renderer/core/page/page.cc
|
||||
+++ b/third_party/blink/renderer/core/page/page.cc
|
||||
@@ -1336,7 +1336,7 @@ void Page::UpdateBrowsingContextGroup(
|
||||
@@ -1352,7 +1352,7 @@ void Page::UpdateBrowsingContextGroup(
|
||||
|
||||
void Page::SetAttributionSupport(
|
||||
network::mojom::AttributionSupport attribution_support) {
|
||||
|
||||
@@ -3,22 +3,30 @@ Date: Sat, 9 Apr 2022 21:43:35 +0200
|
||||
Subject: Disable crash reporting
|
||||
|
||||
---
|
||||
chrome/browser/chrome_content_browser_client.cc | 1 +
|
||||
.../common/content_features_cc/Disable-crash-reporting.inc | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
chrome/browser/chrome_content_browser_client.cc | 9 ---------
|
||||
.../content_features_cc/Disable-crash-reporting.inc | 1 +
|
||||
2 files changed, 1 insertion(+), 9 deletions(-)
|
||||
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-crash-reporting.inc
|
||||
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -2509,6 +2509,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
@@ -2509,15 +2509,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
base::NumberToString(pid));
|
||||
}
|
||||
#endif
|
||||
+ enable_crash_reporter = false;
|
||||
if (enable_crash_reporter) {
|
||||
std::string switch_value;
|
||||
std::unique_ptr<metrics::ClientInfo> client_info =
|
||||
- std::string switch_value;
|
||||
- std::unique_ptr<metrics::ClientInfo> client_info =
|
||||
- GoogleUpdateSettings::LoadMetricsClientInfo();
|
||||
- if (client_info) {
|
||||
- switch_value = client_info->client_id;
|
||||
- }
|
||||
- switch_value.push_back(',');
|
||||
- switch_value.append(chrome::GetChannelName(chrome::WithExtendedStable(true)));
|
||||
- command_line->AppendSwitchASCII(switches::kEnableCrashReporter, switch_value);
|
||||
#endif
|
||||
|
||||
if (logging::DialogsAreSuppressed())
|
||||
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-crash-reporting.inc b/cromite_flags/content/public/common/content_features_cc/Disable-crash-reporting.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -1797,10 +1797,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -1840,10 +1840,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
supervised_user::RegisterProfilePrefs(registry);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/android_webview/common/aw_features.cc b/android_webview/common/aw_features.cc
|
||||
--- a/android_webview/common/aw_features.cc
|
||||
+++ b/android_webview/common/aw_features.cc
|
||||
@@ -101,8 +101,8 @@ BASE_FEATURE(kWebViewJavaJsBridgeMojo,
|
||||
@@ -113,8 +113,8 @@ BASE_FEATURE(kWebViewJavaJsBridgeMojo,
|
||||
|
||||
// Field trial feature for controlling support of Origin Trials on WebView.
|
||||
BASE_FEATURE(kWebViewOriginTrials,
|
||||
@@ -131,7 +131,7 @@ diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/b
|
||||
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
|
||||
--- a/chrome/browser/net/system_network_context_manager.cc
|
||||
+++ b/chrome/browser/net/system_network_context_manager.cc
|
||||
@@ -840,7 +840,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams(
|
||||
@@ -856,7 +856,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams(
|
||||
|
||||
void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams(
|
||||
network::mojom::NetworkContextParams* network_context_params) {
|
||||
@@ -142,7 +142,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
|
||||
diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc
|
||||
--- a/components/ukm/ukm_recorder_impl.cc
|
||||
+++ b/components/ukm/ukm_recorder_impl.cc
|
||||
@@ -163,6 +163,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
|
||||
@@ -164,6 +164,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
|
||||
|
||||
UkmRecorderImpl::UkmRecorderImpl()
|
||||
: sampling_seed_(static_cast<uint32_t>(base::RandUint64())) {
|
||||
@@ -262,7 +262,7 @@ diff --git a/components/variations/net/variations_http_headers.cc b/components/v
|
||||
diff --git a/components/variations/service/variations_field_trial_creator_base.cc b/components/variations/service/variations_field_trial_creator_base.cc
|
||||
--- a/components/variations/service/variations_field_trial_creator_base.cc
|
||||
+++ b/components/variations/service/variations_field_trial_creator_base.cc
|
||||
@@ -119,6 +119,7 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
|
||||
@@ -125,6 +125,7 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
|
||||
}
|
||||
|
||||
#if BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
|
||||
@@ -270,8 +270,8 @@ diff --git a/components/variations/service/variations_field_trial_creator_base.c
|
||||
// Determines whether the field trial testing config defined in
|
||||
// testing/variations/fieldtrial_testing_config.json should be applied. If the
|
||||
// "disable_fieldtrial_testing_config" GN flag is set to true, then the testing
|
||||
@@ -318,11 +319,6 @@ bool VariationsFieldTrialCreatorBase::SetUpFieldTrials(
|
||||
safe_seed_manager);
|
||||
@@ -330,11 +331,6 @@ bool VariationsFieldTrialCreatorBase::SetUpFieldTrials(
|
||||
safe_seed_manager, synthetic_trial_registry);
|
||||
}
|
||||
|
||||
- platform_field_trials->SetUpClientSideFieldTrials(
|
||||
@@ -282,15 +282,15 @@ diff --git a/components/variations/service/variations_field_trial_creator_base.c
|
||||
base::FeatureList::SetInstance(std::move(feature_list));
|
||||
|
||||
// For testing Variations Safe Mode, maybe crash here.
|
||||
@@ -603,6 +599,7 @@ bool VariationsFieldTrialCreatorBase::CreateTrialsFromSeed(
|
||||
const EntropyProviders& entropy_providers,
|
||||
@@ -629,6 +625,7 @@ bool VariationsFieldTrialCreatorBase::CreateTrialsFromSeed(
|
||||
base::FeatureList* feature_list,
|
||||
SafeSeedManagerBase* safe_seed_manager) {
|
||||
SafeSeedManagerBase* safe_seed_manager,
|
||||
SyntheticTrialRegistry* synthetic_trial_registry) {
|
||||
+ if ((true)) return false;
|
||||
// This histogram name uses "VariationsFieldTrialCreator" rather than
|
||||
// "VariationsFieldTrialCreatorBase" for consistency with historical data
|
||||
TRACE_EVENT0("startup", "VariationsFieldTrialCreator::CreateTrialsFromSeed");
|
||||
@@ -704,6 +701,7 @@ bool VariationsFieldTrialCreatorBase::CreateTrialsFromSeed(
|
||||
@@ -744,6 +741,7 @@ bool VariationsFieldTrialCreatorBase::CreateTrialsFromSeed(
|
||||
|
||||
void VariationsFieldTrialCreatorBase::LoadSeedFromJsonFile(
|
||||
const base::FilePath& json_seed_path) {
|
||||
@@ -301,7 +301,7 @@ diff --git a/components/variations/service/variations_field_trial_creator_base.c
|
||||
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
|
||||
--- a/components/variations/service/variations_service.cc
|
||||
+++ b/components/variations/service/variations_service.cc
|
||||
@@ -223,17 +223,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
|
||||
@@ -224,17 +224,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
|
||||
// Variations seed fetching is only enabled in official Chrome builds, if a URL
|
||||
// is specified on the command line, and for testing.
|
||||
bool IsFetchingEnabled() {
|
||||
@@ -321,7 +321,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
|
||||
}
|
||||
|
||||
// Returns the already downloaded first run seed, and clear the seed from the
|
||||
@@ -607,7 +598,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
|
||||
@@ -612,7 +603,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
|
||||
// debugger or if the machine was suspended) and OnURLFetchComplete() hasn't
|
||||
// had a chance to run yet from the previous request. In this case, don't
|
||||
// start a new request and just let the previous one finish.
|
||||
|
||||
@@ -55,7 +55,7 @@ diff --git a/third_party/blink/renderer/modules/idle/idle_detector.idl b/third_p
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -2105,6 +2105,11 @@
|
||||
@@ -2054,6 +2054,11 @@
|
||||
name: "HTMLUnsafeMethods",
|
||||
status: "experimental",
|
||||
},
|
||||
|
||||
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
|
||||
--- a/chrome/browser/media/router/media_router_feature.cc
|
||||
+++ b/chrome/browser/media/router/media_router_feature.cc
|
||||
@@ -110,6 +110,7 @@ void ClearMediaRouterStoredPrefsForTesting() {
|
||||
@@ -106,6 +106,7 @@ void ClearMediaRouterStoredPrefsForTesting() {
|
||||
}
|
||||
|
||||
bool MediaRouterEnabled(content::BrowserContext* context) {
|
||||
@@ -23,7 +23,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
if (!base::FeatureList::IsEnabled(kMediaRouter))
|
||||
return false;
|
||||
@@ -151,7 +152,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
@@ -147,7 +148,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
registry->RegisterStringPref(prefs::kMediaRouterReceiverIdHashToken, "",
|
||||
PrefRegistry::PUBLIC);
|
||||
registry->RegisterBooleanPref(
|
||||
@@ -32,7 +32,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
|
||||
registry->RegisterBooleanPref(
|
||||
media_router::prefs::kMediaRouterShowCastSessionsStartedByOtherDevices,
|
||||
true);
|
||||
@@ -222,4 +223,7 @@ std::optional<base::TimeDelta> GetCastMirroringPlayoutDelay() {
|
||||
@@ -218,4 +219,7 @@ std::optional<base::TimeDelta> GetCastMirroringPlayoutDelay() {
|
||||
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
||||
--- a/chrome/browser/profiles/profile_impl.cc
|
||||
+++ b/chrome/browser/profiles/profile_impl.cc
|
||||
@@ -419,7 +419,7 @@ void ProfileImpl::RegisterProfilePrefs(
|
||||
@@ -425,7 +425,7 @@ void ProfileImpl::RegisterProfilePrefs(
|
||||
#endif
|
||||
|
||||
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
|
||||
@@ -55,7 +55,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
|
||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||
--- a/content/child/runtime_features.cc
|
||||
+++ b/content/child/runtime_features.cc
|
||||
@@ -589,6 +589,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
|
||||
@@ -586,6 +586,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
|
||||
WebRuntimeFeatures::EnableBackForwardCache(
|
||||
content::IsBackForwardCacheEnabled());
|
||||
|
||||
@@ -79,7 +79,7 @@ diff --git a/third_party/blink/renderer/modules/remoteplayback/remote_playback.c
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -3163,14 +3163,10 @@
|
||||
@@ -3086,14 +3086,10 @@
|
||||
base_feature: "none",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
|
||||
--- a/components/endpoint_fetcher/endpoint_fetcher.cc
|
||||
+++ b/components/endpoint_fetcher/endpoint_fetcher.cc
|
||||
@@ -368,7 +368,7 @@ void EndpointFetcher::OnResponseFetched(
|
||||
@@ -367,7 +367,7 @@ void EndpointFetcher::OnResponseFetched(
|
||||
}
|
||||
} else {
|
||||
std::string net_error = net::ErrorToString(net_error_code);
|
||||
|
||||
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
|
||||
--- a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
|
||||
+++ b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
|
||||
@@ -289,5 +289,5 @@ TemplateURLService* ChromeLocationBarModelDelegate::GetTemplateURLService() {
|
||||
@@ -266,5 +266,5 @@ TemplateURLService* ChromeLocationBarModelDelegate::GetTemplateURLService() {
|
||||
// static
|
||||
void ChromeLocationBarModelDelegate::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
|
||||
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -2129,9 +2129,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
@@ -2147,9 +2147,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
}
|
||||
|
||||
PluginData* LocalFrame::GetPluginData() const {
|
||||
|
||||
@@ -4,16 +4,16 @@ Subject: Disable prefers-reduced-transparency media query
|
||||
|
||||
This feature can be used for fingerprinting as it exposes a user preference
|
||||
---
|
||||
third_party/blink/renderer/core/css/media_query_exp.cc | 3 ++-
|
||||
.../blink/renderer/core/css/parser/media_query_parser.cc | 4 ++--
|
||||
.../renderer/core/preferences/preference_manager.idl | 2 +-
|
||||
.../renderer/platform/runtime_enabled_features.json5 | 8 ++++++--
|
||||
4 files changed, 11 insertions(+), 6 deletions(-)
|
||||
third_party/blink/renderer/core/css/media_query_exp.cc | 3 ++-
|
||||
.../blink/renderer/core/css/parser/media_query_parser.cc | 4 ++--
|
||||
.../blink/renderer/core/preferences/preference_manager.idl | 2 +-
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 6 +++++-
|
||||
4 files changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/css/media_query_exp.cc b/third_party/blink/renderer/core/css/media_query_exp.cc
|
||||
--- a/third_party/blink/renderer/core/css/media_query_exp.cc
|
||||
+++ b/third_party/blink/renderer/core/css/media_query_exp.cc
|
||||
@@ -112,7 +112,8 @@ static inline bool FeatureWithValidIdent(const String& media_feature,
|
||||
@@ -114,7 +114,8 @@ static inline bool FeatureWithValidIdent(const String& media_feature,
|
||||
ident == CSSValueID::kLess || ident == CSSValueID::kCustom;
|
||||
}
|
||||
|
||||
@@ -51,21 +51,17 @@ diff --git a/third_party/blink/renderer/core/preferences/preference_manager.idl
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -3013,10 +3013,14 @@
|
||||
@@ -2945,7 +2945,11 @@
|
||||
settable_from_internals: true,
|
||||
},
|
||||
{
|
||||
- name: "PrefersReducedData",
|
||||
- status: "experimental",
|
||||
+ name: "PrefersReducedData", // must be
|
||||
+ status: "experimental", // disabled
|
||||
base_feature: "none",
|
||||
},
|
||||
+ },
|
||||
+ {
|
||||
+ name: "PrefersReducedTransparency",
|
||||
+ status: "experimental",
|
||||
+ },
|
||||
status: "experimental",
|
||||
},
|
||||
// This feature is deprecated and we are evangelizing affected sites.
|
||||
// See https://crbug.com/346236 for current status.
|
||||
{
|
||||
--
|
||||
|
||||
@@ -4,15 +4,15 @@ Subject: Disable privacy issues in password manager
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
chrome/android/java/AndroidManifest.xml | 9 --------
|
||||
.../generated_password_leak_detection_pref.cc | 3 +--
|
||||
.../affiliation/affiliation_backend.cc | 1 +
|
||||
.../affiliation/affiliation_service_impl.cc | 4 ++++
|
||||
.../core/browser/affiliation/facet_manager.cc | 23 +++----------------
|
||||
.../browser/features/password_features.cc | 4 ++++
|
||||
.../leak_detection_check_factory_impl.cc | 5 ++++
|
||||
.../leak_detection_check_impl.cc | 4 +---
|
||||
8 files changed, 19 insertions(+), 34 deletions(-)
|
||||
chrome/android/java/AndroidManifest.xml | 9 ---------
|
||||
.../generated_password_leak_detection_pref.cc | 3 +--
|
||||
.../affiliations/core/browser/affiliation_backend.cc | 1 +
|
||||
.../core/browser/affiliation_service_impl.cc | 4 ++++
|
||||
components/affiliations/core/browser/facet_manager.cc | 4 ++++
|
||||
.../core/browser/features/password_features.cc | 4 ++++
|
||||
.../leak_detection/leak_detection_check_factory_impl.cc | 5 +++++
|
||||
.../browser/leak_detection/leak_detection_check_impl.cc | 4 +---
|
||||
8 files changed, 20 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||
--- a/chrome/android/java/AndroidManifest.xml
|
||||
@@ -46,9 +46,9 @@ diff --git a/chrome/browser/password_manager/generated_password_leak_detection_p
|
||||
}
|
||||
|
||||
// Returns whether the effective value of the Safe Browsing preferences for
|
||||
diff --git a/components/password_manager/core/browser/affiliation/affiliation_backend.cc b/components/password_manager/core/browser/affiliation/affiliation_backend.cc
|
||||
--- a/components/password_manager/core/browser/affiliation/affiliation_backend.cc
|
||||
+++ b/components/password_manager/core/browser/affiliation/affiliation_backend.cc
|
||||
diff --git a/components/affiliations/core/browser/affiliation_backend.cc b/components/affiliations/core/browser/affiliation_backend.cc
|
||||
--- a/components/affiliations/core/browser/affiliation_backend.cc
|
||||
+++ b/components/affiliations/core/browser/affiliation_backend.cc
|
||||
@@ -397,6 +397,7 @@ void AffiliationBackend::OnMalformedResponse(
|
||||
}
|
||||
|
||||
@@ -57,9 +57,9 @@ diff --git a/components/password_manager/core/browser/affiliation/affiliation_ba
|
||||
DCHECK(!fetcher_);
|
||||
std::vector<FacetURI> requested_facet_uris;
|
||||
for (const auto& facet_manager_pair : facet_managers_) {
|
||||
diff --git a/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc b/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc
|
||||
--- a/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc
|
||||
+++ b/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc
|
||||
diff --git a/components/affiliations/core/browser/affiliation_service_impl.cc b/components/affiliations/core/browser/affiliation_service_impl.cc
|
||||
--- a/components/affiliations/core/browser/affiliation_service_impl.cc
|
||||
+++ b/components/affiliations/core/browser/affiliation_service_impl.cc
|
||||
@@ -127,6 +127,10 @@ void AffiliationServiceImpl::Shutdown() {
|
||||
void AffiliationServiceImpl::PrefetchChangePasswordURLs(
|
||||
const std::vector<GURL>& urls,
|
||||
@@ -71,50 +71,24 @@ diff --git a/components/password_manager/core/browser/affiliation/affiliation_se
|
||||
std::vector<FacetURI> facets;
|
||||
std::vector<url::SchemeHostPort> tuple_origins;
|
||||
for (const auto& url : urls) {
|
||||
diff --git a/components/password_manager/core/browser/affiliation/facet_manager.cc b/components/password_manager/core/browser/affiliation/facet_manager.cc
|
||||
--- a/components/password_manager/core/browser/affiliation/facet_manager.cc
|
||||
+++ b/components/password_manager/core/browser/affiliation/facet_manager.cc
|
||||
@@ -117,25 +117,7 @@ void FacetManager::GetAffiliationsAndBranding(
|
||||
diff --git a/components/affiliations/core/browser/facet_manager.cc b/components/affiliations/core/browser/facet_manager.cc
|
||||
--- a/components/affiliations/core/browser/facet_manager.cc
|
||||
+++ b/components/affiliations/core/browser/facet_manager.cc
|
||||
@@ -117,6 +117,10 @@ void FacetManager::GetAffiliationsAndBranding(
|
||||
RequestInfo request_info;
|
||||
request_info.callback = std::move(callback);
|
||||
request_info.callback_task_runner = callback_task_runner;
|
||||
- if (IsCachedDataFresh()) {
|
||||
- AffiliatedFacetsWithUpdateTime affiliation;
|
||||
- if (!backend_->ReadAffiliationsAndBrandingFromDatabase(facet_uri_,
|
||||
- &affiliation)) {
|
||||
- ServeRequestWithFailure(std::move(request_info));
|
||||
- return;
|
||||
- }
|
||||
- DCHECK_EQ(affiliation.last_update_time, last_update_time_) << facet_uri_;
|
||||
- ServeRequestWithSuccess(std::move(request_info), affiliation.facets);
|
||||
- } else if (cache_miss_strategy == StrategyOnCacheMiss::FETCH_OVER_NETWORK) {
|
||||
- pending_requests_.push_back(std::move(request_info));
|
||||
- backend_->SignalNeedNetworkRequest();
|
||||
- } else if (cache_miss_strategy ==
|
||||
- StrategyOnCacheMiss::TRY_ONCE_OVER_NETWORK) {
|
||||
- pending_one_time_requests_.push_back(std::move(request_info));
|
||||
- backend_->SignalNeedNetworkRequest();
|
||||
- } else {
|
||||
- ServeRequestWithFailure(std::move(request_info));
|
||||
- }
|
||||
+ ServeRequestWithFailure(std::move(request_info));
|
||||
}
|
||||
|
||||
void FacetManager::Prefetch(const base::Time& keep_fresh_until) {
|
||||
@@ -254,7 +236,8 @@ void FacetManager::ServeRequestWithSuccess(
|
||||
const AffiliatedFacets& affiliation) {
|
||||
request_info.callback_task_runner->PostTask(
|
||||
FROM_HERE,
|
||||
- base::BindOnce(std::move(request_info.callback), affiliation, true));
|
||||
+ base::BindOnce(std::move(request_info.callback),
|
||||
+ AffiliatedFacets(), false));
|
||||
}
|
||||
|
||||
// static
|
||||
+ if ((true)) {
|
||||
+ ServeRequestWithFailure(std::move(request_info));
|
||||
+ return;
|
||||
+ }
|
||||
if (IsCachedDataFresh()) {
|
||||
AffiliatedFacetsWithUpdateTime affiliation;
|
||||
if (!backend_->ReadAffiliationsAndBrandingFromDatabase(facet_uri_,
|
||||
diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc
|
||||
--- a/components/password_manager/core/browser/features/password_features.cc
|
||||
+++ b/components/password_manager/core/browser/features/password_features.cc
|
||||
@@ -181,4 +181,8 @@ BASE_FEATURE(kUseGMSCoreForBrandingInfo,
|
||||
@@ -176,4 +176,8 @@ BASE_FEATURE(kUseGMSCoreForBrandingInfo,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stre
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1303,8 +1299,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
|
||||
@@ -1305,8 +1301,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
|
||||
|
||||
GURL destination = CreateAltSvcUrl(
|
||||
original_url, alternative_service_info.host_port_pair());
|
||||
|
||||
@@ -4,19 +4,19 @@ Subject: Disable safety check
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/android/BUILD.gn | 5 -----
|
||||
chrome/android/chrome_java_sources.gni | 1 -
|
||||
chrome/android/java/res/xml/main_preferences.xml | 5 -----
|
||||
.../chrome/browser/settings/SettingsActivity.java | 13 -------------
|
||||
.../browser/settings/SettingsLauncherImpl.java | 5 +----
|
||||
chrome/browser/BUILD.gn | 1 -
|
||||
.../omnibox/suggestions/action/OmniboxPedal.java | 3 ---
|
||||
7 files changed, 1 insertion(+), 32 deletions(-)
|
||||
chrome/android/BUILD.gn | 5 -----
|
||||
chrome/android/chrome_java_sources.gni | 1 -
|
||||
chrome/android/java/res/xml/main_preferences.xml | 5 -----
|
||||
.../chrome/browser/settings/SettingsActivity.java | 15 ---------------
|
||||
.../browser/settings/SettingsLauncherImpl.java | 5 +----
|
||||
chrome/browser/BUILD.gn | 1 -
|
||||
.../omnibox/suggestions/action/OmniboxPedal.java | 3 ---
|
||||
7 files changed, 1 insertion(+), 34 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -400,7 +400,6 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -401,7 +401,6 @@ if (current_toolchain == default_toolchain) {
|
||||
"//chrome/browser/recent_tabs:helper_java",
|
||||
"//chrome/browser/recent_tabs:java",
|
||||
"//chrome/browser/safe_browsing/android:java",
|
||||
@@ -24,7 +24,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//chrome/browser/screenshot_monitor:java",
|
||||
"//chrome/browser/search_engines/android:java",
|
||||
"//chrome/browser/search_resumption:java",
|
||||
@@ -1034,8 +1033,6 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -1039,8 +1038,6 @@ if (current_toolchain == default_toolchain) {
|
||||
"//chrome/browser/recent_tabs:java",
|
||||
"//chrome/browser/recent_tabs:junit",
|
||||
"//chrome/browser/recent_tabs/internal:junit",
|
||||
@@ -33,7 +33,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//chrome/browser/screenshot_monitor:java",
|
||||
"//chrome/browser/search_engines/android:java",
|
||||
"//chrome/browser/search_engines/android:junit",
|
||||
@@ -1655,8 +1652,6 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -1661,8 +1658,6 @@ if (current_toolchain == default_toolchain) {
|
||||
"//chrome/browser/quick_delete:javatests",
|
||||
"//chrome/browser/safe_browsing/android:java",
|
||||
"//chrome/browser/safe_browsing/android:javatests",
|
||||
@@ -45,7 +45,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -1001,7 +1001,6 @@ chrome_java_sources = [
|
||||
@@ -1009,7 +1009,6 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsLauncher.java",
|
||||
@@ -71,17 +71,18 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
@@ -64,9 +64,6 @@ import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsBaseFra
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -66,10 +66,6 @@ import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
|
||||
import org.chromium.chrome.browser.safe_browsing.settings.SafeBrowsingSettingsFragmentBase;
|
||||
-import org.chromium.chrome.browser.safety_check.SafetyCheckBridge;
|
||||
-import org.chromium.chrome.browser.safety_check.SafetyCheckCoordinator;
|
||||
-import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
|
||||
-import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl;
|
||||
import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
|
||||
import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
|
||||
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
|
||||
@@ -531,16 +528,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -535,17 +531,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
baseSiteSettingsFragment.setCustomTabIntentHelper(
|
||||
LaunchIntentDispatcher::createCustomTabActivityIntent);
|
||||
}
|
||||
@@ -89,6 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
- SafetyCheckCoordinator.create(
|
||||
- (SafetyCheckSettingsFragment) fragment,
|
||||
- new SafetyCheckUpdatesDelegateImpl(),
|
||||
- new SafetyCheckBridge(mProfile),
|
||||
- mSettingsLauncher,
|
||||
- SyncConsentActivityLauncherImpl.get(),
|
||||
- getModalDialogManagerSupplier(),
|
||||
@@ -123,7 +125,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3461,7 +3461,6 @@ static_library("browser") {
|
||||
@@ -3482,7 +3482,6 @@ static_library("browser") {
|
||||
"//chrome/browser/reading_list/android",
|
||||
"//chrome/browser/recent_tabs:jni_headers",
|
||||
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
|
||||
|
||||
@@ -55,7 +55,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -219,6 +219,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -220,6 +220,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String CCT_MINIMIZED_ENABLED_BY_DEFAULT = "CCTMinimizedEnabledByDefault";
|
||||
public static final String CCT_INTENT_FEATURE_OVERRIDES = "CCTIntentFeatureOverrides";
|
||||
public static final String CCT_PAGE_INSIGHTS_HUB = "CCTPageInsightsHub";
|
||||
|
||||
@@ -31,7 +31,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
|
||||
--- a/chrome/renderer/chrome_content_renderer_client.cc
|
||||
+++ b/chrome/renderer/chrome_content_renderer_client.cc
|
||||
@@ -1622,7 +1622,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
|
||||
@@ -1625,7 +1625,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
|
||||
std::unique_ptr<media::SpeechRecognitionClient>
|
||||
ChromeContentRendererClient::CreateSpeechRecognitionClient(
|
||||
content::RenderFrame* render_frame) {
|
||||
|
||||
@@ -34,7 +34,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
|
||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||
--- a/content/child/runtime_features.cc
|
||||
+++ b/content/child/runtime_features.cc
|
||||
@@ -312,6 +312,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||
@@ -306,6 +306,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||
#endif
|
||||
{wf::EnableTouchDragAndContextMenu,
|
||||
raw_ref(features::kTouchDragAndContextMenu)},
|
||||
@@ -74,7 +74,7 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -4487,9 +4487,14 @@ void Document::SetURL(const KURL& url) {
|
||||
@@ -4624,9 +4624,14 @@ void Document::SetURL(const KURL& url) {
|
||||
TRACE_EVENT1("navigation", "Document::SetURL", "url",
|
||||
new_url.GetString().Utf8());
|
||||
|
||||
@@ -92,7 +92,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -3753,10 +3753,9 @@
|
||||
@@ -3687,10 +3687,9 @@
|
||||
},
|
||||
{
|
||||
name: "TextFragmentIdentifiers",
|
||||
|
||||
@@ -76,7 +76,7 @@ diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.
|
||||
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
|
||||
--- a/content/browser/renderer_host/navigation_request.cc
|
||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||
@@ -8681,7 +8681,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() {
|
||||
@@ -8686,7 +8686,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() {
|
||||
void NavigationRequest::ForceEnableOriginTrials(
|
||||
const std::vector<std::string>& trials) {
|
||||
DCHECK(!HasCommitted());
|
||||
@@ -106,7 +106,7 @@ diff --git a/content/browser/renderer_host/origin_trial_state_host_impl.cc b/con
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -485,10 +485,6 @@ void FillNavigationParamsRequest(
|
||||
@@ -538,10 +538,6 @@ void FillNavigationParamsRequest(
|
||||
common_params.initiator_origin.value();
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
|
||||
navigation_params->was_discarded = commit_params.was_discarded;
|
||||
navigation_params->document_ukm_source_id =
|
||||
commit_params.document_ukm_source_id;
|
||||
@@ -516,12 +512,6 @@ void FillNavigationParamsRequest(
|
||||
@@ -569,12 +565,6 @@ void FillNavigationParamsRequest(
|
||||
navigation_params->had_transient_user_activation =
|
||||
common_params.has_user_gesture;
|
||||
|
||||
@@ -130,7 +130,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
|
||||
if (!commit_params.early_hints_preloaded_resources.empty()) {
|
||||
navigation_params->early_hints_preloaded_resources = WebVector<WebURL>();
|
||||
for (const auto& resource : commit_params.early_hints_preloaded_resources) {
|
||||
@@ -583,11 +573,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
|
||||
@@ -636,11 +626,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
|
||||
info->url_request.GetURLRequestExtraData().get());
|
||||
DCHECK(url_request_extra_data);
|
||||
|
||||
@@ -142,7 +142,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
|
||||
blink::NavigationDownloadPolicy download_policy;
|
||||
download_policy.ApplyDownloadFramePolicy(
|
||||
info->is_opener_navigation, info->url_request.HasUserGesture(),
|
||||
@@ -610,7 +595,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
|
||||
@@ -663,7 +648,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
|
||||
info->url_request.HasUserGesture(),
|
||||
info->url_request.HasTextFragmentToken(),
|
||||
info->should_check_main_world_content_security_policy,
|
||||
@@ -227,7 +227,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -2939,10 +2926,6 @@ void DocumentLoader::CreateParserPostCommit() {
|
||||
@@ -2936,10 +2923,6 @@ void DocumentLoader::CreateParserPostCommit() {
|
||||
mojom::blink::OriginTrialFeature::kTouchEventFeatureDetection);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,9 +24,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
|
||||
@@ -62,7 +62,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity
|
||||
static final String SHOW_SEARCH_ENGINE_PAGE = "ShowSearchEnginePage";
|
||||
@@ -63,7 +63,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity
|
||||
static final String SHOW_SYNC_CONSENT_PAGE = "ShowSyncConsent";
|
||||
static final String SHOW_HISTORY_SYNC_PAGE = "ShowHistorySync";
|
||||
|
||||
- public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = true;
|
||||
+ public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = false;
|
||||
@@ -91,7 +91,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
|
||||
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
||||
--- a/chrome/browser/browser_process_impl.cc
|
||||
+++ b/chrome/browser/browser_process_impl.cc
|
||||
@@ -1060,7 +1060,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
@@ -1081,7 +1081,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
|
||||
@@ -103,7 +103,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -84,7 +84,6 @@
|
||||
@@ -83,7 +83,6 @@
|
||||
#include "chrome/browser/hid/chrome_hid_delegate.h"
|
||||
#include "chrome/browser/interstitials/enterprise_util.h"
|
||||
#include "chrome/browser/lifetime/browser_shutdown.h"
|
||||
@@ -111,7 +111,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
#include "chrome/browser/media/audio_service_util.h"
|
||||
#include "chrome/browser/media/prefs/capture_device_ranking.h"
|
||||
#include "chrome/browser/media/router/media_router_feature.h"
|
||||
@@ -4880,16 +4879,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
@@ -4908,16 +4907,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
content::NavigationHandle* handle) {
|
||||
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
|
||||
|
||||
@@ -128,7 +128,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
|
||||
MaybeAddThrottle(
|
||||
SupervisedUserNavigationThrottle::MaybeCreateThrottleFor(handle),
|
||||
@@ -4990,10 +4979,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
@@ -5018,10 +5007,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
throttle_manager->MaybeAppendNavigationThrottles(handle, &throttles);
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
@@ -90,6 +90,10 @@ BASE_FEATURE(kPostFREFixMetricsReportingFeature,
|
||||
@@ -92,6 +92,10 @@ BASE_FEATURE(kPostFREFixMetricsReportingFeature,
|
||||
// Name of the variations param that defines the sampling rate.
|
||||
const char kRateParamName[] = "sampling_rate_per_mille";
|
||||
|
||||
@@ -222,7 +222,7 @@ diff --git a/components/ntp_tiles/most_visited_sites.cc b/components/ntp_tiles/m
|
||||
diff --git a/services/metrics/public/cpp/ukm_recorder.cc b/services/metrics/public/cpp/ukm_recorder.cc
|
||||
--- a/services/metrics/public/cpp/ukm_recorder.cc
|
||||
+++ b/services/metrics/public/cpp/ukm_recorder.cc
|
||||
@@ -122,4 +122,5 @@ void UkmRecorder::RemoveObserver(Observer* observer) {
|
||||
@@ -138,4 +138,5 @@ void UkmRecorder::RemoveObserver(Observer* observer) {
|
||||
observers_.RemoveObserver(observer);
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Disallow Android App Scheme as referrer
|
||||
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
|
||||
--- a/chrome/renderer/chrome_content_renderer_client.cc
|
||||
+++ b/chrome/renderer/chrome_content_renderer_client.cc
|
||||
@@ -542,11 +542,6 @@ void ChromeContentRendererClient::RenderThreadStarted() {
|
||||
@@ -547,11 +547,6 @@ void ChromeContentRendererClient::RenderThreadStarted() {
|
||||
// TODO(nyquist): Add test to ensure this happens when the flag is set.
|
||||
WebSecurityPolicy::RegisterURLSchemeAsDisplayIsolated(dom_distiller_scheme);
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -1435,8 +1435,6 @@ static_library("ui") {
|
||||
@@ -1416,8 +1416,6 @@ static_library("ui") {
|
||||
"singleton_tabs.h",
|
||||
"startup/automation_infobar_delegate.cc",
|
||||
"startup/automation_infobar_delegate.h",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user