Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4afa52ce16 | ||
|
|
8c0d78bb19 | ||
|
|
710fa88c18 | ||
|
|
0747986f1c | ||
|
|
f96679ab2e | ||
|
|
80c93e87a0 | ||
|
|
efbf27ab47 | ||
|
|
4fc67eebf1 | ||
|
|
b272f4d95e | ||
|
|
3b94575733 | ||
|
|
9fd52039b9 | ||
|
|
6855aa4049 | ||
|
|
618defebc9 | ||
|
|
39e747f886 | ||
|
|
a86fc06ee6 | ||
|
|
7d655716c5 | ||
|
|
9025fe39d5 | ||
|
|
163455ae04 | ||
|
|
bee9aea000 | ||
|
|
fa08466b6b | ||
|
|
a258db804d | ||
|
|
b0b5b3fa14 | ||
|
|
8fe7b380f2 | ||
|
|
d9c17daf78 | ||
|
|
a34bbac337 | ||
|
|
1b5b2306d3 | ||
|
|
226754efbc | ||
|
|
0596bf43a7 | ||
|
|
978258a071 | ||
|
|
f6b6a0f8f3 | ||
|
|
1a1319d713 | ||
|
|
41c823bf05 | ||
|
|
3222b0dc89 | ||
|
|
7e65e72932 | ||
|
|
4d1268c2e0 | ||
|
|
bc540aca38 | ||
|
|
2ef82c5d12 | ||
|
|
1e3fd747c5 | ||
|
|
f5f0c92233 | ||
|
|
f84fec5c2f | ||
|
|
8a2cda29ee | ||
|
|
ea8c3a45fe | ||
|
|
cc9dca10a3 | ||
|
|
9063dd14a6 | ||
|
|
7e088a9a52 | ||
|
|
9c107e38df | ||
|
|
364170fea6 | ||
|
|
22eed850f1 | ||
|
|
bbb207c119 | ||
|
|
619a988257 | ||
|
|
79219cd1db | ||
|
|
c3c67dd092 | ||
|
|
342bcd67f7 | ||
|
|
76ded8aa54 | ||
|
|
953c71769f | ||
|
|
0f20fc01b7 | ||
|
|
5c6f1d66e1 | ||
|
|
ac8b2ddf62 | ||
|
|
fcb1cf5e1c | ||
|
|
d3d8062864 | ||
|
|
0e534665b8 | ||
|
|
6df6fb6158 | ||
|
|
309effa27e | ||
|
|
7615d57ff6 | ||
|
|
89349a8eba | ||
|
|
191639e7b0 | ||
|
|
b3af1b0d37 | ||
|
|
39e2c5a20f | ||
|
|
dd26fef46d | ||
|
|
a3a4a0f267 | ||
|
|
48a833dde8 | ||
|
|
19f39147a6 | ||
|
|
3f31d6687d | ||
|
|
e4d817c6cd | ||
|
|
5667ccfc1e | ||
|
|
19b9c3eb13 | ||
|
|
894591e85c | ||
|
|
5daa5046c6 | ||
|
|
b04e69a09b | ||
|
|
5d7e4afbb9 | ||
|
|
df5ba7de35 | ||
|
|
30cd5d7038 | ||
|
|
bbd3857c55 | ||
|
|
161e94bcae | ||
|
|
1b54b2ab88 | ||
|
|
17a1d0a4ff | ||
|
|
3dbba33f87 | ||
|
|
37883aeea1 | ||
|
|
2555294264 | ||
|
|
08f5fb7cb0 | ||
|
|
55afa47439 | ||
|
|
f288533816 | ||
|
|
79d8e9265f | ||
|
|
7b051181fa | ||
|
|
6f4b45ab24 | ||
|
|
60acd4460e | ||
|
|
f7ed8e7a86 | ||
|
|
5d8c8bba61 | ||
|
|
7a4878bd1d | ||
|
|
4344d5566e | ||
|
|
8ea8e4273a | ||
|
|
d610e2a525 | ||
|
|
18ee7711c0 | ||
|
|
0e83f203a0 | ||
|
|
90a7879399 | ||
|
|
53a34e243b | ||
|
|
0f23f2a5a7 | ||
|
|
b1189ef627 | ||
|
|
7aa295041e | ||
|
|
659cfbc3f6 | ||
|
|
d4710fc69f | ||
|
|
f251a3d9c5 | ||
|
|
fe348868b6 | ||
|
|
c9e9512bb9 | ||
|
|
082417b93d | ||
|
|
7db9011113 | ||
|
|
970188f2a6 | ||
|
|
b69d6d5fe6 | ||
|
|
1ae538cb92 | ||
|
|
c108e6d4e3 | ||
|
|
a36f51b4bf | ||
|
|
c341469a3b | ||
|
|
d53d0812a0 | ||
|
|
996ab2d718 | ||
|
|
5afea1c64b | ||
|
|
d728db919a | ||
|
|
07bcd2bc70 | ||
|
|
bcb661ead0 | ||
|
|
986c7ed482 | ||
|
|
749a747215 | ||
|
|
d7b2fa08d0 | ||
|
|
5310c38f84 | ||
|
|
f021d97b4c | ||
|
|
8e7624c69c | ||
|
|
1b3f3ea7a3 | ||
|
|
b5013e0302 | ||
|
|
d72c510955 | ||
|
|
ce2f07034a | ||
|
|
4f539c6d88 | ||
|
|
6a384095f7 | ||
|
|
76745fde6e | ||
|
|
aa131bcbb6 | ||
|
|
983523b3c0 | ||
|
|
c43e2a01ba | ||
|
|
2e1849a8e3 | ||
|
|
0572d22b19 | ||
|
|
a097c283b2 | ||
|
|
1aac2aa89e | ||
|
|
6c4dcb3165 | ||
|
|
52ad246c7b | ||
|
|
37cedae584 | ||
|
|
b499f8e044 | ||
|
|
7934f4dd7f | ||
|
|
2e63b5acf2 | ||
|
|
323b38a1f5 | ||
|
|
7347ab2e49 | ||
|
|
6203979649 | ||
|
|
e239ca886b | ||
|
|
99b2e4120d | ||
|
|
e94f1e0f76 | ||
|
|
18218f7d64 | ||
|
|
60b8f14101 | ||
|
|
9109417e41 | ||
|
|
3fad173da8 | ||
|
|
b5a3ab4891 | ||
|
|
5c4e21e320 | ||
|
|
1496282e28 | ||
|
|
fdfd2f9b74 | ||
|
|
256a5203d8 | ||
|
|
893864326f | ||
|
|
3b806bc9c1 | ||
|
|
988725ff45 | ||
|
|
dcb8203bde | ||
|
|
0637333bc3 | ||
|
|
f1949bde26 | ||
|
|
cd812a3a61 | ||
|
|
7df41658ca | ||
|
|
00c6265933 | ||
|
|
f20dc34505 | ||
|
|
5d60aec0aa | ||
|
|
0f4f351950 | ||
|
|
7c3c295130 | ||
|
|
64d39618a8 | ||
|
|
853fb0cabd | ||
|
|
743932a957 |
@@ -1,32 +1,32 @@
|
||||
name: Bug report
|
||||
description: Create a Bromite bug report
|
||||
description: Create a Cromite bug report
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Welcome! Thanks for taking the time to submit a bug report.
|
||||
|
||||
If this is not a bug about the Bromite browser, or you are looking for a place to ask a question to the community,
|
||||
then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead.
|
||||
|
||||
|
||||
If this is not a bug about the Cromite browser, or you are looking for a place to ask a question to the community,
|
||||
then please use the [GitHub Discussions](https://github.com/uazo/cromite/discussions) instead.
|
||||
|
||||
Make sure you have acknowledged and completed this template before submitting your issue.
|
||||
|
||||
|
||||
Please read it carefully: incorrect issues will be automatically closed and ignored.
|
||||
|
||||
|
||||
- type: checkboxes
|
||||
id: preliminary_checklist
|
||||
attributes:
|
||||
label: Preliminary checklist
|
||||
options:
|
||||
- label: "I have read the [README](https://github.com/bromite/bromite/blob/master/README.md)."
|
||||
- label: "I have read the [README](https://github.com/uazo/cromite/blob/master/README.md)."
|
||||
required: true
|
||||
- label: "I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue."
|
||||
required: true
|
||||
- label: "I have read the [FAQs](https://github.com/bromite/bromite/blob/master/FAQ.md)."
|
||||
- label: "I have read the [FAQs](https://github.com/uazo/cromite/blob/master/FAQ.md)."
|
||||
required: true
|
||||
- label: "I have updated Bromite to the latest version. The bug is reproducible on this latest version."
|
||||
- label: "I have updated Cromite to the latest version. The bug is reproducible on this latest version."
|
||||
required: true
|
||||
- label: "This is a bug report about the Bromite browser; not the website nor F-Droid nor anything else."
|
||||
- label: "This is a bug report about the Cromite browser; not the website nor F-Droid nor anything else."
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
@@ -34,10 +34,10 @@ body:
|
||||
attributes:
|
||||
label: Can the bug be reproduced with corresponding Chromium version?
|
||||
description: |
|
||||
Please pick the same version of Chromium as Bromite from here: https://github.com/bromite/chromium/releases
|
||||
Please pick the same version of Chromium as Cromite
|
||||
If the bug is reproducible then it might be a configuration issue or an upstream bug. Upstream bugs can be reported on the [Chromium issue tracker](https://bugs.chromium.org/p/chromium/issues/list) and
|
||||
do not forget to read [Chromium project bug reporting guidelines](https://www.chromium.org/for-testers/bug-reporting-guidelines) first.
|
||||
|
||||
|
||||
If the bug is related to functionality that does not exist in Chromium then answer "No".
|
||||
multiple: false
|
||||
options:
|
||||
@@ -47,10 +47,10 @@ body:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: bromite_version
|
||||
id: cromite_version
|
||||
attributes:
|
||||
label: Bromite version
|
||||
description: What version of Bromite are you using? Please specify a single version e.g. `96.0.4664.1` not `latest`. If this is not the latest version then please update and retry before submitting this bug report.
|
||||
label: Cromite version
|
||||
description: What version of Cromite are you using? Please specify a single version e.g. `96.0.4664.1` not `latest`. If this is not the latest version then please update and retry before submitting this bug report.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@@ -76,6 +76,8 @@ body:
|
||||
multiple: false
|
||||
description: What version of Android are you running?
|
||||
options:
|
||||
- 14
|
||||
- 13
|
||||
- 12.1
|
||||
- 12.0
|
||||
- 11
|
||||
@@ -112,24 +114,12 @@ body:
|
||||
description: |
|
||||
These are the flags changed under `chrome://flags`.
|
||||
Report all the flags with non-default configuration (they will be blue-highlighted).
|
||||
|
||||
|
||||
If no flags are changed then write 'no flags changed'.
|
||||
placeholder: show-overdraw-feedback, enable-parallel-downloading
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: is_system_webview
|
||||
attributes:
|
||||
label: Is this bug about the SystemWebView?
|
||||
description: Please note that no support for System WebView installation is provided.
|
||||
multiple: false
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: is_incognito
|
||||
attributes:
|
||||
@@ -162,7 +152,7 @@ body:
|
||||
2. Yes, I have attached the crash report dump that I downloaded from `chrome://crashes`
|
||||
3. Yes, I have copy/pasted the crash dump
|
||||
placeholder: |
|
||||
Drag the crash report dump here to attach it or paste the logcat dump individuated with `adb logcat | grep -E '( cr_|bromite|chromium)'`.
|
||||
Drag the crash report dump here to attach it or paste the logcat dump individuated with `adb logcat | grep -E '( cr_|cromite|chromium)'`.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@@ -180,7 +170,7 @@ body:
|
||||
label: Steps to reproduce the bug
|
||||
description: |
|
||||
Explain how to cause the bug as clearly as possible. Bugs that are not reproducible cannot be investigated.
|
||||
|
||||
|
||||
Also, do not write "any website": please specify which URLs can be used to reproduce the issue.
|
||||
placeholder: |
|
||||
Steps to reproduce the bug (e.g.):
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
name: Feature request
|
||||
description: Create a Bromite feature request
|
||||
description: Create a Cromite feature request
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Welcome! Thanks for taking time to submit a feature request.
|
||||
|
||||
If this is not a feature request about the Bromite browser, or you are looking for a place
|
||||
to ask a question to the community then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead.
|
||||
|
||||
|
||||
If this is not a feature request about the Cromite browser, or you are looking for a place
|
||||
to ask a question to the community then please use the [GitHub Discussions](https://github.com/uazo/cromite/discussions) instead.
|
||||
|
||||
Make sure you have acknowledged and completed this template before submitting your issue.
|
||||
|
||||
|
||||
Please read it carefully: incorrect issues will be automatically closed and ignored.
|
||||
|
||||
|
||||
Note:
|
||||
- Features unrelated to privacy will not be considered.
|
||||
- Do not ask "I would like feature X which is available in browser Y."
|
||||
@@ -22,13 +22,13 @@ body:
|
||||
attributes:
|
||||
label: Preliminary checklist
|
||||
options:
|
||||
- label: "I have read the [README](https://github.com/bromite/bromite/blob/master/README.md)"
|
||||
- label: "I have read the [README](https://github.com/uazo/cromite/blob/master/README.md)"
|
||||
required: true
|
||||
- label: "I have read the [FAQs](https://github.com/bromite/bromite/blob/master/FAQ.md)."
|
||||
- label: "I have read the [FAQs](https://github.com/uazo/cromite/blob/master/FAQ.md)."
|
||||
required: true
|
||||
- label: "I have searched [existing issues](https://github.com/bromite/bromite/issues) for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue."
|
||||
- label: "I have searched [existing issues](https://github.com/uazo/cromite/issues) for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue."
|
||||
required: true
|
||||
- label: "This is a feature request for the Bromite browser; not the website nor F-Droid nor anything else."
|
||||
- label: "This is a feature request for the Cromite browser; not the website nor F-Droid nor anything else."
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
permissions:
|
||||
actions: none
|
||||
checks: none
|
||||
contents: none
|
||||
deployments: none
|
||||
issues: write
|
||||
packages: none
|
||||
pull-requests: none
|
||||
repository-projects: none
|
||||
security-events: none
|
||||
statuses: none
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'chromium version'
|
||||
required: false
|
||||
default: ''
|
||||
schedule:
|
||||
- cron: '0 1 * * *'
|
||||
|
||||
env:
|
||||
VERSION: ${{ github.event.inputs.version }}
|
||||
NEW_VERSION: ${{ null }}
|
||||
|
||||
name: Builds and pushes tagged image to DockerHub
|
||||
jobs:
|
||||
generate_build_deps:
|
||||
name: Generate Build Deps
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Reclaiming disk space on / by removing dotnet/android/ghc
|
||||
run: |
|
||||
sudo rm -rf /usr/share/dotnet
|
||||
sudo rm -rf /usr/local/lib/android
|
||||
sudo rm -rf /opt/ghc
|
||||
sudo apt-get remove google-cloud-sdk azure-cli google-chrome-stable \
|
||||
firefox mysql-server-core-8.0 mono-devel podman \
|
||||
powershell
|
||||
sudo apt-get autoremove
|
||||
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: cromite
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Check versions
|
||||
shell: bash
|
||||
run: |
|
||||
if [ -z $VERSION ]; then
|
||||
VERSION=$(curl -s https://omahaproxy.appspot.com/all.json | jq '.[] | select(.os | contains("win64")) | .versions[] | select(.channel | contains("stable")) | .current_version' | xargs)
|
||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Building build-deps container ${{ env.VERSION }}
|
||||
shell: bash
|
||||
run: |
|
||||
IS_PRESENT=$(docker inspect --type=image uazo/build-deps:$VERSION > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
IS_PRESENT=$(docker manifest inspect uazo/build-deps:$VERSION > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
DOCKER_BUILDKIT=1 docker build -t uazo/build-deps:$VERSION \
|
||||
--progress plain \
|
||||
--build-arg VERSION=$VERSION \
|
||||
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
||||
--no-cache \
|
||||
cromite/tools/images/build-deps/.
|
||||
|
||||
docker push uazo/build-deps:$VERSION
|
||||
echo "NEW_VERSION=$VERSION" >> $GITHUB_ENV
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Building chromium container ${{ env.VERSION }}
|
||||
shell: bash
|
||||
run: |
|
||||
IS_PRESENT=$(docker inspect --type=image uazo/chromium:$VERSION > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
IS_PRESENT=$(docker manifest inspect uazo/chromium:$VERSION > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
DOCKER_BUILDKIT=1 docker build -t uazo/chromium:$VERSION \
|
||||
--progress plain \
|
||||
--build-arg VERSION=$VERSION \
|
||||
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
||||
cromite/tools/images/chr-source/.
|
||||
|
||||
docker push uazo/chromium:$VERSION
|
||||
echo "NEW_VERSION=$VERSION" >> $GITHUB_ENV
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Create issue ${{ env.VERSION }}
|
||||
if: "${{ env.NEW_VERSION != '' }}"
|
||||
shell: bash
|
||||
run: |
|
||||
GH=../../gh_2.18.1_linux_amd64/bin/gh
|
||||
wget https://github.com/cli/cli/releases/download/v2.18.1/gh_2.18.1_linux_amd64.tar.gz
|
||||
tar xfz gh_2.18.1_linux_amd64.tar.gz
|
||||
|
||||
cd cromite/tools
|
||||
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
|
||||
$GH issue create -t "$VERSION: new chromium version" -b ""
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,350 @@
|
||||
name: Build Cromite
|
||||
permissions:
|
||||
actions: none
|
||||
checks: none
|
||||
contents: none
|
||||
deployments: none
|
||||
issues: none
|
||||
packages: none
|
||||
pull-requests: none
|
||||
repository-projects: none
|
||||
security-events: none
|
||||
statuses: none
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
sha:
|
||||
description: 'uazo/cromite SHA'
|
||||
required: true
|
||||
default: ''
|
||||
target_os:
|
||||
description: 'targetos [android/win/all]'
|
||||
required: true
|
||||
default: 'all'
|
||||
build:
|
||||
description: 'android arch [arm64/x64/all]'
|
||||
required: true
|
||||
default: 'all'
|
||||
type:
|
||||
description: 'runner? [dev/ci]'
|
||||
required: true
|
||||
default: 'ci'
|
||||
debug:
|
||||
description: 'debug? [true/false]'
|
||||
required: true
|
||||
default: 'false'
|
||||
clangd:
|
||||
description: 'clangd? [true/false]'
|
||||
required: true
|
||||
default: 'false'
|
||||
|
||||
env:
|
||||
BROMITE_SHA: ${{ github.event.inputs.sha }}
|
||||
REMOVEDOCKERSUPPORT: true
|
||||
USELOCALIMAGE: true
|
||||
|
||||
jobs:
|
||||
check_images:
|
||||
runs-on: ${{ github.event.inputs.type }}
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: cromite
|
||||
ref: ${{ github.event.inputs.sha }}
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Enable proxy on container
|
||||
shell: bash
|
||||
run: |
|
||||
if ! [[ -z "${HTTP_PROXY}" ]]; then
|
||||
PROXY_ADDR=http://$(hostname -I | cut -d' ' -f1 | xargs):8118
|
||||
echo "PROXY_ADDR=$PROXY_ADDR" >> $GITHUB_ENV
|
||||
sudo iptables -D INPUT -p tcp -s localhost --dport 8118 -j ACCEPT
|
||||
sudo iptables -D INPUT -p tcp --dport 8118 -j DROP
|
||||
fi
|
||||
|
||||
- name: Get current chromium version
|
||||
shell: bash
|
||||
run: |
|
||||
export VERSION=$( cat ./cromite/build/RELEASE )
|
||||
rm -rf bromite
|
||||
|
||||
echo Current version is $VERSION
|
||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||
|
||||
cd cromite/tools
|
||||
|
||||
- name: Building build-deps container ${{ env.VERSION }}
|
||||
shell: bash
|
||||
run: |
|
||||
IS_PRESENT=$(docker inspect --type=image uazo/build-deps:$VERSION > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
IS_PRESENT=$(docker manifest inspect uazo/build-deps:$VERSION > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
DOCKER_BUILDKIT=1 docker build -t uazo/build-deps:$VERSION \
|
||||
--progress plain \
|
||||
--build-arg VERSION=$VERSION \
|
||||
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
||||
--no-cache \
|
||||
cromite/tools/images/build-deps/.
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Building chromium container ${{ env.VERSION }}
|
||||
shell: bash
|
||||
run: |
|
||||
IS_PRESENT=$(docker inspect --type=image uazo/chromium:$VERSION > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
IS_PRESENT=$(docker manifest inspect uazo/chromium:$VERSION > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
DOCKER_BUILDKIT=1 docker build -t uazo/chromium:$VERSION \
|
||||
--progress plain \
|
||||
--build-arg VERSION=$VERSION \
|
||||
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
||||
cromite/tools/images/chr-source/.
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Building cromite container ${{ env.VERSION }}-${{ env.BROMITE_SHA }}
|
||||
shell: bash
|
||||
run: |
|
||||
IS_PRESENT=$(docker inspect --type=image uazo/cromite:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
IS_PRESENT=$(docker manifest inspect uazo/cromite:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
DOCKER_BUILDKIT=1 docker build -t uazo/cromite:$VERSION-$BROMITE_SHA --progress plain \
|
||||
--build-arg BROMITE_SHA=$BROMITE_SHA \
|
||||
--build-arg VERSION=$VERSION \
|
||||
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
||||
cromite/tools/images/bromite-source/.
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Building cromite-build container ${{ env.VERSION }}-${{ env.BROMITE_SHA }}
|
||||
shell: bash
|
||||
run: |
|
||||
IS_PRESENT=$(docker inspect --type=image uazo/cromite-build:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
IS_PRESENT=$(docker manifest inspect uazo/cromite-build:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -ne "0" ]; then
|
||||
DOCKER_BUILDKIT=1 docker build -t uazo/cromite-build:$VERSION-$BROMITE_SHA --progress plain \
|
||||
--build-arg BROMITE_SHA=$BROMITE_SHA \
|
||||
--build-arg VERSION=$VERSION \
|
||||
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
||||
--no-cache \
|
||||
cromite/tools/images/bromite-build/.
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Mark image to build
|
||||
shell: bash
|
||||
run: |
|
||||
IS_PRESENT=$(docker inspect --type=image uazo/cromite-build:build > /dev/null ; echo $?)
|
||||
if [ $IS_PRESENT -eq "0" ]; then
|
||||
docker rmi uazo/cromite-build:build
|
||||
fi
|
||||
docker tag uazo/cromite-build:$VERSION-$BROMITE_SHA uazo/cromite-build:build
|
||||
|
||||
build:
|
||||
runs-on: ${{ github.event.inputs.type }}
|
||||
needs: check_images
|
||||
if: success()
|
||||
timeout-minutes: 1200
|
||||
|
||||
container:
|
||||
image: uazo/cromite-build:build
|
||||
env:
|
||||
REMOVEDOCKERSUPPORT: true # CUSTOM RUNNER: remove sharing of docker socket
|
||||
USELOCALIMAGE: true # CUSTOM RUNNER: permit use of local images
|
||||
USEINTERNALNETWORK: true # CUSTOM RUNNER: create the docker network as internal
|
||||
WORKSPACE: /home/lg/working_dir
|
||||
# kythe
|
||||
KYTHE_CORPUS: chromium.googlesource.com/chromium/src
|
||||
KYTHE_ROOT_DIRECTORY: /home/lg/working_dir/chromium/src
|
||||
KYTHE_OUTPUT_DIRECTORY: /home/lg/working_dir/chromium/src/out/bromite/kythe
|
||||
# cross build
|
||||
DEPOT_TOOLS_WIN_TOOLCHAIN_BASE_URL: /win_sdk/10.0.22621.0/
|
||||
WINDOWSSDKDIR: "/win_sdk/10.0.22621.0/Windows Kits/10/"
|
||||
GYP_MSVS_OVERRIDE_PATH: /win_sdk/10.0.22621.0/
|
||||
# compile in debug mode
|
||||
TARGET_ISDEBUG: ${{ github.event.inputs.debug }}
|
||||
TARGET_OS: ${{ github.event.inputs.target_os }}
|
||||
USE_KEYSTORE: true
|
||||
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
|
||||
CROMITE_PREF_HASH_SEED_BIN: ${{ secrets.CROMITE_PREF_HASH_SEED_BIN }}
|
||||
volumes:
|
||||
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/arm64:/home/lg/working_dir/chromium/src/out/bromite
|
||||
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/x64:/home/lg/working_dir/chromium/src/out/bromite_x64
|
||||
- /storage/images/${{ github.event.inputs.sha }}/win/x64:/home/lg/working_dir/chromium/src/out/bromite_win
|
||||
- /tmp/proxy:/tmp/proxy
|
||||
- /win_sdk:/win_sdk
|
||||
|
||||
steps:
|
||||
- name: Prepare Build Container
|
||||
shell: bash
|
||||
run: |
|
||||
# set workspace paths
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE
|
||||
|
||||
# reset proxy env
|
||||
HTTP_PROXY=
|
||||
HTTPS_PROXY=
|
||||
http_proxy=
|
||||
https_proxy=
|
||||
|
||||
# set out folder permissions
|
||||
test -d chromium/src/out/bromite || sudo mkdir -p chromium/src/out/bromite && \
|
||||
sudo chown lg chromium/src/out &&
|
||||
sudo chown lg chromium/src/out/bromite
|
||||
|
||||
test -d chromium/src/out/bromite_win || sudo mkdir -p chromium/src/out/bromite_win && \
|
||||
sudo chown lg chromium/src/out &&
|
||||
sudo chown lg chromium/src/out/bromite_win
|
||||
|
||||
test -d chromium/src/out/bromite_x64 || sudo mkdir -p chromium/src/out/bromite_x64 && \
|
||||
sudo chown lg chromium/src/out &&
|
||||
sudo chown lg chromium/src/out/bromite_x64
|
||||
|
||||
# make kythe output directory
|
||||
test -d $KYTHE_OUTPUT_DIRECTORY || mkdir -p $KYTHE_OUTPUT_DIRECTORY
|
||||
|
||||
sudo mkdir -p /run/user/1000/
|
||||
sudo chown lg /run/user/1000/
|
||||
sudo chmod g-rxw /run/user/1000/
|
||||
sudo chmod o-rxw /run/user/1000/
|
||||
|
||||
# prepare keystore
|
||||
echo "::group::-------- prepare keystore"
|
||||
cd $WORKSPACE
|
||||
echo "${{ secrets.KEYSTORE }}" > cromite.keystore.asc
|
||||
gpg --homedir ./ -d --passphrase "${{ secrets.KEYSTORE_PASSPHRASE }}" --batch cromite.keystore.asc > cromite.keystore
|
||||
echo "::endgroup::"
|
||||
|
||||
- name: Build Bromite Android arm64
|
||||
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm64' || github.event.inputs.build == 'all') }}
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
|
||||
echo "::group::-------- gn gen"
|
||||
gn gen --args="import(\"/home/lg/working_dir/bromite/build/bromite.gn_args\") $(cat ../../build_args.gni) target_cpu = \"arm64\" " out/bromite
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::-------- gn args"
|
||||
gn args out/bromite/ --list --short
|
||||
gn args out/bromite/ --list >out/bromite/gn_list
|
||||
echo "::endgroup::"
|
||||
|
||||
autoninja -C out/bromite chrome_public_apk
|
||||
|
||||
cp ../../bromite/build/RELEASE out/bromite
|
||||
|
||||
- name: Get ninja logs Android arm64
|
||||
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm64' || github.event.inputs.build == 'all') }}
|
||||
shell: bash
|
||||
run: |
|
||||
cd $WORKSPACE
|
||||
$WORKSPACE/ninjatracing/ninjatracing $WORKSPACE/chromium/src/out/bromite/.ninja_log >$WORKSPACE/chromium/src/out/bromite/ninja_log_trace.json
|
||||
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/bromite/ninja_log_trace.json
|
||||
|
||||
- name: Build Bromite Windows
|
||||
if: ${{ github.event.inputs.target_os == 'win' || github.event.inputs.target_os == 'all' }}
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
|
||||
echo "::group::-------- gn gen"
|
||||
gn gen --args="import(\"/home/lg/working_dir/bromite/build/bromite.gn_args\") target_os = \"win\" $(cat ../../build_args.gni) target_cpu = \"x64\" " out/bromite_win
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::-------- gn args"
|
||||
gn args out/bromite_win/ --list --short
|
||||
gn args out/bromite_win/ --list >out/bromite_win/gn_list
|
||||
echo "::endgroup::"
|
||||
|
||||
autoninja -C out/bromite_win chrome
|
||||
|
||||
cp ../../bromite/build/RELEASE out/bromite_win
|
||||
|
||||
- name: Get ninja logs Windows
|
||||
if: ${{ github.event.inputs.target_os == 'win' || github.event.inputs.target_os == 'all' }}
|
||||
shell: bash
|
||||
run: |
|
||||
cd $WORKSPACE
|
||||
$WORKSPACE/ninjatracing/ninjatracing $WORKSPACE/chromium/src/out/bromite_win/.ninja_log >$WORKSPACE/chromium/src/out/bromite_win/ninja_log_trace.json
|
||||
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/bromite_win/ninja_log_trace.json
|
||||
|
||||
- name: Build Bromite Android x64
|
||||
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'x64' || github.event.inputs.build == 'all') }}
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
|
||||
echo "::group::-------- gn gen"
|
||||
gn gen --args="import(\"/home/lg/working_dir/bromite/build/bromite.gn_args\") $(cat ../../build_args.gni) target_cpu = \"x64\" " out/bromite_x64
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::-------- gn args"
|
||||
gn args out/bromite_x64/ --list --short
|
||||
gn args out/bromite_x64/ --list >out/bromite_x64/gn_list
|
||||
echo "::endgroup::"
|
||||
|
||||
autoninja -C out/bromite_x64 chrome_public_apk
|
||||
|
||||
cp ../../bromite/build/RELEASE out/bromite_x64
|
||||
|
||||
- name: Get ninja logs Android x64
|
||||
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'x64' || github.event.inputs.build == 'all') }}
|
||||
shell: bash
|
||||
run: |
|
||||
cd $WORKSPACE
|
||||
$WORKSPACE/ninjatracing/ninjatracing $WORKSPACE/chromium/src/out/bromite_x64/.ninja_log >$WORKSPACE/chromium/src/out/bromite_x64/ninja_log_trace.json
|
||||
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/bromite_x64/ninja_log_trace.json
|
||||
|
||||
|
||||
- name: Generate breakpad symbols arm64
|
||||
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm64' || github.event.inputs.build == 'all') }}
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
|
||||
echo "::group::-------- generating breakpad symbols"
|
||||
autoninja -C out/bromite minidump_stackwalk dump_syms
|
||||
components/crash/content/tools/generate_breakpad_symbols.py --build-dir=out/bromite \
|
||||
--symbols-dir=out/bromite/symbols/ --binary=out/bromite/lib.unstripped/libchrome.so \
|
||||
--platform=android --clear --verbose
|
||||
cp out/bromite/lib.unstripped/libchrome.so out/bromite/symbols/libchrome.lib.so
|
||||
cp out/bromite/minidump_stackwalk out/bromite/symbols
|
||||
cp out/bromite/dump_syms out/bromite/symbols
|
||||
echo "::endgroup::"
|
||||
|
||||
- name: Generate Supersize data
|
||||
if: ${{ github.event.inputs.debug == 'false' && (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm64' || github.event.inputs.build == 'all') }}
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
|
||||
tools/binary_size/supersize archive out/bromite/chrome.size --apk-file out/bromite/apks/ChromePublic.apk -v
|
||||
|
||||
- name: Generate clangd index
|
||||
if: ${{ github.event.inputs.clangd == 'true' }}
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
|
||||
test -f out/bromite/bromite.idx || \
|
||||
cp -r out/bromite out/clangd && \
|
||||
gn gen --args="import(\"/home/lg/working_dir/bromite/build/bromite.gn_args\") $(cat ../../build_args.gni) skip_clangd_unsupported_options = true" out/clangd && \
|
||||
$WORKSPACE/ninja/ninja -C $WORKSPACE/chromium/src/out/clangd -a chrome_public_apk \
|
||||
-t compdb cc cxx objc objcxx >$WORKSPACE/chromium/src/out/clangd/compile_commands.json && \
|
||||
/home/lg/working_dir/clangd_snapshot_20211205/bin/clangd-indexer --executor=all-TUs out/clangd/compile_commands.json >out/bromite/bromite.idx && \
|
||||
rm -rf out/clangd
|
||||
@@ -0,0 +1,155 @@
|
||||
name: Check git apply
|
||||
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: Prepare container
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y wget unzip tar sed dos2unix patchutils wiggle curl
|
||||
|
||||
wget https://github.com/uazo/superpatch/releases/latest/download/SuperPatchUtils.tar.gz
|
||||
tar xfz SuperPatchUtils.tar.gz
|
||||
rm SuperPatchUtils.tar.gz
|
||||
|
||||
wget https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip
|
||||
unzip pup_v0.4.0_linux_amd64.zip
|
||||
rm pup_v0.4.0_linux_amd64.zip
|
||||
|
||||
BRANCH=$(curl https://github.com/uazo/cromite/branch_commits/$RTAG | ./pup -p li.branch:last-child a text{})
|
||||
if [ -z "${BRANCH}" ]; then
|
||||
BRANCH=$(curl https://github.com/uazo/cromite/branch_commits/$RTAG a | ./pup -p li.branch:first-child a text{})
|
||||
fi
|
||||
if [ -z "${BRANCH}" ]; then
|
||||
echo "Can not recover the base commit"
|
||||
exit 1
|
||||
fi
|
||||
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
|
||||
|
||||
- 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: Check chromium version
|
||||
run: |
|
||||
export HOME=$GITHUB_WORKSPACE
|
||||
VERSION=$(cat ~/cromite/build/RELEASE)
|
||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||
|
||||
- name: Cache chromium sources
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: chromium-src
|
||||
key: chrsource-${{ env.VERSION }}
|
||||
|
||||
- name: Download chromium ${{ env.VERSION }} sources
|
||||
run: |
|
||||
export HOME=$GITHUB_WORKSPACE
|
||||
./bin/SuperPatchUtils bromite $RTAG ~/chromium-src
|
||||
mkdir -p ~/chromium/src && cp -rT ~/chromium-src ~/chromium/src
|
||||
cd ~/chromium/src
|
||||
git init
|
||||
git config user.email "you@example.com"
|
||||
git config user.name "Your Name"
|
||||
git add .
|
||||
git commit -m $VERSION
|
||||
git tag -a $VERSION -m $VERSION
|
||||
|
||||
git add -f v8
|
||||
git commit -m ":NOEXPORT: v8"
|
||||
|
||||
- name: Apply patches ${{ github.event.inputs.rtag }}
|
||||
run: |
|
||||
export HOME=$GITHUB_WORKSPACE
|
||||
cd ~/chromium/src
|
||||
|
||||
export SILENT=true
|
||||
export SKIPAUTOGENERATED=true
|
||||
bash ~/cromite/tools/apply-all-patch.sh || exit 1
|
||||
|
||||
rm -rf ~/cromite/build/patches-new/
|
||||
rm ~/cromite/build/bromite_patches_list_new.txt
|
||||
|
||||
- name: Export patches
|
||||
run: |
|
||||
export HOME=$GITHUB_WORKSPACE
|
||||
cd ~/chromium/src
|
||||
|
||||
bash ~/cromite/tools/export-all-patch.sh
|
||||
|
||||
cd ~/cromite
|
||||
rm -rf build/patches/*
|
||||
mv build/patches-new/* build/patches
|
||||
rm -rf build/patches-new/
|
||||
|
||||
- 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 build/patches/*.patch
|
||||
git diff --name-only --staged
|
||||
# MESSAGE=$(git diff --name-only --staged)
|
||||
# echo "MESSAGE='$MESSAGE'" >> $GITHUB_ENV
|
||||
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 }}
|
||||
#push-to-fork: uazo/cromite
|
||||
add-paths: |
|
||||
build/patches/*.patch
|
||||
commit-message: 'AUTOMATED - git apply results'
|
||||
title: Git apply result for ${{ env.BRANCH }} branch
|
||||
body: ${{ env.MESSAGE }}
|
||||
delete-branch: true
|
||||
branch-suffix: short-commit-hash
|
||||
@@ -0,0 +1,130 @@
|
||||
name: Execute Tests
|
||||
permissions:
|
||||
actions: none
|
||||
checks: none
|
||||
contents: none
|
||||
deployments: none
|
||||
issues: none
|
||||
packages: none
|
||||
pull-requests: none
|
||||
repository-projects: none
|
||||
security-events: none
|
||||
statuses: none
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
sha:
|
||||
description: 'uazo/bromite SHA'
|
||||
required: true
|
||||
default: 'ce2f07034a3d3b257e9bada65d8293a6786bb95f'
|
||||
|
||||
env:
|
||||
BROMITE_SHA: ${{ github.event.inputs.sha }}
|
||||
REMOVEDOCKERSUPPORT: true
|
||||
USELOCALIMAGE: true
|
||||
|
||||
jobs:
|
||||
get_image:
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Mark image to test
|
||||
shell: bash
|
||||
run: |
|
||||
docker tag uazo/bromite-build:$BROMITE_SHA uazo/bromite-build:test
|
||||
|
||||
exec-test:
|
||||
runs-on: self-hosted
|
||||
needs: get_image
|
||||
if: success()
|
||||
|
||||
container:
|
||||
image: uazo/bromite-build:test
|
||||
env:
|
||||
REMOVEDOCKERSUPPORT: true # CUSTOM RUNNER: remove sharing of docker socket
|
||||
USELOCALIMAGE: true # CUSTOM RUNNER: permit use of local images
|
||||
USEINTERNALNETWORK: true # CUSTOM RUNNER: create the docker network as internal
|
||||
WORKSPACE: /home/lg/working_dir
|
||||
ARTIFACS_DIR: /home/lg/working_dir/artifacs
|
||||
volumes:
|
||||
- /storage/images/${{ github.event.inputs.sha }}/out:/home/lg/working_dir/chromium/src/out/bromite:r
|
||||
- /storage/images/${{ github.event.inputs.sha }}/out/tests:/home/lg/working_dir/chromium/src/out/tests
|
||||
options: --device=/dev/kvm
|
||||
|
||||
steps:
|
||||
- name: Prepare Test Container
|
||||
shell: bash
|
||||
run: |
|
||||
# set workspace paths
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE
|
||||
|
||||
# copy artifacts
|
||||
#cd chromium/src
|
||||
#mkdir -p out/bromite
|
||||
#cp -arp $ARTIFACS_DIR/out/* out/bromite
|
||||
|
||||
rm -rf out/tests/*
|
||||
#mkdir -p out/tests
|
||||
|
||||
# reset proxy env
|
||||
#HTTP_PROXY=
|
||||
#HTTPS_PROXY=
|
||||
#http_proxy=
|
||||
#https_proxy=
|
||||
|
||||
# - name: Wait forever
|
||||
# shell: bash
|
||||
# run: |
|
||||
# sleep infinity
|
||||
|
||||
- name: Execute chrome junit test
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
out/bromite/bin/run_chrome_junit_tests --gtest_filter=*Bromite* || KO=1
|
||||
|
||||
- name: Start Android Emulator
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
|
||||
sudo mkdir -p /github/home/.android
|
||||
sudo chmod 666 /github/home/.android/
|
||||
tools/android/avd/avd.py install --avd-config ../../generic_android31.textpb -v
|
||||
tools/android/avd/avd.py start --avd-config ../../generic_android31.textpb -v
|
||||
|
||||
- name: Execute unit tests
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
out/bromite/unit_tests -v --fast-local-dev --gtest_filter=*Bromite* || KO=1
|
||||
|
||||
- name: Restart Android Emulator
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
pkill -f qemu-system-x86
|
||||
tools/android/avd/avd.py start --avd-config ../../generic_android31.textpb -v
|
||||
|
||||
- name: Execute instrumentation tests
|
||||
shell: bash
|
||||
run: |
|
||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||
cd $WORKSPACE/chromium/src
|
||||
out/bromite/bin/run_chrome_public_test_apk -v --num-retries=1 --gtest_filter=*Bromite* || KO=1
|
||||
|
||||
#- name: Wait forever
|
||||
# shell: bash
|
||||
# run: |
|
||||
# sleep infinity
|
||||
|
||||
- name: Copy results
|
||||
shell: bash
|
||||
run: |
|
||||
sudo cp -r $WORKSPACE/chromium/src/out/bromite/TEST_RESULTS* $WORKSPACE/chromium/src/out/tests/
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
name: Release Cromite CI
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
sha:
|
||||
description: 'uazo/cromite SHA'
|
||||
required: true
|
||||
default: ''
|
||||
type:
|
||||
description: 'runner? [dev/ci]'
|
||||
required: true
|
||||
default: 'ci'
|
||||
|
||||
env:
|
||||
BROMITE_SHA: ${{ github.event.inputs.sha }}
|
||||
REMOVEDOCKERSUPPORT: true
|
||||
USELOCALIMAGE: true
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ${{ github.event.inputs.type }}
|
||||
env:
|
||||
OUTPUTFILE_ARM64: /storage/images/${{ github.event.inputs.sha }}/android/false/arm64/
|
||||
OUTPUTFILE_X64: /storage/images/${{ github.event.inputs.sha }}/android/false/x64/
|
||||
|
||||
steps:
|
||||
- name: Prepare container
|
||||
run: |
|
||||
wget https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip
|
||||
unzip pup_v0.4.0_linux_amd64.zip && rm pup_v0.4.0_linux_amd64.zip
|
||||
BRANCH=$(curl https://github.com/uazo/cromite/branch_commits/$BROMITE_SHA | ./pup -p li.branch:last-child a text{} | xargs)
|
||||
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
|
||||
|
||||
wget https://github.com/cli/cli/releases/download/v2.18.1/gh_2.18.1_linux_amd64.tar.gz
|
||||
tar xfz gh_2.18.1_linux_amd64.tar.gz
|
||||
|
||||
- name: Checkout 'uazo/cromite'
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: 'uazo/cromite'
|
||||
path: 'cromite'
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Create release
|
||||
shell: bash
|
||||
run: |
|
||||
WINOUT=/storage/images/$BROMITE_SHA/win/x64/
|
||||
VERSION=v$(cat ${{ env.OUTPUTFILE_ARM64 }}/RELEASE)
|
||||
|
||||
cd cromite/tools
|
||||
|
||||
GH=gh_2.21.1_linux_amd64/bin/gh
|
||||
wget https://github.com/cli/cli/releases/download/v2.21.1/gh_2.21.1_linux_amd64.tar.gz
|
||||
tar xfz gh_2.21.1_linux_amd64.tar.gz
|
||||
|
||||
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
|
||||
|
||||
echo "\`\`\`" >note
|
||||
# echo "this is not the official release of bromite but a test version." >>note
|
||||
# echo "you can try it at your own risk." >>note
|
||||
echo "\`\`\`" >>note
|
||||
|
||||
$GH release create $VERSION-$BROMITE_SHA --notes-file note -d
|
||||
|
||||
# android arm64
|
||||
echo "::group::-------- android arm64"
|
||||
sudo cp ${{ env.OUTPUTFILE_ARM64 }}/apks/ChromePublic.apk arm64_ChromePublic.apk
|
||||
sudo chown runner arm64_ChromePublic.apk
|
||||
echo Uploading arm64_ChromePublic
|
||||
$GH release upload $VERSION-$BROMITE_SHA arm64_ChromePublic.apk
|
||||
echo "::endgroup::"
|
||||
|
||||
# android x64
|
||||
echo "::group::-------- android x64"
|
||||
sudo cp ${{ env.OUTPUTFILE_X64 }}/apks/ChromePublic.apk x64_ChromePublic.apk
|
||||
sudo chown runner x64_ChromePublic.apk
|
||||
echo Uploading x64_ChromePublic
|
||||
$GH release upload $VERSION-$BROMITE_SHA x64_ChromePublic.apk
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::-------- chrome.size"
|
||||
test $VERSION-$BROMITE_SHA $OUTPUTFILE_ARM64/chrome.size && \
|
||||
$GH release upload $VERSION-$BROMITE_SHA $OUTPUTFILE_ARM64/chrome.size
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::-------- Uploading arm64_ninja_log_trace.html"
|
||||
test $OUTPUTFILE_ARM64/ninja_log_trace.html && \
|
||||
cp $OUTPUTFILE_ARM64/ninja_log_trace.html arm64_ninja_log_trace.html && \
|
||||
$GH release upload $VERSION-$BROMITE_SHA arm64_ninja_log_trace.html
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::-------- windows"
|
||||
mkdir chrome-win/
|
||||
cp $WINOUT/*.manifest chrome-win/
|
||||
cp $WINOUT/chrome.dll chrome-win/
|
||||
cp $WINOUT/chrome.exe chrome-win/
|
||||
cp $WINOUT/chrome_100_percent.pak chrome-win/
|
||||
cp $WINOUT/chrome_200_percent.pak chrome-win/
|
||||
cp $WINOUT/chrome_elf.dll chrome-win/
|
||||
cp $WINOUT/chrome_proxy.exe chrome-win/
|
||||
cp $WINOUT/chrome_pwa_launcher.exe chrome-win/
|
||||
cp $WINOUT/chrome_wer.dll chrome-win/
|
||||
cp "/win_sdk/10.0.22621.0/Windows Kits/10/Redist/D3D/x64/d3dcompiler_47.dll" chrome-win/
|
||||
cp $WINOUT/elevation_service.exe chrome-win/
|
||||
cp "$WINOUT/First Run" chrome-win/
|
||||
cp $WINOUT/headless_lib_data.pak chrome-win/
|
||||
cp $WINOUT/icudtl.dat chrome-win/
|
||||
cp $WINOUT/libEGL.dll chrome-win/
|
||||
cp $WINOUT/libGLESv2.dll chrome-win/
|
||||
cp $WINOUT/Logo.png chrome-win/
|
||||
cp $WINOUT/mojo_core.dll chrome-win/
|
||||
cp $WINOUT/notification_helper.exe chrome-win/
|
||||
cp $WINOUT/resources.pak chrome-win/
|
||||
cp $WINOUT/SmallLogo.png chrome-win/
|
||||
cp $WINOUT/snapshot_blob.bin chrome-win/
|
||||
cp $WINOUT/VkICD_mock_icd.dll chrome-win/
|
||||
cp $WINOUT/VkLayer_khronos_validation.dll chrome-win/
|
||||
cp $WINOUT/vk_swiftshader.dll chrome-win/
|
||||
cp $WINOUT/vulkan-1.dll chrome-win/
|
||||
cp -r $WINOUT/locales chrome-win/locales
|
||||
|
||||
#test chrome-win.zip && rm chrome-win.zip
|
||||
zip -r chrome-win.zip chrome-win/
|
||||
|
||||
echo Uploading chrome-win.zip
|
||||
$GH release upload $VERSION-$BROMITE_SHA chrome-win.zip
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::-------- arm64 symbols"
|
||||
zip arm64_symbols.zip ${{ env.OUTPUTFILE_ARM64 }}/dump_syms \
|
||||
${{ env.OUTPUTFILE_ARM64 }}/minidump_stackwalk \
|
||||
${{ env.OUTPUTFILE_ARM64 }}/libchrome.so
|
||||
$GH release upload $VERSION-$BROMITE_SHA arm64_symbols.zip
|
||||
echo "::endgroup::"
|
||||
|
||||
# workaround for https://github.com/cli/cli/issues/6599
|
||||
sleep 30s
|
||||
|
||||
TIMESTAMP=$(date +%s -r chrome-win.zip)
|
||||
echo >updateurl.txt "browser=chromium;os=windows;architecture=64-bit;timestamp=$TIMESTAMP;editor=uazo;channel=stable;repository=https://github.com/uazo/cromite/releases;download=https://github.com/uazo/cromite/releases/latest/download/chrome-win.zip;version=$(cat $WINOUT/RELEASE);revision=1;commit=$BROMITE_SHA"
|
||||
$GH release upload $VERSION-$BROMITE_SHA updateurl.txt
|
||||
|
||||
$GH release edit $VERSION-$BROMITE_SHA -t $VERSION-$BROMITE_SHA
|
||||
$GH release edit $VERSION-$BROMITE_SHA --draft=false
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
name: 'Close stale issues and PRs'
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '30 1 * * *'
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v6
|
||||
with:
|
||||
exempt-all-milestones: true
|
||||
any-of-labels: 'awaiting info'
|
||||
days-before-stale: 5
|
||||
days-before-close: 7
|
||||
stale-issue-message: "This issue has been automatically marked as stale as there has been no recent activity in response to our request for more information. Please respond so that we can proceed with this issue."
|
||||
close-issue-message: "This issue has been automatically closed as sufficient information hasn't been provided on the issue for further actions to be taken. Feel free to add more information."
|
||||
+1
-2
@@ -2,6 +2,5 @@
|
||||
# This .gitignore file was automatically created by Microsoft(R) Visual Studio.
|
||||
################################################################################
|
||||
|
||||
/.vs/bromite-uazo/config
|
||||
/.vs/bromite-uazo/FileContentIndex
|
||||
/.vs
|
||||
/temp
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
# Bromite - Take back your browser
|
||||
<a href="https://github.com/bromite/bromite/releases/latest">
|
||||
<img src="https://www.bromite.org/release.svg" alt="current Bromite release" title="current Bromite release" /> </a>
|
||||
<a href="https://github.com/bromite/bromite/blob/master/LICENSE">
|
||||
<img src="https://www.bromite.org/license.svg" alt="GNU GPL v3" title="GNU VPL v3" />
|
||||
</a> <br>
|
||||
<a href="https://www.bromite.org">
|
||||
<img title="Bromite - take back your browser!" src="https://www.bromite.org/android-icon-192x192.png" width="96" alt="Bromite" />
|
||||
<a href="https://github.com/uazo/cromite/releases/latest">
|
||||
<img src="https://img.shields.io/github/v/release/uazo/cromite" alt="current Cromite release" title="current Cromite release" />
|
||||
</a>
|
||||
<br>
|
||||
|
||||
Bromite is a [Chromium](https://www.chromium.org/Home) fork with support for ad blocking and enhanced privacy.
|
||||
[](https://github.com/uazo/cromite/actions/workflows/build_cromite.yaml)
|
||||
|
||||
Bromite is only available for Android Marshmallow (v6.0, API level 23) and above.
|
||||
# Cromite (a Bromite fork) - Take back your browser
|
||||
|
||||
<img src="https://fdroid.bromite.org/fdroid/bromite_bromite_gh_downloads.svg" alt="Downloads on Github" title="Downloads on Github" />
|
||||
<a href="https://www.cromite.org">
|
||||
<img title="Cromite - take back your browser!" src="https://www.cromite.org/app_icon.png" width="96" alt="Bromite" />
|
||||
</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 Marshmallow and above (v6.0, API level 23) and Windows.
|
||||
|
||||
For the Frequently Asked Questions see [F.A.Q.](./FAQ.md).
|
||||
|
||||
@@ -20,22 +24,17 @@ For documentation see the [wiki](https://github.com/bromite/bromite/wiki).
|
||||
|
||||
# Goals
|
||||
|
||||
Bromite aims at providing a no-clutter browsing experience without privacy-invasive features and with the addition of a fast ad-blocking engine.
|
||||
Minimal UI changes are applied to help curbing the idea of "browser as an advertisement platform".
|
||||
Cromite's goal is to
|
||||
- limit the features built into the browser that can be used as a platform for tracking users' habits, and, if it is not technically possible, disable them and leave it up to the user to choose whether to re-enable them
|
||||
- limit the close integration between the browser and its manufacturer
|
||||
- not let the excellent research work done by csagan5 with Bromite be lost
|
||||
|
||||
# Donate
|
||||
|
||||
Please donate to support development of Bromite and the costs for the build system.
|
||||
|
||||
[→ Support development with a donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JP3XTQPVRNET2): [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JP3XTQPVRNET2)
|
||||
|
||||
<a href="bitcoin:bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw">BTC donations address</a>: `bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw`
|
||||
|
||||
ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
|
||||
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
|
||||
|
||||
* customizable adblock filters via user-provided URL (see https://www.bromite.org/custom-filters)
|
||||
#### Derived from Bromite
|
||||
* customizable adblock filters via user-provided URL (see https://www.bromite.org/custom-filters) (deprecated, replaced by adblock plus)
|
||||
* automatically updated adblock filters
|
||||
* remove click-tracking and AMP from search results
|
||||
* DNS-over-HTTPS support with any valid IETF DoH endpoint
|
||||
@@ -44,20 +43,18 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
|
||||
* disable smart search by default, allow web search from incognito mode
|
||||
* always-visible cookies, javascript and ads site settings from address bar popup
|
||||
* remove Play integration binary blobs
|
||||
* use [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) on all architectures except x86
|
||||
* use [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) on all architectures except x86 and Windows
|
||||
* enable trivial auto var init
|
||||
* disable media router and remoting by default
|
||||
* disable dynamic module loading
|
||||
* show warnings for TLSv1.0/TLSv1.1 pages
|
||||
* enable site-per-process isolation for all devices with memory > 1GB
|
||||
* completely remove safe browsing and other privacy-unfriendly features
|
||||
* [proxy configuration page](https://github.com/bromite/bromite/wiki/ProxyConfiguration) with PAC and custom proxy lists support
|
||||
* settings to disable custom intents and clear session on exit
|
||||
* flags to toggle anti-fingerprinting mitigations for canvas, audio, client rects, webGL and sensor APIs (see full list below for all the new flags)
|
||||
* use frozen User-Agent to conceal real model and browser version
|
||||
* privacy enhancement patches from [Iridium](https://iridiumbrowser.de/), [Inox patchset](https://github.com/gcarq/inox-patchset), [Brave](https://brave.com/) and [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) projects
|
||||
* security enhancement patches from [GrapheneOS](https://github.com/GrapheneOS) project
|
||||
* disable scroll-to-text-fragment
|
||||
* reduced referer granularity
|
||||
* block gateway attacks via websockets (partial fix, see [this upstream issue](https://bugs.chromium.org/p/chromium/issues/detail?id=590714))
|
||||
* use 64-bit ABI for webview processes
|
||||
@@ -85,10 +82,78 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
|
||||
* disable idle detection
|
||||
* HTTPS-only mode enabled by default
|
||||
* disable TLS resumption by default
|
||||
* partition DoH requests by top-frame NIK
|
||||
* strict site isolation and strict origin isolation
|
||||
* partition blobs by top frame URL
|
||||
|
||||
#### Cromite-specific features
|
||||
|
||||
* Built-in Adblock Plus [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Eyeo-Adblock-Remove-Privacy-Issues.patch) (issue [84](https://github.com/uazo/bromite-buildtools/issues/84))
|
||||
* policy browser patch for the use of enterprise policy [patch](https://github.com/uazo/bromite/blob/master/build/patches/00add-browser-policy.patch) (issue [191](https://github.com/uazo/bromite-buildtools/issues/191))
|
||||
- deactivate safe browsing and extended reporting
|
||||
- disabled scroll-to-text-fragment
|
||||
- disabled contextual search
|
||||
- disabled media router
|
||||
- disabled url keyed anonymized data collection
|
||||
- disabled translate
|
||||
- disabled network prediction
|
||||
- disabled sign-in
|
||||
- disabled google search side panel
|
||||
- disabled automatic https upgrades
|
||||
* internal firewall to block all unauthorised calls made from the browser [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Internal-firewall.patch) (issue [147](https://github.com/uazo/bromite-buildtools/issues/147))
|
||||
* show warnings on downloads over HTTP [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Show-warnings-on-downloads-over-HTTP.patch)
|
||||
* lock profile cookie database [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Lock-Profile-Cookie-Database.patch)
|
||||
* remove support for device memory and cpu recovery [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Remove-support-for-device-memory-and-cpu-recovery.patch)
|
||||
* disable speechSynthesis getVoices API [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-speechSynthesis-getVoices-API.patch)
|
||||
* viewport Protection patch [patch](https://github.com/uazo/bromite/blob/master/build/patches/Viewport-Protection-flag.patch)
|
||||
* deprecate Data URL in SVGUseElement [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Deprecate-Data-URL-in-SVGUseElement.patch)
|
||||
* disallow Android App Scheme as referrer [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disallow-Android-App-Scheme-as-referrer.patch)
|
||||
* disable Compression Dictionary Transport [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-Compression-Dictionary-Transport.patch)
|
||||
* disable PrivateStateTokens API [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-PrivateStateTokens-API.patch)
|
||||
* disable GSA by default [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-GSA-by-default.patch)
|
||||
* disable GetInstalledRelatedApps API [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-GetInstalledRelatedApps-API.patch)
|
||||
* disable FirstPartySets and StorageAccessAPI [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-FirstPartySets-and-StorageAccessAPI.patch)
|
||||
* disable WebGPU [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-WebGPU.patch)
|
||||
* disable GamePad API [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Add-a-flag-to-disable-GamePad-API.patch)
|
||||
* remove external https connection from chrome://discards [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Remove-https-connection-from-chrome-discards.patch)
|
||||
* links the use of screen.isExtended to WINDOW_MANAGEMENT permission granted by user [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Multi-Screen-Window-Placement-API-fix.patch)
|
||||
* clear CORS Preflight Cache on clearing data [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Clear-CORS-Preflight-Cache-on-clearing-data.patch)
|
||||
* remove auth header upon cross origin redirect [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Remove-auth-header-upon-cross-origin-redirect.patch)
|
||||
* disable SHA1 Server Signature [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-SHA1-Server-Signature.patch)
|
||||
* remove detection of captive portals [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Remove-detection-of-captive-portals.patch)
|
||||
* disable devtools remote and custom protocols [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-devtools-remote-and-custom-protocols.patch)
|
||||
* enable Document Open Inheritance Removal [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Enable-Document-Open-Inheritance-Removal.patch)
|
||||
* warning message for unsupported hardware aes [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Warning-message-for-unsupported-hardware-aes.patch)
|
||||
* partition HSTS cache by NAK [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Partition-HSTS-cache-by-NAK.patch)
|
||||
* disable password leak detector [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-privacy-issues-in-password-manager.patch)
|
||||
* keyboard protection flag [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Keyboard-protection-flag.patch)
|
||||
* disable csp reports [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-csp-reports.patch)
|
||||
* add setting to clear data on exit [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Add-setting-to-clear-data-on-exit.patch)
|
||||
* disable visited pseudo class [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-visited-pseudo-class.patch)
|
||||
* disable BackForwardCache [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-BackForwardCache.patch)
|
||||
* disable FedCm [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-FedCm.patch)
|
||||
* partitioning all cookies by top frame domain [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Partitioning-all-cookies-by-top-frame-domain.patch)
|
||||
* fingerprint mitigation for AudioBuffer and AnalyserNode [patch](https://github.com/uazo/bromite/blob/master/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch)
|
||||
|
||||
##### from [116.0.5845.111](https://github.com/uazo/cromite/issues/205#issuecomment-1690216310)
|
||||
* Disable PartnerCustomizations [patch](https://github.com/uazo/cromite/blob/master/build/patches/00Disable-PartnerCustomizations.patch) [#202](https://github.com/uazo/cromite/issues/202)
|
||||
* Add option to disable snapshots [patch](https://github.com/uazo/cromite/blob/master/build/patches/00Add-option-to-disable-snapshots.patch) [#201](https://github.com/uazo/cromite/issues/201)
|
||||
* Enable Android Dynamic Performance Framework on renderer [patch](https://github.com/uazo/cromite/blob/master/build/patches/00Enable-Android-Dynamic-Performance-Framework.patch)
|
||||
|
||||
#### Windows Cromite-specific features
|
||||
|
||||
* enable Network Service Sandbox by default
|
||||
* disable sharing hub
|
||||
* disable search for image
|
||||
* simpler logging to file
|
||||
* disable TabHoverCard images
|
||||
* enable File System Access blocklist
|
||||
* enable HighEfficiencyMode by default
|
||||
* disable annotates on downloads
|
||||
* enabled pdf plugin by default
|
||||
|
||||
## Features not related to privacy
|
||||
|
||||
#### Derived da Bromite
|
||||
* browser automatic updates, enabled by default
|
||||
* native Android autofill support
|
||||
* import/export bookmarks
|
||||
@@ -118,7 +183,11 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
|
||||
* allow moving navigation bar to bottom
|
||||
* add option to use home page as NTP
|
||||
|
||||
You can inspect all functionality/privacy changes by reading the [patches](https://github.com/bromite/bromite/tree/master/build/patches) and/or the [CHANGELOG](./CHANGELOG.md).
|
||||
#### Cromite-specific features
|
||||
|
||||
* add setting in android to invert tap and long tap [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Add-setting-to-invert-tap-and-long-tap.patch)
|
||||
|
||||
(TODO) You can inspect all functionality/privacy changes by reading the [patches](https://github.com/bromite/bromite/tree/master/build/patches) and/or the [CHANGELOG](./CHANGELOG.md).
|
||||
|
||||
### Flags
|
||||
|
||||
@@ -162,25 +231,59 @@ New flags:
|
||||
* timezone customization override
|
||||
* autoplay, disabled by default
|
||||
* webRTC, disabled by default
|
||||
* viewport protection, enabled by default
|
||||
|
||||
# Privacy limitations
|
||||
|
||||
Bromite'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.
|
||||
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.
|
||||
|
||||
# Releases
|
||||
|
||||
All built versions are available as [releases](https://github.com/bromite/bromite/releases); the [official website](https://www.bromite.org/) points to those releases and - when browsing via Android - it will automatically highlight the one apt for your device (or none otherwise).
|
||||
All built versions are available as [releases](https://github.com/uazo/cromite/releases).
|
||||
|
||||
Each tag corresponds to a Chromium Stable release tag.
|
||||
|
||||
Bromite is currently built for ARM, ARM64 and x86 and for the Android SDK version 23+; [Bromite SystemWebView](https://www.bromite.org/system_web_view) is provided as well (SDK23+).
|
||||
For every Bromite build you can always find a matching [vanilla Chromium](https://www.bromite.org/chromium) build which is used for example to verify which issues are specific to Bromite or not.
|
||||
Cromite is currently built for ARM64, ~x86~ (Android SDK version 23+) and Windows x64.
|
||||
|
||||
You will automatically receive notifications about new updates (and be able to install them) via the auto updater functionality (enabled by default), see [related wiki page](https://github.com/bromite/bromite/wiki/AutomaticUpdates).
|
||||
|
||||
All official releases are also available through the [official third-party F-Droid repository](https://www.bromite.org/fdroid).
|
||||
For F-droid: work in progress https://github.com/uazo/cromite/issues/64
|
||||
|
||||
## Integrity and authenticity
|
||||
### Auto-update setup for windows
|
||||
|
||||
1. Download https://github.com/henrypp/chrlauncher/releases
|
||||
2. Create a `chrlauncher.ini`
|
||||
|
||||
```
|
||||
[chrlauncher]
|
||||
|
||||
# Custom Chromium update URL (string):
|
||||
ChromiumUpdateUrl=https://github.com/uazo/cromite/releases/latest/download/updateurl.txt
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# Chromium executable file name (string):
|
||||
ChromiumBinary=chrome.exe
|
||||
|
||||
# Chromium binaries directory (string):
|
||||
# Relative (to chrlauncher directory) or full path (env. variables supported).
|
||||
ChromiumDirectory=.\bin
|
||||
```
|
||||
|
||||
### 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:
|
||||
```
|
||||
cd <where_is_the_exe>
|
||||
icacls . /grant "*S-1-15-2-2:(OI)(CI)(RX)"
|
||||
```
|
||||
see https://github.com/uazo/bromite-buildtools/issues/51
|
||||
|
||||
## (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:
|
||||
```
|
||||
@@ -200,7 +303,7 @@ 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).
|
||||
|
||||
# How to build
|
||||
# (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).
|
||||
|
||||
@@ -210,13 +313,7 @@ The Chromium version tag used as base for the patches is available here: [RELEAS
|
||||
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`).
|
||||
|
||||
## How to build the filters
|
||||
|
||||
See upstream documentation: https://github.com/chromium/chromium/blob/master/components/subresource_filter/FILTER_LIST_GENERATION.md
|
||||
|
||||
Bromite uses an unindexed filter file, which is periodically published at https://github.com/bromite/filters
|
||||
|
||||
# Contributing
|
||||
# (TODO) Contributing
|
||||
|
||||
Please submit issues following the issue template; beware that GitHub does not display the templates from mobile.
|
||||
|
||||
@@ -227,23 +324,15 @@ For any usage or development discussion please use GitHub Discussions: https://g
|
||||
# Credits
|
||||
|
||||
* [Chromium project](https://www.chromium.org/Home) and developers
|
||||
* [Iridium project](https://github.com/iridium-browser) for some patches
|
||||
* [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) for some patches
|
||||
* [ungoogled-chromium-android](https://github.com/ungoogled-software/ungoogled-chromium-android) for some patches
|
||||
* [GrapheneOS](https://github.com/GrapheneOS) for some security patches
|
||||
* [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
|
||||
* [Vadim Pleshkov](http://vadimpleshkov.me/) for Bromite's logo
|
||||
* [Bromite](https://github.com/bromite/bromite)
|
||||
* [Iridium project](https://github.com/iridium-browser) for some patches
|
||||
* [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) for some patches
|
||||
* [ungoogled-chromium-android](https://github.com/ungoogled-software/ungoogled-chromium-android) for some patches
|
||||
* [GrapheneOS](https://github.com/GrapheneOS) for some security patches
|
||||
* [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
|
||||
|
||||
# Filters credits
|
||||
* [EasyList](https://easylist.to/#easylist)
|
||||
* [EasyPrivacy](https://easylist.to/#easyprivacy)
|
||||
* [uBlock Origin](https://github.com/uBlockOrigin)
|
||||
* [Peter Lowe's Ad and tracking server list](https://pgl.yoyo.org/adservers/)
|
||||
|
||||
The URLs of the lists used are available at: https://github.com/bromite/filters/blob/master/lists.txt
|
||||
|
||||
# License
|
||||
# (TODO) License
|
||||
|
||||
The patches published as part of the Bromite project are released under [GNU GPL v3](./LICENSE).
|
||||
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
115.0.5790.98
|
||||
116.0.5845.111
|
||||
|
||||
@@ -47,3 +47,5 @@ webview_includes_weblayer=false
|
||||
enable_arcore=false
|
||||
enable_openxr=false
|
||||
enable_gvr_services=false
|
||||
enable_feed_v2=false
|
||||
is_high_end_android=true
|
||||
@@ -74,7 +74,7 @@ translate-disable-fetching-of-languages-from-server.patch
|
||||
Offer-builtin-autocomplete-for-chrome-flags.patch
|
||||
Use-4-tile-rows-never-show-logo.patch
|
||||
Disable-various-metrics.patch
|
||||
Enable-SPPI-for-devices-with-enough-memory.patch
|
||||
|
||||
Enable-StrictOriginIsolation-and-SitePerProcess.patch
|
||||
Use-64-bit-WebView-processes.patch
|
||||
prefs-always-prompt-for-download-directory.patch
|
||||
@@ -189,19 +189,15 @@ eyeo-beta-114.0.5735.53-v1-android_settings.patch
|
||||
eyeo-beta-114.0.5735.53-v1-extension_api.patch
|
||||
00Eyeo-Adblock-Remove-Privacy-Issues.patch
|
||||
|
||||
00WIN-ADDTO-Add-an-always-incognito-mode.patch
|
||||
00WIN-ADDTO-Experimental-user-scripts-support.patch
|
||||
00WIN-ADDTO-ungoogled-chr--Disable-profile-avatar.patch
|
||||
00WIN-ADDTO-Add-a-proxy-configuration-page.patch
|
||||
00WIN-ADDTO-Add-bookmark-import-export-actions.patch
|
||||
00WIN-ADDTO-openH264--enable-ARM-ARM64-optimizati.patch
|
||||
00WIN-ADDTO-AImageReader-CFI-crash-mitigations.patch
|
||||
00WIN-ADDTO-Remove-binary-blob-integrations.patch
|
||||
00WIN-ADDTO-Add-lifetime-options-for-permissions.patch
|
||||
00WIN-ADDTO-Disable-various-metrics.patch
|
||||
00WIN-ADDTO-Do-not-build-API-keys-infobar.patch
|
||||
00WIN-ADDTO-Revert-flags--remove-num-raster-thre.patch
|
||||
00WIN-ADDTO-Add-flag-to-disable-external-intent-re.patch
|
||||
00WIN-ADDTO-Restore-Search-Ready-Omnibox-flag.patch
|
||||
00WIN-ADDTO-Disable-requests-for-single-word-Omni.patch
|
||||
00WIN-ADDTO-Logcat-crash-reports-UI.patch
|
||||
@@ -263,7 +259,6 @@ AudioBuffer-AnalyserNode-fp-mitigations.patch
|
||||
00TEMP-Add-a-log-to-track-strange-behavior.patch
|
||||
00v113-temp-fix-build.patch
|
||||
00114-temp-disable-find-bad-constructs-external-repo.patch
|
||||
00115-temp-fix-build.patch
|
||||
|
||||
bromite-build-utils.patch
|
||||
Content-settings-infrastructure.patch
|
||||
@@ -281,4 +276,15 @@ Timezone-customization.patch
|
||||
00Log-dangling-attributes-in-some-html-elements.patch
|
||||
00Keep-Side-Panel-Companion-disabled.patch
|
||||
00Lock-Profile-Cookie-Database.patch
|
||||
00Show-warnings-on-downloads-over-HTTP.patch
|
||||
00Show-warnings-on-downloads-over-HTTP.patch
|
||||
00Compress-libchrome-to-free-up-some-space.patch
|
||||
00Cromite-Branding.patch
|
||||
00Disable-Feeback-Collector.patch
|
||||
00Disable-remote-altsvc-for-h3-connections.patch
|
||||
00do-not-block-build-incompatible-profiles.patch
|
||||
00Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch
|
||||
00allow-the-download-of-clang-for-windows-crossbuild.patch
|
||||
00Temp-disable-predictive-back-gesture.patch
|
||||
00Add-option-to-disable-snapshots.patch
|
||||
00Disable-PartnerCustomizations.patch
|
||||
00Enable-Android-Dynamic-Performance-Framework.patch
|
||||
@@ -12,7 +12,7 @@ Subject: 114 temp disable find_bad_constructs external repo
|
||||
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
|
||||
@@ -5128,6 +5128,7 @@ if (enable_java_templates && is_android) {
|
||||
@@ -4950,6 +4950,7 @@ if (enable_java_templates && is_android) {
|
||||
_module_build_config = _module.build_config
|
||||
_module_build_config_target = _module.build_config_target
|
||||
_module_target_name = get_label_info(_module_target, "name")
|
||||
@@ -34,7 +34,7 @@ diff --git a/crypto/BUILD.gn b/crypto/BUILD.gn
|
||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1634,6 +1634,7 @@ component("net") {
|
||||
@@ -1653,6 +1653,7 @@ component("net") {
|
||||
configs -= [ "//build/config/compiler:default_optimization" ]
|
||||
configs += [ "//build/config/compiler:optimize_max" ]
|
||||
}
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Tue, 18 Jul 2023 05:36:06 +0000
|
||||
Subject: 115 temp fix build
|
||||
|
||||
Fix rust toolchain builder
|
||||
---
|
||||
build/toolchain/gcc_toolchain.gni | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni
|
||||
--- a/build/toolchain/gcc_toolchain.gni
|
||||
+++ b/build/toolchain/gcc_toolchain.gni
|
||||
@@ -855,6 +855,7 @@ template("gcc_toolchain") {
|
||||
is_debug = false
|
||||
is_component_build = false
|
||||
is_official_build = false
|
||||
+ generate_linker_map = false
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
@@ -13,8 +13,8 @@ Adds restrict-gamepad-access flag (default active) to disable GamePad API.
|
||||
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
|
||||
@@ -6657,9 +6657,9 @@
|
||||
"expiry_milestone": 120
|
||||
@@ -6837,9 +6837,9 @@
|
||||
"expiry_milestone": 117
|
||||
},
|
||||
{
|
||||
- "name": "restrict-gamepad-access",
|
||||
@@ -28,7 +28,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
|
||||
@@ -2882,7 +2882,7 @@ const char kReduceAcceptLanguageDescription[] =
|
||||
@@ -2981,7 +2981,7 @@ const char kReduceAcceptLanguageDescription[] =
|
||||
|
||||
const char kRestrictGamepadAccessName[] = "Restrict gamepad access";
|
||||
const char kRestrictGamepadAccessDescription[] =
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Mon, 21 Aug 2023 14:03:25 +0000
|
||||
Subject: Add option to disable snapshots
|
||||
|
||||
---
|
||||
.../tab_management/TabGridViewBinder.java | 6 ++-
|
||||
.../java/res/xml/privacy_preferences.xml | 5 +++
|
||||
.../chrome/browser/app/ChromeActivity.java | 3 +-
|
||||
.../layouts/content/TabContentManager.java | 7 +++-
|
||||
.../privacy/settings/PrivacySettings.java | 42 ++++++++++++++++++-
|
||||
.../strings/android_chrome_strings.grd | 8 ++++
|
||||
6 files changed, 65 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
||||
--- 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
|
||||
@@ -314,8 +314,10 @@ class TabGridViewBinder {
|
||||
updateThumbnailMatrix(thumbnail, result, thumbnailSize);
|
||||
thumbnail.setImageBitmap(result);
|
||||
} else if (isMostRecentRequest) {
|
||||
- // If the most recent request is a null bitmap ensure a placeholder is visible.
|
||||
- thumbnail.setImageDrawable(null);
|
||||
+ TabListFaviconProvider.TabFavicon tabFavicon = model.get(TabProperties.FAVICON);
|
||||
+ thumbnail.setScaleType(ImageView.ScaleType.CENTER);
|
||||
+ thumbnail.setImageDrawable(
|
||||
+ isSelected ? tabFavicon.getSelectedDrawable() : tabFavicon.getDefaultDrawable());
|
||||
}
|
||||
};
|
||||
if (TabUiFeatureUtilities.isTabGroupsAndroidContinuationEnabled(view.getContext())
|
||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -88,6 +88,11 @@ found in the LICENSE file.
|
||||
android:title="@string/open_external_links_incognito_title"
|
||||
android:summary="@string/open_external_links_incognito_summary"
|
||||
android:defaultValue="false" />
|
||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
+ android:key="tabgrid_use_icons"
|
||||
+ android:title="@string/tabgrid_use_icons_title"
|
||||
+ android:summary="@string/tabgrid_use_icons_summary"
|
||||
+ android:defaultValue="false" />
|
||||
<Preference
|
||||
android:key="privacy_sandbox"
|
||||
android:title="@string/prefs_privacy_sandbox"
|
||||
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.page_info.ChromePageInfoHighlight;
|
||||
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
|
||||
import org.chromium.chrome.browser.preferences.Pref;
|
||||
import org.chromium.chrome.browser.printing.TabPrinter;
|
||||
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.selection.SelectionPopupBackPressHandler;
|
||||
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
|
||||
@@ -642,7 +643,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
|
||||
TabModelSelector tabModelSelector = mTabModelOrchestrator.getTabModelSelector();
|
||||
setTabContentManager(new TabContentManager(this, getContentOffsetProvider(),
|
||||
- !SysUtils.isLowEndDevice(),
|
||||
+ !ContextUtils.getAppSharedPreferences().getBoolean(PrivacySettings.PREF_TABGRID_USE_ICONS, false),
|
||||
tabModelSelector != null ? tabModelSelector::getTabById : null));
|
||||
|
||||
getBrowserControlsManager().initialize(
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
|
||||
@@ -331,9 +331,12 @@ public class TabContentManager {
|
||||
* @param forceUpdate Whether to obtain the thumbnail from the live content.
|
||||
* @param writeBack When {@code forceUpdate}, whether to write the thumbnail to cache.
|
||||
*/
|
||||
- public void getTabThumbnailWithCallback(@NonNull int tabId, @NonNull Size thumbnailSize,
|
||||
+ public void getTabThumbnailWithCallback(@NonNull int tabId, @NonNull Size thumbnailSize, //
|
||||
@NonNull Callback<Bitmap> callback, boolean forceUpdate, boolean writeBack) {
|
||||
- if (!mSnapshotsEnabled) return;
|
||||
+ if (!mSnapshotsEnabled) {
|
||||
+ callback.onResult(null);
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
// TODO(crbug/1444782): Remove forceUpdate and writeBack params from here and don't
|
||||
// trigger a captureThumbnail. This should be feasible once the
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -69,6 +69,11 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
||||
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
||||
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
|
||||
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
|
||||
+import org.chromium.chrome.browser.ApplicationLifetime;
|
||||
+
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -77,7 +82,15 @@ import java.util.List;
|
||||
*/
|
||||
public class PrivacySettings extends PreferenceFragmentCompat
|
||||
implements Preference.OnPreferenceChangeListener, FragmentHelpAndFeedbackLauncher,
|
||||
- ProfileDependentSetting {
|
||||
+ ProfileDependentSetting, INeedSnackbarManager {
|
||||
+ private SnackbarManager mSnackbarManager;
|
||||
+ private Snackbar mSnackbar;
|
||||
+
|
||||
+ @Override
|
||||
+ public void setSnackbarManager(SnackbarManager manager) {
|
||||
+ mSnackbarManager = manager;
|
||||
+ }
|
||||
+
|
||||
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
|
||||
private static final String PREF_PRELOAD_PAGES = "preload_pages";
|
||||
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
|
||||
@@ -147,6 +160,21 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
});
|
||||
}
|
||||
|
||||
+ mSnackbar = Snackbar.make(getActivity().getString(R.string.ui_relaunch_notice),
|
||||
+ new SnackbarManager.SnackbarController() {
|
||||
+ @Override
|
||||
+ public void onDismissNoAction(Object actionData) { }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onAction(Object actionData) {
|
||||
+ ApplicationLifetime.terminate(true);
|
||||
+ }
|
||||
+ }, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_UNKNOWN)
|
||||
+ .setSingleLine(false)
|
||||
+ .setAction(getActivity().getString(R.string.relaunch),
|
||||
+ /*actionData*/null)
|
||||
+ .setDuration(/*durationMs*/70000);
|
||||
+
|
||||
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
|
||||
// Record the launch of PG from the S&P link-row entry point
|
||||
privacyGuidePreference.setOnPreferenceClickListener(preference -> {
|
||||
@@ -297,6 +325,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
|
||||
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
|
||||
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
|
||||
+ public static final String PREF_TABGRID_USE_ICONS = "tabgrid_use_icons";
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
@@ -320,6 +349,13 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
|
||||
sharedPreferencesEditor.apply();
|
||||
+ } else if (PREF_TABGRID_USE_ICONS.equals(key)) {
|
||||
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
+ sharedPreferencesEditor.putBoolean(PREF_TABGRID_USE_ICONS, (boolean)newValue);
|
||||
+ sharedPreferencesEditor.apply();
|
||||
+ if (!mSnackbarManager.isShowing()) {
|
||||
+ mSnackbarManager.showSnackbar(mSnackbar);
|
||||
+ }
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -360,6 +396,10 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
: R.string.text_off);
|
||||
}
|
||||
|
||||
+ Preference tabGridUseIcons =
|
||||
+ (ChromeSwitchPreference) findPreference(PREF_TABGRID_USE_ICONS);
|
||||
+ tabGridUseIcons.setOnPreferenceChangeListener(this);
|
||||
+
|
||||
Preference refererPolicyPref = findPreference(PREF_REFERER_POLICY);
|
||||
refererPolicyPref.setSummary(
|
||||
RefererSettingsFragment.getRefererSummaryString(getContext()));
|
||||
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
|
||||
@@ -5239,6 +5239,14 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
|
||||
</message>
|
||||
|
||||
+ <!-- Tab Broup Disable Thumbnail -->
|
||||
+ <message name="IDS_TABGRID_USE_ICONS_TITLE" desc="Text for 'Use icons in the tab grid' settings-privacy option.">
|
||||
+ Use only icons in the tab grid
|
||||
+ </message>
|
||||
+ <message name="IDS_TABGRID_USE_ICONS_SUMMARY" desc="Summary text for 'Use icons in the tab grid' settings-privacy option.">
|
||||
+ Disable the saving of snapshots to disk
|
||||
+ </message>
|
||||
+
|
||||
<!-- Tab Group Tab Switcher strings -->
|
||||
<message name="IDS_TAB_MANAGEMENT_MODULE_TITLE" desc="Text shown when the Tab Management module is referenced in install start, success, failure UI (e.g. in IDS_MODULE_INSTALL_START_TEXT, which will expand to 'Installing Tab management for Chrome…').">
|
||||
Tab management
|
||||
--
|
||||
2.25.1
|
||||
@@ -33,7 +33,7 @@ Subject: Add setting to clear data on exit
|
||||
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
|
||||
@@ -292,6 +292,7 @@ chrome_java_sources = [
|
||||
@@ -289,6 +289,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",
|
||||
@@ -44,7 +44,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -138,6 +138,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
@@ -140,6 +140,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate;
|
||||
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler;
|
||||
import org.chromium.chrome.browser.read_later.ReadingListUtils;
|
||||
import org.chromium.chrome.browser.reengagement.ReengagementNotificationController;
|
||||
@@ -1318,7 +1319,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1283,7 +1284,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
Intent intent = getIntent();
|
||||
|
||||
boolean hadCipherData =
|
||||
@@ -208,7 +208,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
|
||||
@@ -2694,6 +2694,16 @@
|
||||
@@ -2730,6 +2730,16 @@
|
||||
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for clear browsing data button in Privacy options">
|
||||
Clear browsing data
|
||||
</message>
|
||||
@@ -266,9 +266,9 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.
|
||||
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteSiteSettingsAtStart))
|
||||
+ data_types.Append(browsing_data::policy_data_types::kSiteSettingsName);
|
||||
|
||||
if (IsConditionSatisfiedForBrowsingDataRemoval(GetSyncTypesForPolicyPref(
|
||||
profile_, browsing_data::prefs::kClearBrowsingDataOnExitList))) {
|
||||
@@ -426,6 +443,7 @@ void ChromeBrowsingDataLifetimeManager::StartScheduledBrowsingDataRemoval() {
|
||||
if (!data_types.empty() &&
|
||||
IsConditionSatisfiedForBrowsingDataRemoval(GetSyncTypesForPolicyPref(
|
||||
@@ -427,6 +444,7 @@ void ChromeBrowsingDataLifetimeManager::StartScheduledBrowsingDataRemoval() {
|
||||
bool ChromeBrowsingDataLifetimeManager::
|
||||
IsConditionSatisfiedForBrowsingDataRemoval(
|
||||
const syncer::UserSelectableTypeSet sync_types) {
|
||||
@@ -279,7 +279,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.
|
||||
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||
@@ -421,6 +421,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
@@ -419,6 +419,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
delete_end_, CreateTaskCompletionClosure(TracingDataType::kHistory),
|
||||
&history_task_tracker_);
|
||||
}
|
||||
@@ -289,7 +289,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
|
||||
if (ClipboardRecentContent::GetInstance())
|
||||
ClipboardRecentContent::GetInstance()->SuppressClipboardContent();
|
||||
|
||||
@@ -471,7 +474,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
@@ -469,7 +472,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS |
|
||||
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY);
|
||||
}
|
||||
@@ -299,7 +299,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.
|
||||
@@ -492,7 +497,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
@@ -490,7 +495,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
if (data_manager)
|
||||
data_manager->Refresh();
|
||||
}
|
||||
@@ -309,10 +309,10 @@ 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(
|
||||
@@ -578,9 +585,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
CreateTaskCompletionClosure(TracingDataType::kExploreSites));
|
||||
@@ -565,9 +572,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
}
|
||||
#endif
|
||||
|
||||
device_event_log::Clear(delete_begin_, delete_end_);
|
||||
+ }
|
||||
|
||||
+ if ((remove_mask & constants::DATA_TYPE_HISTORY) && may_delete_history) {
|
||||
@@ -326,7 +326,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
|
||||
@@ -497,6 +497,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||
@@ -500,6 +500,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||
(*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] =
|
||||
settings_api::PrefType::PREF_TYPE_NUMBER;
|
||||
|
||||
@@ -418,7 +418,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
|
||||
@@ -285,6 +285,50 @@
|
||||
@@ -284,6 +284,50 @@
|
||||
disabled="[[clearingInProgress_]]" no-set-pref>
|
||||
</settings-checkbox>
|
||||
</div>
|
||||
@@ -472,7 +472,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
|
||||
@@ -202,6 +202,7 @@ export class SettingsClearBrowsingDataDialogElement extends
|
||||
@@ -194,6 +194,7 @@ export class SettingsClearBrowsingDataDialogElement extends
|
||||
value: () =>
|
||||
[loadTimeData.getString('basicPageTitle'),
|
||||
loadTimeData.getString('advancedPageTitle'),
|
||||
@@ -483,7 +483,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
|
||||
@@ -1547,6 +1547,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1582,6 +1582,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>
|
||||
@@ -496,7 +496,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
|
||||
@@ -1716,6 +1716,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
@@ -1771,6 +1771,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
|
||||
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
|
||||
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
|
||||
|
||||
@@ -6,7 +6,7 @@ Reverses single tap to long tap in android for accessibility reasons.
|
||||
The feature can be activated from the accessibility settings.
|
||||
---
|
||||
chrome/android/java/res/values/ids.xml | 1 +
|
||||
.../ChromeAccessibilitySettingsDelegate.java | 18 +++++++++++
|
||||
.../ChromeAccessibilitySettingsDelegate.java | 18 ++++++++++
|
||||
.../contextmenu/ChromeContextMenuItem.java | 5 ++-
|
||||
.../ChromeContextMenuPopulator.java | 5 +++
|
||||
.../tab/TabContextMenuItemDelegate.java | 8 +++++
|
||||
@@ -14,20 +14,21 @@ The feature can be activated from the accessibility settings.
|
||||
.../contextmenu/ContextMenuItemDelegate.java | 2 ++
|
||||
chrome/browser/flag_descriptions.cc | 4 +++
|
||||
chrome/browser/flag_descriptions.h | 3 ++
|
||||
.../browser/flags/ChromeFeatureList.java | 4 +++
|
||||
.../strings/android_chrome_strings.grd | 9 ++++++
|
||||
.../flags/android/chrome_feature_list.cc | 1 +
|
||||
.../browser/flags/ChromeFeatureList.java | 5 +++
|
||||
.../strings/android_chrome_strings.grd | 9 +++++
|
||||
.../res/xml/accessibility_preferences.xml | 5 +++
|
||||
.../accessibility/AccessibilitySettings.java | 11 +++++++
|
||||
.../accessibility/AccessibilitySettings.java | 11 ++++++
|
||||
.../AccessibilitySettingsDelegate.java | 2 ++
|
||||
third_party/blink/common/features.cc | 4 +++
|
||||
third_party/blink/public/common/features.h | 2 ++
|
||||
.../renderer/core/html/html_anchor_element.cc | 12 ++++++-
|
||||
.../renderer/core/html/html_anchor_element.h | 2 +-
|
||||
.../renderer/core/html/html_image_element.cc | 17 ++++++++++
|
||||
.../renderer/core/html/html_anchor_element.cc | 35 +++++++++++++++----
|
||||
.../renderer/core/html/html_anchor_element.h | 9 +++--
|
||||
.../renderer/core/html/html_image_element.cc | 17 +++++++++
|
||||
.../renderer/core/html/html_image_element.h | 2 ++
|
||||
.../core/page/context_menu_controller.cc | 32 +++++++++++++------
|
||||
.../core/page/context_menu_controller.cc | 32 ++++++++++++-----
|
||||
.../core/page/context_menu_controller.h | 5 +--
|
||||
22 files changed, 144 insertions(+), 14 deletions(-)
|
||||
23 files changed, 170 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
|
||||
--- a/chrome/android/java/res/values/ids.xml
|
||||
@@ -101,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
@@ -243,6 +243,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -240,6 +240,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
|
||||
if (mParams.isAnchor()) {
|
||||
ModelList linkGroup = new ModelList();
|
||||
@@ -111,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(mParams.getUrl())
|
||||
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
|
||||
if (mMode == ContextMenuMode.NORMAL) {
|
||||
@@ -601,6 +604,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -598,6 +601,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
ShareHelper.shareDirectly(
|
||||
params, ShareHelper.getLastShareComponentName(), getProfile(), false);
|
||||
});
|
||||
@@ -141,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
|
||||
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
|
||||
@@ -7874,6 +7874,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -7917,6 +7917,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kMoveTopToolbarToBottomDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kMoveTopToolbarToBottom)},
|
||||
|
||||
@@ -156,7 +157,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
|
||||
--- a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
|
||||
+++ b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
|
||||
@@ -109,6 +109,8 @@ public interface ContextMenuItemDelegate {
|
||||
@@ -111,6 +111,8 @@ public interface ContextMenuItemDelegate {
|
||||
*/
|
||||
void onOpenImageUrl(GURL url, Referrer referrer);
|
||||
|
||||
@@ -168,7 +169,7 @@ diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/con
|
||||
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
|
||||
@@ -1880,6 +1880,10 @@ const char kMoveTopToolbarToBottomName[] = "Move top toolbar to bottom";
|
||||
@@ -1970,6 +1970,10 @@ const char kMoveTopToolbarToBottomName[] = "Move top toolbar to bottom";
|
||||
const char kMoveTopToolbarToBottomDescription[] =
|
||||
"Move the top toolbar to the bottom.";
|
||||
|
||||
@@ -182,7 +183,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1053,6 +1053,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
|
||||
@@ -1104,6 +1104,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
|
||||
extern const char kMoveTopToolbarToBottomName[];
|
||||
extern const char kMoveTopToolbarToBottomDescription[];
|
||||
|
||||
@@ -192,10 +193,21 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
extern const char kIncognitoReauthenticationForAndroidName[];
|
||||
extern const char kIncognitoReauthenticationForAndroidDescription[];
|
||||
|
||||
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
|
||||
@@ -314,6 +314,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kTabGroupsContinuationAndroid,
|
||||
&kTabGroupsForTablets,
|
||||
&kDiscoverFeedMultiColumn,
|
||||
+ &blink::features::kShowAlwaysContextMenuOnLinks,
|
||||
&kTabStripRedesign,
|
||||
&kTabletToolbarReordering,
|
||||
&kTabStripStartupRefactoring,
|
||||
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
|
||||
@@ -306,6 +306,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -312,6 +312,8 @@ public abstract class ChromeFeatureList {
|
||||
public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid";
|
||||
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
|
||||
"MoveTopToolbarToBottom";
|
||||
@@ -204,7 +216,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";
|
||||
@@ -557,6 +559,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -571,6 +573,8 @@ public abstract class ChromeFeatureList {
|
||||
new CachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
|
||||
public static final CachedFlag sMoveTopToolbarToBottom =
|
||||
new CachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
||||
@@ -213,10 +225,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final CachedFlag sOmniboxModernizeVisualUpdate =
|
||||
new CachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, false);
|
||||
public static final CachedFlag sOmniboxMostVisitedTilesAddRecycledViewPool =
|
||||
@@ -693,6 +697,7 @@ public abstract class ChromeFeatureList {
|
||||
sTabStripRedesign,
|
||||
sTabStripStartupRefactoring,
|
||||
sTabletToolbarReordering,
|
||||
+ sShowAlwaysContextMenuOnLinks,
|
||||
sTabToGTSAnimation,
|
||||
sToolbarUseHardwareBitmapDraw,
|
||||
sUseChimeAndroidSdk,
|
||||
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
|
||||
@@ -1714,6 +1714,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1749,6 +1749,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>
|
||||
@@ -229,7 +249,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]">
|
||||
@@ -2715,6 +2721,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -2750,6 +2756,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
|
||||
Open in new Chrome tab
|
||||
</message>
|
||||
@@ -311,8 +331,8 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
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
|
||||
@@ -1031,6 +1031,10 @@ BASE_FEATURE(kScopeMemoryCachePerContext,
|
||||
"ScopeMemoryCachePerContext",
|
||||
@@ -217,6 +217,10 @@ BASE_FEATURE(kBackgroundResourceFetch,
|
||||
"BackgroundResourceFetch",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+BASE_FEATURE(kShowAlwaysContextMenuOnLinks,
|
||||
@@ -325,9 +345,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
|
||||
@@ -434,6 +434,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kScopeMemoryCachePerContext);
|
||||
@@ -127,6 +127,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackForwardCacheWithKeepaliveRequest);
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kEnablePenetratingImageSelection);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackgroundResourceFetch);
|
||||
|
||||
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kShowAlwaysContextMenuOnLinks);
|
||||
+
|
||||
@@ -337,7 +357,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ
|
||||
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc
|
||||
--- a/third_party/blink/renderer/core/html/html_anchor_element.cc
|
||||
+++ b/third_party/blink/renderer/core/html/html_anchor_element.cc
|
||||
@@ -55,6 +55,7 @@
|
||||
@@ -59,6 +59,7 @@
|
||||
#include "third_party/blink/renderer/core/loader/ping_loader.h"
|
||||
#include "third_party/blink/renderer/core/navigation_api/navigation_api.h"
|
||||
#include "third_party/blink/renderer/core/page/chrome_client.h"
|
||||
@@ -345,16 +365,25 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
||||
#include "third_party/blink/renderer/core/page/page.h"
|
||||
#include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h"
|
||||
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
|
||||
@@ -425,7 +426,7 @@ void HTMLAnchorElement::SendPings(const KURL& destination_url) const {
|
||||
}
|
||||
}
|
||||
|
||||
-void HTMLAnchorElement::HandleClick(Event& event) {
|
||||
+void HTMLAnchorElement::HandleClick(Event& event, bool do_not_show_context_menu) {
|
||||
event.SetDefaultHandled();
|
||||
|
||||
@@ -436,6 +437,17 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
|
||||
bool is_trusted,
|
||||
base::TimeTicks platform_time_stamp,
|
||||
KURL completed_url) {
|
||||
+ UIEvent& event = *UIEvent::Create();
|
||||
+ NavigateToHyperlink2(std::move(request), navigation_policy, is_trusted, platform_time_stamp,
|
||||
+ std::move(completed_url), event, true);
|
||||
+}
|
||||
+
|
||||
+void HTMLAnchorElement::NavigateToHyperlink2(ResourceRequest request,
|
||||
+ NavigationPolicy navigation_policy,
|
||||
+ bool is_trusted,
|
||||
+ base::TimeTicks platform_time_stamp,
|
||||
+ KURL completed_url,
|
||||
+ Event& event, bool do_not_show_context_menu) {
|
||||
LocalDOMWindow* window = GetDocument().domWindow();
|
||||
@@ -566,6 +567,15 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
||||
if (!window) {
|
||||
return;
|
||||
@@ -489,6 +501,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
|
||||
/*element=*/this));
|
||||
}
|
||||
|
||||
@@ -370,10 +399,47 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
||||
Frame* target_frame =
|
||||
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
|
||||
|
||||
@@ -508,7 +529,7 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
|
||||
}
|
||||
}
|
||||
|
||||
-void HTMLAnchorElement::HandleClick(Event& event) {
|
||||
+void HTMLAnchorElement::HandleClick(Event& event, bool do_not_show_context_menu) {
|
||||
event.SetDefaultHandled();
|
||||
|
||||
LocalDOMWindow* window = GetDocument().domWindow();
|
||||
@@ -607,12 +628,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
||||
}
|
||||
|
||||
NavigationPolicy navigation_policy = NavigationPolicyFromEvent(&event);
|
||||
- base::OnceClosure navigate_closure = WTF::BindOnce(
|
||||
- &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
|
||||
- std::move(request), navigation_policy, event.isTrusted(),
|
||||
- event.PlatformTimeStamp(), std::move(completed_url));
|
||||
|
||||
if (navigation_policy == kNavigationPolicyDownload) {
|
||||
+ base::OnceClosure navigate_closure = WTF::BindOnce(
|
||||
+ &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
|
||||
+ std::move(request), navigation_policy, event.isTrusted(),
|
||||
+ event.PlatformTimeStamp(), std::move(completed_url));
|
||||
// If Alt is held down it will force a download, however, wait to see if
|
||||
// this is an alt-double-click which should instead select the text of the
|
||||
// link.
|
||||
@@ -624,7 +645,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
||||
frame->GetEventHandler().SetDownloadModifierTaskHandle(
|
||||
std::move(task_handle));
|
||||
} else {
|
||||
- std::move(navigate_closure).Run();
|
||||
+ HTMLAnchorElement::NavigateToHyperlink2(std::move(request), navigation_policy,
|
||||
+ event.isTrusted(), event.PlatformTimeStamp(), std::move(completed_url),
|
||||
+ event, do_not_show_context_menu);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h
|
||||
--- a/third_party/blink/renderer/core/html/html_anchor_element.h
|
||||
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h
|
||||
@@ -98,6 +98,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
|
||||
@@ -101,6 +101,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
|
||||
void SendPings(const KURL& destination_url) const;
|
||||
|
||||
void Trace(Visitor*) const override;
|
||||
@@ -381,11 +447,22 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_
|
||||
|
||||
protected:
|
||||
void ParseAttribute(const AttributeModificationParams&) override;
|
||||
@@ -119,7 +120,6 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
|
||||
@@ -122,12 +123,16 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
|
||||
bool IsInteractiveContent() const final;
|
||||
InsertionNotificationRequest InsertedInto(ContainerNode&) override;
|
||||
void RemovedFrom(ContainerNode&) override;
|
||||
+ void NavigateToHyperlink2(ResourceRequest,
|
||||
+ NavigationPolicy,
|
||||
+ bool is_trusted,
|
||||
+ base::TimeTicks platform_time_stamp,
|
||||
+ KURL, Event&, bool do_not_show_context_menu);
|
||||
void NavigateToHyperlink(ResourceRequest,
|
||||
NavigationPolicy,
|
||||
bool is_trusted,
|
||||
base::TimeTicks platform_time_stamp,
|
||||
- KURL);
|
||||
- void HandleClick(Event&);
|
||||
+ KURL completed_url);
|
||||
|
||||
unsigned link_relations_ : 31;
|
||||
mutable LinkHash cached_visited_link_hash_;
|
||||
@@ -408,7 +485,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/style/content_data.h"
|
||||
@@ -719,6 +721,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
|
||||
@@ -718,6 +720,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -491,7 +568,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;
|
||||
@@ -776,11 +788,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
@@ -790,11 +802,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
data.form_renderer_id = GetFormRendererId(result);
|
||||
data.field_renderer_id = GetFieldRendererId(result);
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Mon, 7 Aug 2023 11:02:18 +0000
|
||||
Subject: Allow DocumentPiP if PopupsAndRedirects are active
|
||||
|
||||
Allow documentPiP api use only with content setting popup allowed
|
||||
---
|
||||
.../picture_in_picture_controller_impl.cc | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
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
|
||||
@@ -361,6 +361,13 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow(
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (!opener.GetFrame()->GetContentSettingsClient()->AllowPopupsAndRedirects(false)) {
|
||||
+ exception_state.ThrowDOMException(DOMExceptionCode::kNotAllowedError,
|
||||
+ "Document PiP requires user popup permission");
|
||||
+ resolver->Reject(exception_state);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
WebPictureInPictureWindowOptions web_options;
|
||||
web_options.width = options->width();
|
||||
web_options.height = options->height();
|
||||
--
|
||||
2.25.1
|
||||
@@ -27,8 +27,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
|
||||
import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
|
||||
@@ -204,6 +206,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||
@Override
|
||||
public void onOpenInNewTab(
|
||||
GURL url, Referrer referrer, boolean navigateToTab, @Nullable Impression impression) {
|
||||
public void onOpenInNewTab(GURL url, Referrer referrer, boolean navigateToTab,
|
||||
@Nullable AdditionalNavigationParams additionalNavigationParams) {
|
||||
+ TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true);
|
||||
RecordUserAction.record("MobileNewTabOpened");
|
||||
RecordUserAction.record("LinkOpenedInNewTab");
|
||||
|
||||
@@ -78,7 +78,7 @@ diff --git a/services/network/cors/preflight_result.cc b/services/network/cors/p
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -1041,6 +1041,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
|
||||
@@ -1070,6 +1070,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
|
||||
base::BindOnce(&NetworkContext::OnHttpCacheCleared,
|
||||
base::Unretained(this), std::move(callback))));
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Wed, 19 Jul 2023 09:32:36 +0000
|
||||
Subject: Compress libchrome to free up some space
|
||||
|
||||
upstream removed ModernLinker support for developer build (apk releases).
|
||||
see https://bugs.chromium.org/p/chromium/issues/detail?id=1383210
|
||||
---
|
||||
chrome/android/chrome_public_apk_tmpl.gni | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
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
|
||||
@@ -632,6 +632,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" ]
|
||||
+ library_always_compress += [ "libchrome.so" ]
|
||||
} else if (!_is_trichrome) {
|
||||
# Crashpad trampoline lives in TrichromeLibrary.apk.
|
||||
# https://chromium.googlesource.com/chromium/src/+/main/docs/android_native_libraries.md#Crashpad-Packaging
|
||||
--
|
||||
2.25.1
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,21 +3,20 @@ Date: Mon, 5 Jun 2023 17:02:33 +0000
|
||||
Subject: Deprecate Data URL in SVGUseElement
|
||||
|
||||
---
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
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
|
||||
@@ -2939,9 +2939,8 @@
|
||||
status: "stable",
|
||||
@@ -2967,8 +2967,8 @@
|
||||
base_feature: "none",
|
||||
},
|
||||
{
|
||||
- name: "RemoveDataUrlInSvgUse",
|
||||
- status: "experimental",
|
||||
- base_feature: "none",
|
||||
+ name: "RemoveDataUrlInSvgUse", // enabled by default
|
||||
+ status: "stable",
|
||||
+ name: "RemoveDataUrlInSvgUse", // enabled
|
||||
+ status: "stable", // by default
|
||||
},
|
||||
{
|
||||
name: "RemoveLegacySizeComputation",
|
||||
|
||||
@@ -33,7 +33,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
|
||||
@@ -521,7 +521,7 @@ std::unique_ptr<ComponentUpdateService> ComponentUpdateServiceFactory(
|
||||
@@ -520,7 +520,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.
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Disable Compression Dictionary Transport
|
||||
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
|
||||
@@ -677,16 +677,16 @@
|
||||
@@ -670,16 +670,16 @@
|
||||
status: "experimental",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -3,14 +3,14 @@ Date: Tue, 14 Feb 2023 16:26:17 +0000
|
||||
Subject: Disable FedCm
|
||||
|
||||
---
|
||||
content/public/common/content_features.cc | 2 +-
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
content/public/common/content_features.cc | 10 +++++-----
|
||||
.../renderer/platform/runtime_enabled_features.json5 | 2 +-
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
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
|
||||
@@ -395,7 +395,7 @@ BASE_FEATURE(kExtraSafelistedRequestHeadersForOutOfBlinkCors,
|
||||
@@ -389,7 +389,7 @@ BASE_FEATURE(kExtraSafelistedRequestHeadersForOutOfBlinkCors,
|
||||
// by the flag in RuntimeEnabledFeatures on the blink side. See also
|
||||
// the use of kSetOnlyIfOverridden in content/child/runtime_features.cc.
|
||||
// We enable it here by default to support use in origin trials.
|
||||
@@ -19,10 +19,30 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
|
||||
|
||||
// Field trial boolean parameter which indicates whether FedCM IDP sign-out
|
||||
// is enabled.
|
||||
@@ -453,15 +453,15 @@ BASE_FEATURE(kFedCmLoginHint,
|
||||
// Enables metrics collection for signin status mismatches. Also enables
|
||||
// parsing the signin status HTTP headers.
|
||||
// kFedCmIdpSigninStatusEnabled takes precedence over this feature flag.
|
||||
-BASE_FEATURE(kFedCmIdpSigninStatusMetrics, // disabled
|
||||
+BASE_FEATURE(kFedCmIdpSigninStatusMetrics, // enabled
|
||||
"FedCmIdpSigninStatusMetrics", // by default
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT); // on bromite
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // on bromite
|
||||
|
||||
// Enables the IDP signin status API for use with FedCM, including avoiding
|
||||
// network requests when not signed in and mismatch handling.
|
||||
-BASE_FEATURE(kFedCmIdpSigninStatusEnabled, // disabled
|
||||
+BASE_FEATURE(kFedCmIdpSigninStatusEnabled, // enabled
|
||||
"FedCmIdpSigninStatusEnabled", // by default
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT); // on bromite
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // on bromite
|
||||
|
||||
// Enables the MDocs API in the IdentityCredential.
|
||||
BASE_FEATURE(kWebIdentityMDocs,
|
||||
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
|
||||
@@ -1574,7 +1574,7 @@
|
||||
@@ -1590,7 +1590,7 @@
|
||||
{
|
||||
name: "FedCm",
|
||||
public: true,
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Sat, 22 Jul 2023 13:58:40 +0000
|
||||
Subject: Disable Feeback Collector
|
||||
|
||||
---
|
||||
.../browser/feedback/FeedbackCollector.java | 27 +++----------------
|
||||
1 file changed, 3 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
|
||||
--- a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
|
||||
+++ b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
|
||||
@@ -28,6 +28,7 @@ import org.chromium.components.signin.identitymanager.ConsentLevel;
|
||||
import org.chromium.components.signin.identitymanager.IdentityManager;
|
||||
|
||||
import java.util.HashMap;
|
||||
+import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -64,30 +65,8 @@ public abstract class FeedbackCollector<T> implements Runnable {
|
||||
// Subclasses must invoke init() at construction time.
|
||||
protected void init(Activity activity, @Nullable ScreenshotSource screenshotTask, T initParams,
|
||||
Profile profile) {
|
||||
- // 1. Build all synchronous and asynchronous sources and determine the currently signed in
|
||||
- // account.
|
||||
- mSynchronousSources = buildSynchronousFeedbackSources(activity, initParams);
|
||||
- mAsynchronousSources = buildAsynchronousFeedbackSources(initParams);
|
||||
- IdentityManager identityManager =
|
||||
- IdentityServicesProvider.get().getIdentityManager(profile);
|
||||
- if (identityManager != null) {
|
||||
- mAccountInUse = CoreAccountInfo.getEmailFrom(
|
||||
- identityManager.getPrimaryAccountInfo(ConsentLevel.SIGNIN));
|
||||
- }
|
||||
-
|
||||
- // Sanity check in case a source is added to the wrong list.
|
||||
- for (FeedbackSource source : mSynchronousSources) {
|
||||
- assert !(source instanceof AsyncFeedbackSource);
|
||||
- }
|
||||
-
|
||||
- // 2. Set |mScreenshotTask| if not null.
|
||||
- if (screenshotTask != null) mScreenshotTask = screenshotTask;
|
||||
-
|
||||
- // 3. Start all asynchronous sources and the screenshot task.
|
||||
- for (var source : mAsynchronousSources) {
|
||||
- source.start(this);
|
||||
- }
|
||||
- if (mScreenshotTask != null) mScreenshotTask.capture(this);
|
||||
+ mSynchronousSources = new ArrayList<>();
|
||||
+ mAsynchronousSources = new ArrayList<>();
|
||||
|
||||
// 4. Kick off a task to timeout the async sources.
|
||||
ThreadUtils.postOnUiThreadDelayed(this, TIMEOUT_MS);
|
||||
--
|
||||
2.25.1
|
||||
@@ -22,7 +22,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
|
||||
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
|
||||
@@ -474,9 +474,9 @@ BASE_FEATURE(kWebIdentityMDocs,
|
||||
@@ -469,9 +469,9 @@ BASE_FEATURE(kWebIdentityMDocs,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
// Enables usage of First Party Sets to determine cookie availability.
|
||||
|
||||
@@ -78,7 +78,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
|
||||
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
|
||||
@@ -677,8 +677,8 @@ BASE_FEATURE(kContextMenuGoogleLensSearchOptimizations,
|
||||
@@ -676,8 +676,8 @@ BASE_FEATURE(kContextMenuGoogleLensSearchOptimizations,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kContextMenuSearchWithGoogleLens,
|
||||
@@ -89,7 +89,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
|
||||
BASE_FEATURE(kContextMenuShopWithGoogleLens,
|
||||
"ContextMenuShopWithGoogleLens",
|
||||
@@ -759,8 +759,8 @@ BASE_FEATURE(kOfflineIndicatorV2,
|
||||
@@ -758,8 +758,8 @@ BASE_FEATURE(kOfflineIndicatorV2,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kExperimentsForAgsa,
|
||||
|
||||
@@ -34,7 +34,7 @@ diff --git a/content/browser/installedapp/installed_app_provider_impl_win.cc b/c
|
||||
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
|
||||
@@ -573,12 +573,12 @@ BASE_FEATURE(kInnerFrameCompositorSurfaceEviction,
|
||||
@@ -568,12 +568,12 @@ BASE_FEATURE(kInnerFrameCompositorSurfaceEviction,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT); // guard this
|
||||
|
||||
// Kill switch for the GetInstalledRelatedApps API.
|
||||
@@ -52,7 +52,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/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
|
||||
@@ -2050,9 +2050,9 @@
|
||||
@@ -2077,9 +2077,9 @@
|
||||
name: "FingerprintingCanvasImageDataNoise",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Tue, 22 Aug 2023 09:02:50 +0000
|
||||
Subject: Disable PartnerCustomizations
|
||||
|
||||
---
|
||||
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++--
|
||||
.../partnercustomizations/PartnerBrowserCustomizations.java | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
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
|
||||
@@ -865,8 +865,8 @@ BASE_FEATURE(kOpaqueOriginForIncomingIntents,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kPartnerCustomizationsUma,
|
||||
- "PartnerCustomizationsUma",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ "PartnerCustomizationsUma", // disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
|
||||
BASE_FEATURE(kProbabilisticCryptidRenderer,
|
||||
"ProbabilisticCryptidRenderer",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
diff --git a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
|
||||
--- a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
|
||||
+++ b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
|
||||
@@ -213,7 +213,7 @@ public class PartnerBrowserCustomizations {
|
||||
boolean systemOrPreStable =
|
||||
(context.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) == 1
|
||||
|| !VersionInfo.isStableBuild();
|
||||
- if (!systemOrPreStable) {
|
||||
+ if ((true)) {
|
||||
// Only allow partner customization if this browser is a system package, or
|
||||
// is in pre-stable channels.
|
||||
return null;
|
||||
--
|
||||
2.25.1
|
||||
@@ -9,7 +9,7 @@ Subject: Disable PrivateStateTokens API
|
||||
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
|
||||
@@ -147,12 +147,12 @@ BASE_FEATURE(kAttributionReportingCrossAppWeb,
|
||||
@@ -154,12 +154,12 @@ BASE_FEATURE(kAttributionReportingCrossAppWeb, // in bromite
|
||||
// set, and handling their responses, according to the protocol.
|
||||
// (See https://github.com/WICG/trust-token-api.)
|
||||
BASE_FEATURE(kPrivateStateTokens,
|
||||
|
||||
@@ -10,19 +10,19 @@ Subject: Disable WebGPU
|
||||
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
|
||||
@@ -267,7 +267,7 @@ BASE_FEATURE(kEnableDrDcVulkan,
|
||||
BASE_FEATURE(kWebGPUService,
|
||||
"WebGPUService",
|
||||
@@ -273,7 +273,7 @@ BASE_FEATURE(kEnableDrDcVulkan,
|
||||
// Enable WebGPU on gpu service side only. This is used with origin trial and
|
||||
// enabled by default on supported platforms.
|
||||
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT
|
||||
-#define WEBGPU_ENABLED base::FEATURE_ENABLED_BY_DEFAULT
|
||||
+#define WEBGPU_ENABLED base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#else
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#define WEBGPU_ENABLED base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#endif
|
||||
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
|
||||
@@ -3957,7 +3957,7 @@
|
||||
@@ -3975,7 +3975,7 @@
|
||||
// Note that this isn't enough to enable WebGPU and that access to
|
||||
// WebGPU is further gated on the "WebGPUService" feature exposing GPU
|
||||
// process access to WebGPU to the renderer process.
|
||||
|
||||
@@ -25,13 +25,13 @@ diff --git a/third_party/blink/renderer/core/loader/ping_loader.cc b/third_party
|
||||
if (!ping_url.ProtocolIsInHTTPFamily())
|
||||
return;
|
||||
|
||||
@@ -139,6 +141,7 @@ void PingLoader::SendLinkAuditPing(LocalFrame* frame,
|
||||
@@ -140,6 +142,7 @@ void PingLoader::SendLinkAuditPing(LocalFrame* frame,
|
||||
void PingLoader::SendViolationReport(ExecutionContext* execution_context,
|
||||
const KURL& report_url,
|
||||
scoped_refptr<EncodedFormData> report) {
|
||||
+ if ((true)) return;
|
||||
ResourceRequest request(report_url);
|
||||
request.SetHttpMethod(http_names::kPOST);
|
||||
request.SetHTTPContentType("application/csp-report");
|
||||
request.SetHTTPContentType(AtomicString("application/csp-report"));
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -16,7 +16,7 @@ Subject: Disable privacy issues in password manager
|
||||
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
|
||||
@@ -468,15 +468,6 @@ by a child template that "extends" this file.
|
||||
@@ -458,15 +458,6 @@ by a child template that "extends" this file.
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Tue, 1 Aug 2023 13:56:42 +0000
|
||||
Subject: Disable remote altsvc for h3 connections
|
||||
|
||||
and only sets the use of port 443
|
||||
---
|
||||
net/http/http_server_properties_manager.cc | 2 +-
|
||||
net/http/http_stream_factory_job_controller.cc | 9 ++-------
|
||||
net/quic/quic_context.h | 2 +-
|
||||
3 files changed, 4 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_properties_manager.cc
|
||||
--- a/net/http/http_server_properties_manager.cc
|
||||
+++ b/net/http/http_server_properties_manager.cc
|
||||
@@ -38,7 +38,7 @@ const int kMissingVersion = 0;
|
||||
const int kVersionNumber = 5;
|
||||
|
||||
// Persist at most 200 currently-broken alternative services to disk.
|
||||
-const int kMaxBrokenAlternativeServicesToPersist = 200;
|
||||
+const int kMaxBrokenAlternativeServicesToPersist = 0;
|
||||
|
||||
const char kServerKey[] = "server";
|
||||
const char kQuicServerIdKey[] = "server_id";
|
||||
diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stream_factory_job_controller.cc
|
||||
--- a/net/http/http_stream_factory_job_controller.cc
|
||||
+++ b/net/http/http_stream_factory_job_controller.cc
|
||||
@@ -1236,11 +1236,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
|
||||
// single user on a multi-user system to hijack the alternate protocol.
|
||||
// These systems also enforce ports <1024 as restricted ports. So don't
|
||||
// allow protocol upgrades to user-controllable ports.
|
||||
- const int kUnrestrictedPort = 1024;
|
||||
- if (!session_->params().enable_user_alternate_protocol_ports &&
|
||||
- (alternative_service_info.alternative_service().port >=
|
||||
- kUnrestrictedPort &&
|
||||
- original_url.EffectiveIntPort() < kUnrestrictedPort))
|
||||
+ if (alternative_service_info.alternative_service().port != 443)
|
||||
continue;
|
||||
|
||||
if (alternative_service_info.protocol() == kProtoHTTP2) {
|
||||
@@ -1277,8 +1273,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
|
||||
|
||||
GURL destination = CreateAltSvcUrl(
|
||||
original_url, alternative_service_info.host_port_pair());
|
||||
- if (session_key.host() != destination.host_piece() &&
|
||||
- !session_->context().quic_context->params()->allow_remote_alt_svc) {
|
||||
+ if (session_key.host() != destination.host_piece()) {
|
||||
continue;
|
||||
}
|
||||
RewriteUrlWithHostMappingRules(destination);
|
||||
diff --git a/net/quic/quic_context.h b/net/quic/quic_context.h
|
||||
--- a/net/quic/quic_context.h
|
||||
+++ b/net/quic/quic_context.h
|
||||
@@ -177,7 +177,7 @@ struct NET_EXPORT QuicParams {
|
||||
bool allow_server_migration = false;
|
||||
// If true, allows QUIC to use alternative services with a different
|
||||
// hostname from the origin.
|
||||
- bool allow_remote_alt_svc = true;
|
||||
+ bool allow_remote_alt_svc = false; // Disabled by default
|
||||
// If true, estimate the initial RTT for QUIC connections based on network.
|
||||
bool estimate_initial_rtt = false;
|
||||
// The initial rtt that will be used in crypto handshake if no cached
|
||||
--
|
||||
2.25.1
|
||||
@@ -23,7 +23,7 @@ Require: Timezone-customization.patch
|
||||
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
|
||||
@@ -7444,6 +7444,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -7460,6 +7460,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kFileHandlingIconsDescription, kOsDesktop,
|
||||
FEATURE_VALUE_TYPE(blink::features::kFileHandlingIcons)},
|
||||
|
||||
@@ -38,7 +38,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
|
||||
--- a/chrome/renderer/chrome_content_renderer_client.cc
|
||||
+++ b/chrome/renderer/chrome_content_renderer_client.cc
|
||||
@@ -1585,7 +1585,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
|
||||
@@ -1594,7 +1594,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
|
||||
std::unique_ptr<media::SpeechRecognitionClient>
|
||||
ChromeContentRendererClient::CreateSpeechRecognitionClient(
|
||||
content::RenderFrame* render_frame) {
|
||||
@@ -88,7 +88,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
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
|
||||
@@ -840,7 +840,7 @@ const base::FeatureParam<std::string> kMediaFoundationClearKeyCdmPathForTesting{
|
||||
@@ -865,7 +865,7 @@ const base::FeatureParam<std::string> kMediaFoundationClearKeyCdmPathForTesting{
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
// Enables the Live Caption feature on supported devices.
|
||||
@@ -97,7 +97,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
|
||||
// Controls whether a "Share this tab instead" button should be shown for
|
||||
// getDisplayMedia captures. Note: This flag does not control if the "Share this
|
||||
@@ -877,9 +877,9 @@ BASE_FEATURE(kLiveCaptionRightClick,
|
||||
@@ -902,9 +902,9 @@ BASE_FEATURE(kLiveCaptionRightClick,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
// Enable or disable Live Caption support for WebAudio.
|
||||
@@ -113,8 +113,8 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
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
|
||||
@@ -1611,6 +1611,10 @@ BASE_FEATURE(kStylusPointerAdjustment,
|
||||
"StylusPointerAdjustment",
|
||||
@@ -657,6 +657,10 @@ BASE_FEATURE(kDirectCompositorThreadIpc,
|
||||
"DirectCompositorThreadIpc",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+BASE_FEATURE(kDisableSpeechSynthesisVoiceList,
|
||||
@@ -127,9 +127,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
|
||||
@@ -823,6 +823,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAndroidExtendedKeyboardShortcuts);
|
||||
// enabling functions like writing into a nearby input element.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kStylusPointerAdjustment);
|
||||
@@ -330,6 +330,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDesktopPWAsTabStripCustomizations);
|
||||
// hopping through the IO thread first.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDirectCompositorThreadIpc);
|
||||
|
||||
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDisableSpeechSynthesisVoiceList);
|
||||
+
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Wed, 23 Aug 2023 13:49:19 +0000
|
||||
Subject: Enable Android Dynamic Performance Framework
|
||||
|
||||
---
|
||||
chrome/version.gni | 2 +-
|
||||
components/viz/common/features.cc | 5 +++--
|
||||
2 files changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/chrome/version.gni b/chrome/version.gni
|
||||
--- a/chrome/version.gni
|
||||
+++ b/chrome/version.gni
|
||||
@@ -68,7 +68,7 @@ if (is_mac) {
|
||||
_version_dictionary_template += "trichrome_auto_64_32_version_code = \"@TRICHROME_AUTO_64_32_VERSION_CODE@\" "
|
||||
_version_dictionary_template +=
|
||||
"trichrome_64_version_code = \"@TRICHROME_64_VERSION_CODE@\" "
|
||||
- if (target_cpu == "arm64") {
|
||||
+ if (target_cpu == "arm64" || target_cpu == "x64") {
|
||||
_version_dictionary_template += "trichrome_64_32_high_version_code = \"@TRICHROME_64_32_HIGH_VERSION_CODE@\" "
|
||||
}
|
||||
_version_dictionary_template +=
|
||||
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
|
||||
--- a/components/viz/common/features.cc
|
||||
+++ b/components/viz/common/features.cc
|
||||
@@ -286,9 +286,10 @@ const base::FeatureParam<double> kADPFMidFrameBoostDurationMultiplier{
|
||||
|
||||
// If enabled, Chrome includes the Renderer Main thread(s) into the
|
||||
// ADPF(Android Dynamic Performance Framework) hint session.
|
||||
+// see https://source.chromium.org/chromium/chromium/src/+/e7507d15614ac7f499fb89086b3a09772fa8deb4
|
||||
BASE_FEATURE(kEnableADPFRendererMain,
|
||||
- "EnableADPFRendererMain",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "EnableADPFRendererMain", // enabled
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // by default
|
||||
|
||||
bool IsDelegatedCompositingEnabled() {
|
||||
return base::FeatureList::IsEnabled(kDelegatedCompositing);
|
||||
--
|
||||
2.25.1
|
||||
@@ -3,14 +3,14 @@ Date: Tue, 28 Mar 2023 15:43:18 +0000
|
||||
Subject: Enable Document Open Inheritance Removal
|
||||
|
||||
---
|
||||
.../blink/renderer/core/dom/document.cc | 51 -------------------
|
||||
.../platform/runtime_enabled_features.json5 | 3 +-
|
||||
2 files changed, 1 insertion(+), 53 deletions(-)
|
||||
.../blink/renderer/core/dom/document.cc | 64 -------------------
|
||||
.../platform/runtime_enabled_features.json5 | 1 -
|
||||
2 files changed, 65 deletions(-)
|
||||
|
||||
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
|
||||
@@ -3359,57 +3359,6 @@ void Document::open(LocalDOMWindow* entered_window,
|
||||
@@ -3384,70 +3384,6 @@ void Document::open(LocalDOMWindow* entered_window,
|
||||
// https://chromestatus.com/metrics/feature/timeline/popularity/4375
|
||||
CountUse(WebFeature::kDocumentOpenMutateSandbox);
|
||||
}
|
||||
@@ -38,11 +38,24 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
- // not considered to produce new documents. No IPCs are sent, it is as
|
||||
- // if it was a no-op.
|
||||
- //
|
||||
- // TODO(https://crbug.com/1360795) Remove this
|
||||
- // TODO(https://crbug.com/1360795) Remove this. Only Chrome implements
|
||||
- // it. Safari/Firefox do not.
|
||||
- dom_window_->GetSecurityContext().SetSandboxFlags(
|
||||
- dom_window_->GetSecurityContext().GetSandboxFlags() |
|
||||
- entered_window->GetSandboxFlags());
|
||||
- }
|
||||
-
|
||||
- // We would like to remove this block. See:
|
||||
- // https://docs.google.com/document/d/1_89X4cNUab-PZE0iBDTKIftaQZsFbk7SbFmHbqY54os
|
||||
- //
|
||||
- // This is not specified. Only Webkit/Blink implement it. Gecko doesn't.
|
||||
- //
|
||||
- // 2023-06-02: Removal would impact 0.02% page load.
|
||||
- // https://chromestatus.com/metrics/feature/timeline/popularity/4535
|
||||
- // We hope the document.domain deprecation is going to drive this number
|
||||
- // down quickly:
|
||||
- // https://developer.chrome.com/blog/document-domain-setter-deprecation/
|
||||
- if (!RuntimeEnabledFeatures::DocumentOpenOriginAliasRemovalEnabled()) {
|
||||
- dom_window_->GetSecurityContext().SetSecurityOrigin(
|
||||
- entered_window->GetMutableSecurityOrigin());
|
||||
-
|
||||
@@ -71,13 +84,11 @@ 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
|
||||
@@ -1419,8 +1419,7 @@
|
||||
},
|
||||
@@ -1439,7 +1439,6 @@
|
||||
{
|
||||
name: "DocumentOpenSandboxInheritanceRemoval",
|
||||
- status: "experimental",
|
||||
status: "stable",
|
||||
- copied_from_base_feature_if: "overridden",
|
||||
+ status: "stable",
|
||||
},
|
||||
{
|
||||
name: "DocumentPictureInPictureAPI",
|
||||
|
||||
@@ -10,7 +10,7 @@ Subject: Evict the entire FrameTree like desktop
|
||||
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
|
||||
--- a/components/viz/common/features.cc
|
||||
+++ b/components/viz/common/features.cc
|
||||
@@ -233,7 +233,7 @@ BASE_FEATURE(kRendererAllocatesImages,
|
||||
@@ -231,7 +231,7 @@ BASE_FEATURE(kRendererAllocatesImages,
|
||||
// evicts itself. This differs from Destkop platforms which evict the entire
|
||||
// FrameTree along with the topmost viz::Surface. When this feature is enabled,
|
||||
// Android will begin also evicting the entire FrameTree.
|
||||
@@ -22,7 +22,7 @@ diff --git a/components/viz/common/features.cc b/components/viz/common/features.
|
||||
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
|
||||
@@ -569,8 +569,8 @@ BASE_FEATURE(kInMemoryCodeCache,
|
||||
@@ -564,8 +564,8 @@ BASE_FEATURE(kInMemoryCodeCache,
|
||||
// frames. Otherwise only toplevel frames and OOPIF are handled, and other
|
||||
// cases, e.g. PDF tiles are ignored. See https://crbug.com/1360351 for details.
|
||||
BASE_FEATURE(kInnerFrameCompositorSurfaceEviction,
|
||||
|
||||
@@ -96,6 +96,7 @@ suit Bromite logic
|
||||
.../subscription/subscription_updater_impl.cc | 8 +-
|
||||
.../subscription_validator_impl.cc | 4 +-
|
||||
components/adblock/features.gni | 44 -
|
||||
.../browser/bromite_content_settings/ads.inc | 3 +
|
||||
components/resources/BUILD.gn | 1 -
|
||||
components/resources/adblock_resources.grdp | 3 -
|
||||
components/resources/adblocking/.gitignore | 2 +-
|
||||
@@ -108,7 +109,7 @@ suit Bromite logic
|
||||
.../blink/renderer/core/css/style_engine.h | 1 +
|
||||
.../renderer/core/exported/web_document.cc | 13 +-
|
||||
.../definitions/adblock_private.d.ts | 14 +
|
||||
103 files changed, 5038 insertions(+), 1296 deletions(-)
|
||||
104 files changed, 5041 insertions(+), 1296 deletions(-)
|
||||
delete mode 100644 chrome/browser/adblock/adblock_telemetry_service_factory.cc
|
||||
delete mode 100644 chrome/browser/adblock/adblock_telemetry_service_factory.h
|
||||
create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.html
|
||||
@@ -120,6 +121,7 @@ suit Bromite logic
|
||||
delete mode 100644 components/adblock/core/adblock_telemetry_service.h
|
||||
create mode 100644 components/adblock/core/converter/parser/test/test_rules.txt
|
||||
delete mode 100644 components/adblock/features.gni
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/ads.inc
|
||||
create mode 100755 components/resources/adblocking/snippets/dist/isolated-first.jst
|
||||
create mode 100755 components/resources/adblocking/snippets/dist/isolated-first.source.jst
|
||||
|
||||
@@ -140,7 +142,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:orderingFromXml="false">
|
||||
@@ -106,7 +97,7 @@ Use of this source code is governed by the GPLv3 that can be found in the compon
|
||||
@@ -101,7 +92,7 @@ Use of this source code is governed by the GPLv3 that can be found in the compon
|
||||
android:title="@string/prefs_accessibility"/>
|
||||
<Preference
|
||||
android:fragment="org.chromium.components.adblock.settings.AdblockSettingsFragment"
|
||||
@@ -152,7 +154,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -163,8 +163,6 @@ static_library("browser") {
|
||||
@@ -165,8 +165,6 @@ static_library("browser") {
|
||||
"adblock/adblock_content_browser_client.h",
|
||||
"adblock/adblock_controller_factory.cc",
|
||||
"adblock/adblock_controller_factory.h",
|
||||
@@ -180,7 +182,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
|
||||
+ content::RenderFrameHost* embedder = frame->GetOutermostMainFrameOrEmbedder();
|
||||
+ const auto& embedder_url = embedder->GetLastCommittedURL();
|
||||
+ HostContentSettingsMap* settings_map = HostContentSettingsMapFactory::GetForProfile(profile);
|
||||
+ if (settings_map->GetContentSetting(embedder_url, GURL(), ContentSettingsType::ADS)
|
||||
+ if (settings_map && settings_map->GetContentSetting(embedder_url, GURL(), ContentSettingsType::ADS)
|
||||
+ == CONTENT_SETTING_ALLOW) {
|
||||
+ return false;
|
||||
+ }
|
||||
@@ -815,7 +817,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
#include "chrome/browser/adblock/content_security_policy_injector_factory.h"
|
||||
#include "chrome/browser/adblock/element_hider_factory.h"
|
||||
#include "chrome/browser/adblock/resource_classification_runner_factory.h"
|
||||
@@ -652,7 +651,6 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
@@ -683,7 +682,6 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
ExitTypeServiceFactory::GetInstance();
|
||||
#endif
|
||||
adblock::AdblockControllerFactory::GetInstance();
|
||||
@@ -834,7 +836,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
|
||||
"appearance_page/appearance_fonts_page.ts",
|
||||
"appearance_page/appearance_page.ts",
|
||||
"appearance_page/home_url_input.ts",
|
||||
@@ -375,6 +376,7 @@ build_webui("build") {
|
||||
@@ -381,6 +382,7 @@ build_webui("build") {
|
||||
ts_composite = true
|
||||
ts_definitions = [
|
||||
"//tools/typescript/definitions/autofill_private.d.ts",
|
||||
@@ -1387,7 +1389,7 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -167,6 +167,10 @@ function createBrowserSettingsRoutes(): SettingsRoutes {
|
||||
@@ -176,6 +176,10 @@ function createBrowserSettingsRoutes(): SettingsRoutes {
|
||||
r.FONTS = r.APPEARANCE.createChild('/fonts');
|
||||
}
|
||||
|
||||
@@ -1423,7 +1425,7 @@ diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/reso
|
||||
diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html b/chrome/browser/resources/settings/settings_menu/settings_menu.html
|
||||
--- a/chrome/browser/resources/settings/settings_menu/settings_menu.html
|
||||
+++ b/chrome/browser/resources/settings/settings_menu/settings_menu.html
|
||||
@@ -139,6 +139,11 @@
|
||||
@@ -134,6 +134,11 @@
|
||||
$i18n{a11yPageTitle}
|
||||
<paper-ripple></paper-ripple>
|
||||
</a>
|
||||
@@ -1438,7 +1440,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
|
||||
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
|
||||
@@ -339,6 +339,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -345,6 +345,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1447,7 +1449,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
|
||||
AdblockWebContentObserver::CreateForWebContents(
|
||||
web_contents,
|
||||
adblock::SubscriptionServiceFactory::GetForBrowserContext(
|
||||
@@ -347,7 +349,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -353,7 +355,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
web_contents->GetBrowserContext()),
|
||||
adblock::SitekeyStorageFactory::GetForBrowserContext(
|
||||
web_contents->GetBrowserContext()),
|
||||
@@ -1516,9 +1518,9 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
import("//chromeos/ash/components/assistant/assistant.gni")
|
||||
-import("//components/adblock/features.gni")
|
||||
import("//components/captive_portal/core/features.gni")
|
||||
import("//components/enterprise/buildflags/buildflags.gni")
|
||||
import("//components/feed/features.gni")
|
||||
import("//components/lens/features.gni")
|
||||
@@ -2569,10 +2568,6 @@ if (!is_android) {
|
||||
@@ -2544,10 +2543,6 @@ if (!is_android) {
|
||||
sources += [ "../browser/chrome_for_testing/chrome_for_testing_info_bar_browsertest.cc" ]
|
||||
}
|
||||
|
||||
@@ -4435,6 +4437,14 @@ deleted file mode 100644
|
||||
- # special URLs. This is used for internal automated testing (see DPD-1407).
|
||||
- eyeo_intercept_debug_url = false
|
||||
-}
|
||||
diff --git a/components/content_settings/core/browser/bromite_content_settings/ads.inc b/components/content_settings/core/browser/bromite_content_settings/ads.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/content_settings/core/browser/bromite_content_settings/ads.inc
|
||||
@@ -0,0 +1,3 @@
|
||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||
+ ->GetMutable(ContentSettingsType::ADS)
|
||||
+ ->set_show_into_info_page();
|
||||
diff --git a/components/resources/BUILD.gn b/components/resources/BUILD.gn
|
||||
--- a/components/resources/BUILD.gn
|
||||
+++ b/components/resources/BUILD.gn
|
||||
@@ -8237,7 +8247,7 @@ new file mode 100755
|
||||
diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/blink/renderer/core/css/style_engine.cc
|
||||
--- a/third_party/blink/renderer/core/css/style_engine.cc
|
||||
+++ b/third_party/blink/renderer/core/css/style_engine.cc
|
||||
@@ -597,6 +597,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow(
|
||||
@@ -600,6 +600,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8255,7 +8265,7 @@ diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/b
|
||||
diff --git a/third_party/blink/renderer/core/css/style_engine.h b/third_party/blink/renderer/core/css/style_engine.h
|
||||
--- a/third_party/blink/renderer/core/css/style_engine.h
|
||||
+++ b/third_party/blink/renderer/core/css/style_engine.h
|
||||
@@ -240,6 +240,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
|
||||
@@ -242,6 +242,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
|
||||
const ComputedStyle* embedder_style) const;
|
||||
void ViewportStyleSettingChanged();
|
||||
|
||||
|
||||
@@ -32,9 +32,9 @@ fonts-fingerprint-mitigation flag, which is active by default.
|
||||
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
|
||||
@@ -9992,6 +9992,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kClipboardUnsanitizedContentDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(blink::features::kClipboardUnsanitizedContent)},
|
||||
@@ -10012,6 +10012,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
kClipboardMaximumAgeVariations,
|
||||
"ClipboardMaximumAge")},
|
||||
|
||||
+ {"fonts-fingerprint-mitigation",
|
||||
+ flag_descriptions::kFontsFingerprintMitigationName,
|
||||
@@ -47,7 +47,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -135,6 +135,11 @@ const char kClipboardUnsanitizedContentDescription[] =
|
||||
@@ -140,6 +140,11 @@ const char kClipboardUnsanitizedContentDescription[] =
|
||||
"Allows reading/writing unsanitized content from/to the clipboard. "
|
||||
"Currently, it is only applicable to HTML format. See crbug.com/1268679.";
|
||||
|
||||
@@ -62,15 +62,15 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -112,6 +112,9 @@ extern const char kClickToCallDescription[];
|
||||
@@ -115,6 +115,9 @@ extern const char kClickToCallDescription[];
|
||||
extern const char kClipboardUnsanitizedContentName[];
|
||||
extern const char kClipboardUnsanitizedContentDescription[];
|
||||
|
||||
+extern const char kFontsFingerprintMitigationName[];
|
||||
+extern const char kFontsFingerprintMitigationDescription[];
|
||||
+
|
||||
extern const char kContentLanguagesInLanguagePickerName[];
|
||||
extern const char kContentLanguagesInLanguagePickerDescription[];
|
||||
extern const char kClipboardMaximumAgeName[];
|
||||
extern const char kClipboardMaximumAgeDescription[];
|
||||
|
||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
@@ -84,7 +84,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Use chromim's implementation of selection magnifier built using surface
|
||||
@@ -506,7 +506,7 @@ const base::FeatureParam<base::TimeDelta>
|
||||
@@ -501,7 +501,7 @@ const base::FeatureParam<base::TimeDelta>
|
||||
// enables a font indexer on Android which we need to test in the field first.
|
||||
BASE_FEATURE(kFontSrcLocalMatching,
|
||||
"FontSrcLocalMatching",
|
||||
@@ -146,18 +146,18 @@ diff --git a/skia/ext/skia_utils_win.h b/skia/ext/skia_utils_win.h
|
||||
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
|
||||
@@ -151,7 +151,7 @@ BASE_FEATURE(kExcludeLowEntropyImagesFromLCP,
|
||||
const base::FeatureParam<double> kMinimumEntropyForLCP{
|
||||
&kExcludeLowEntropyImagesFromLCP, "min_bpp", 2};
|
||||
@@ -888,7 +888,7 @@ BASE_FEATURE(kFrequencyCappingForOverlayPopupDetection,
|
||||
"FrequencyCappingForOverlayPopupDetection",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
-BASE_FEATURE(kGMSCoreEmoji, "GMSCoreEmoji", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+BASE_FEATURE(kGMSCoreEmoji, "GMSCoreEmoji", base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
// Enable defer commits to avoid flash of unstyled content, for same origin
|
||||
// navigation only.
|
||||
@@ -1619,6 +1619,10 @@ BASE_FEATURE(kClipboardUnsanitizedContent,
|
||||
"ClipboardUnsanitizedContent",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
BASE_FEATURE(kGainmapHdrImages,
|
||||
"GainmapHdrImages",
|
||||
@@ -1837,6 +1837,10 @@ BASE_FEATURE(kWebRtcH264WithOpenH264FFmpeg,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
#endif // BUILDFLAG(RTC_USE_H264) && BUILDFLAG(ENABLE_FFMPEG_VIDEO_DECODERS)
|
||||
|
||||
+BASE_FEATURE(kFontsFingerprintMitigation,
|
||||
+ "FontsFingerprintMitigation",
|
||||
@@ -169,20 +169,20 @@ 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
|
||||
@@ -840,6 +840,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCheckHTMLParserBudgetLessOften);
|
||||
// it is only applicable to HTML format. See crbug.com/1268679.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kClipboardUnsanitizedContent);
|
||||
@@ -239,6 +239,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kClipboardUnsanitizedContent);
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCompressParkableStrings);
|
||||
|
||||
+// Filter the list of fonts allowing the use of only standard fonts
|
||||
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kFontsFingerprintMitigation);
|
||||
+
|
||||
// Make RTCVideoEncoder::Encode() asynchronous.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebRtcEncoderAsyncEncode);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kConsumeCodeCacheOffThread);
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kContentCaptureConstantStreaming);
|
||||
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
|
||||
@@ -724,6 +724,7 @@ component("platform") {
|
||||
@@ -732,6 +732,7 @@ component("platform") {
|
||||
"fonts/simple_font_data.cc",
|
||||
"fonts/simple_font_data.h",
|
||||
"fonts/skia/font_cache_skia.cc",
|
||||
@@ -193,7 +193,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
|
||||
diff --git a/third_party/blink/renderer/platform/fonts/font_cache.h b/third_party/blink/renderer/platform/fonts/font_cache.h
|
||||
--- a/third_party/blink/renderer/platform/fonts/font_cache.h
|
||||
+++ b/third_party/blink/renderer/platform/fonts/font_cache.h
|
||||
@@ -355,7 +355,7 @@ class PLATFORM_EXPORT FontCache final {
|
||||
@@ -342,7 +342,7 @@ class PLATFORM_EXPORT FontCache final {
|
||||
|
||||
sk_sp<SkTypeface> CreateTypeface(const FontDescription&,
|
||||
const FontFaceCreationParams&,
|
||||
@@ -581,7 +581,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b
|
||||
diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
|
||||
--- a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
|
||||
+++ b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
|
||||
@@ -497,6 +497,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
|
||||
@@ -427,6 +427,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
|
||||
sk_sp<SkTypeface> typeface;
|
||||
|
||||
std::string name;
|
||||
@@ -589,7 +589,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c
|
||||
|
||||
if (alternate_font_name == AlternateFontName::kLocalUniqueFace &&
|
||||
RuntimeEnabledFeatures::FontSrcLocalMatchingEnabled()) {
|
||||
@@ -508,7 +509,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
|
||||
@@ -438,7 +439,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
|
||||
return nullptr;
|
||||
|
||||
} else {
|
||||
@@ -598,7 +598,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c
|
||||
|
||||
// For a family match, Windows will always give us a valid pointer here,
|
||||
// even if the face name is non-existent. We have to double-check and see if
|
||||
@@ -542,7 +543,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
|
||||
@@ -472,7 +473,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
|
||||
FontDescription adjusted_font_description = font_description;
|
||||
adjusted_font_description.SetWeight(variant_weight);
|
||||
typeface =
|
||||
@@ -607,7 +607,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c
|
||||
if (!typeface ||
|
||||
!TypefacesMatchesFamily(typeface.get(), adjusted_name)) {
|
||||
return nullptr;
|
||||
@@ -554,7 +555,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
|
||||
@@ -484,7 +485,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
|
||||
FontDescription adjusted_font_description = font_description;
|
||||
adjusted_font_description.SetStretch(variant_stretch);
|
||||
typeface =
|
||||
|
||||
@@ -27,7 +27,7 @@ in services/firewall/tools/rules.xml
|
||||
services/firewall/tools/codegen.py | 82 ++++
|
||||
services/firewall/tools/decode_template.py | 85 ++++
|
||||
services/firewall/tools/gen_builders.py | 65 +++
|
||||
services/firewall/tools/rules.xml | 81 ++++
|
||||
services/firewall/tools/rules.xml | 83 ++++
|
||||
services/firewall/tools/rules_model.py | 35 ++
|
||||
services/network/network_context.cc | 73 +++
|
||||
.../network/public/cpp/simple_url_loader.cc | 18 +
|
||||
@@ -35,7 +35,7 @@ in services/firewall/tools/rules.xml
|
||||
.../loader/fetch/url_loader/url_loader.cc | 145 +++++-
|
||||
.../scripts/auditor/auditor.py | 1 +
|
||||
.../scripts/auditor/util.py | 1 +
|
||||
28 files changed, 1500 insertions(+), 16 deletions(-)
|
||||
28 files changed, 1502 insertions(+), 16 deletions(-)
|
||||
create mode 100644 services/firewall/public/BUILD.gn
|
||||
create mode 100644 services/firewall/public/firewall_features.cc
|
||||
create mode 100644 services/firewall/public/firewall_features.h
|
||||
@@ -53,7 +53,7 @@ in services/firewall/tools/rules.xml
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -2439,6 +2439,7 @@ static_library("browser") {
|
||||
@@ -2452,6 +2452,7 @@ static_library("browser") {
|
||||
"//third_party/ungoogled:switches",
|
||||
"//services/device/public/mojom",
|
||||
"//services/device/public/mojom:usb",
|
||||
@@ -64,15 +64,15 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -199,6 +199,7 @@
|
||||
@@ -200,6 +200,7 @@
|
||||
#include "sandbox/policy/features.h"
|
||||
#include "sandbox/policy/switches.h"
|
||||
#include "services/device/public/cpp/device_features.h"
|
||||
#include "services/device/public/cpp/serial/serial_switches.h"
|
||||
+#include "services/firewall/public/firewall_service.h"
|
||||
#include "services/media_session/public/cpp/features.h"
|
||||
#include "services/network/public/cpp/features.h"
|
||||
#include "services/network/public/cpp/network_switches.h"
|
||||
@@ -8090,6 +8091,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -8122,6 +8123,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(page_info::kPageInfoHideSiteSettings)},
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -233,7 +233,7 @@ diff --git a/components/webapps/browser/android/webapk/webapk_icon_hasher.cc b/c
|
||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1085,6 +1085,7 @@ component("net") {
|
||||
@@ -1087,6 +1087,7 @@ component("net") {
|
||||
"//build:chromeos_buildflags",
|
||||
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
|
||||
"//net/http:transport_security_state_generated_files",
|
||||
@@ -258,7 +258,7 @@ diff --git a/net/traffic_annotation/network_traffic_annotation.h b/net/traffic_a
|
||||
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
||||
--- a/net/url_request/url_request_http_job.cc
|
||||
+++ b/net/url_request/url_request_http_job.cc
|
||||
@@ -239,6 +239,9 @@ URLRequestHttpJob::URLRequestHttpJob(
|
||||
@@ -240,6 +240,9 @@ URLRequestHttpJob::URLRequestHttpJob(
|
||||
throttling_entry_ = manager->RegisterRequestUrl(request->url());
|
||||
|
||||
ResetTimer();
|
||||
@@ -268,7 +268,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
|
||||
}
|
||||
|
||||
URLRequestHttpJob::~URLRequestHttpJob() {
|
||||
@@ -545,6 +548,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
|
||||
@@ -546,6 +549,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
|
||||
void URLRequestHttpJob::StartTransactionInternal() {
|
||||
DCHECK(!override_response_headers_);
|
||||
|
||||
@@ -1399,7 +1399,7 @@ diff --git a/services/firewall/tools/rules.xml b/services/firewall/tools/rules.x
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/services/firewall/tools/rules.xml
|
||||
@@ -0,0 +1,81 @@
|
||||
@@ -0,0 +1,83 @@
|
||||
+<?xml version="1.0"?>
|
||||
+<!--
|
||||
+ This file is part of Bromite.
|
||||
@@ -1427,6 +1427,8 @@ new file mode 100644
|
||||
+ <!-- started by the user -->
|
||||
+ <item id="download_via_context_menu" allowed="1"/>
|
||||
+ <item id="offline_pages_download_file" allowed="1"/>
|
||||
+ <item id="download_web_contents_frame" allowed="1"/>
|
||||
+ <item id="save_file_manager" allowed="1"/>
|
||||
+
|
||||
+ <!-- Disallow temporarily controlling the revoked list,
|
||||
+ suffers from possible privacy problems -->
|
||||
@@ -1532,7 +1534,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
#include "services/network/brokered_client_socket_factory.h"
|
||||
#include "services/network/cookie_manager.h"
|
||||
#include "services/network/cors/cors_url_loader_factory.h"
|
||||
@@ -1537,6 +1538,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
|
||||
@@ -1566,6 +1567,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
|
||||
void NetworkContext::CreateUDPSocket(
|
||||
mojo::PendingReceiver<mojom::UDPSocket> receiver,
|
||||
mojo::PendingRemote<mojom::UDPSocketListener> listener) {
|
||||
@@ -1542,7 +1544,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener));
|
||||
}
|
||||
|
||||
@@ -1549,6 +1553,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
|
||||
@@ -1578,6 +1582,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
|
||||
mojo::PendingRemote<mojom::UDPSocketListener> listener,
|
||||
CreateRestrictedUDPSocketCallback callback) {
|
||||
// SimpleHostResolver is transitively owned by |this|.
|
||||
@@ -1560,7 +1562,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
socket_factory_->CreateRestrictedUDPSocket(
|
||||
addr, mode, traffic_annotation, std::move(params), std::move(receiver),
|
||||
std::move(listener), SimpleHostResolver::Create(this),
|
||||
@@ -1561,6 +1576,17 @@ void NetworkContext::CreateTCPServerSocket(
|
||||
@@ -1590,6 +1605,17 @@ void NetworkContext::CreateTCPServerSocket(
|
||||
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
|
||||
mojo::PendingReceiver<mojom::TCPServerSocket> receiver,
|
||||
CreateTCPServerSocketCallback callback) {
|
||||
@@ -1578,7 +1580,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
socket_factory_->CreateTCPServerSocket(
|
||||
local_addr, std::move(options),
|
||||
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
|
||||
@@ -1575,6 +1601,21 @@ void NetworkContext::CreateTCPConnectedSocket(
|
||||
@@ -1604,6 +1630,21 @@ void NetworkContext::CreateTCPConnectedSocket(
|
||||
mojo::PendingReceiver<mojom::TCPConnectedSocket> receiver,
|
||||
mojo::PendingRemote<mojom::SocketObserver> observer,
|
||||
CreateTCPConnectedSocketCallback callback) {
|
||||
@@ -1600,7 +1602,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
socket_factory_->CreateTCPConnectedSocket(
|
||||
local_addr, remote_addr_list, std::move(tcp_connected_socket_options),
|
||||
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
|
||||
@@ -1586,6 +1627,20 @@ void NetworkContext::CreateTCPBoundSocket(
|
||||
@@ -1615,6 +1656,20 @@ void NetworkContext::CreateTCPBoundSocket(
|
||||
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
|
||||
mojo::PendingReceiver<mojom::TCPBoundSocket> receiver,
|
||||
CreateTCPBoundSocketCallback callback) {
|
||||
@@ -1621,7 +1623,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
socket_factory_->CreateTCPBoundSocket(
|
||||
local_addr,
|
||||
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
|
||||
@@ -1651,6 +1706,24 @@ void NetworkContext::CreateWebSocket(
|
||||
@@ -1680,6 +1735,24 @@ void NetworkContext::CreateWebSocket(
|
||||
mojo::PendingRemote<mojom::WebSocketAuthenticationHandler> auth_handler,
|
||||
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client,
|
||||
const absl::optional<base::UnguessableToken>& throttling_profile_id) {
|
||||
@@ -1704,7 +1706,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.h b/services/network/
|
||||
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
|
||||
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
|
||||
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
|
||||
@@ -678,23 +678,150 @@ net::NetworkTrafficAnnotationTag URLLoader::Context::GetTrafficAnnotationTag(
|
||||
@@ -654,23 +654,150 @@ net::NetworkTrafficAnnotationTag URLLoader::Context::GetTrafficAnnotationTag(
|
||||
NOTREACHED();
|
||||
[[fallthrough]];
|
||||
|
||||
|
||||
@@ -3,21 +3,30 @@ Date: Mon, 17 Jul 2023 15:24:16 +0000
|
||||
Subject: Keep Side Panel Companion disabled
|
||||
|
||||
---
|
||||
chrome/browser/companion/core/features.cc | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
chrome/browser/companion/core/features.cc | 19 ++++++++++---------
|
||||
.../ui/side_search/side_search_prefs.cc | 2 +-
|
||||
chrome/browser/ui/ui_features.cc | 2 +-
|
||||
components/search_engines/template_url.cc | 2 +-
|
||||
4 files changed, 13 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/companion/core/features.cc b/chrome/browser/companion/core/features.cc
|
||||
--- a/chrome/browser/companion/core/features.cc
|
||||
+++ b/chrome/browser/companion/core/features.cc
|
||||
@@ -19,14 +19,14 @@ namespace features {
|
||||
namespace internal {
|
||||
// This differs from the search companion by providing a separate WebUI that
|
||||
// contains untrusted content in an iframe.
|
||||
@@ -23,17 +23,17 @@ namespace internal {
|
||||
// `kSidePanelCompanion2`. This makes it possible for Companion to be
|
||||
// enabled via multiple field trials (e.g., one that's session consistent, other
|
||||
// that's permanent consistent).
|
||||
-BASE_FEATURE(kSidePanelCompanion,
|
||||
- "SidePanelCompanion",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
-BASE_FEATURE(kSidePanelCompanion2,
|
||||
- "SidePanelCompanion2",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+BASE_FEATURE(kSidePanelCompanion, // keep
|
||||
+ "SidePanelCompanion", // disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
|
||||
+BASE_FEATURE(kSidePanelCompanion2, // keep
|
||||
+ "SidePanelCompanion2", // disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
|
||||
// Dynamically enables the search companion if the user has experiments
|
||||
// enabled.
|
||||
@@ -29,8 +38,8 @@ diff --git a/chrome/browser/companion/core/features.cc b/chrome/browser/companio
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
|
||||
} // namespace internal
|
||||
|
||||
} // namespace features
|
||||
@@ -39,6 +39,7 @@ const char kDisableCheckUserPermissionsForCompanion[] =
|
||||
// When search companion is enabled, show a context menu item that allows the
|
||||
@@ -51,6 +51,7 @@ const char kDisableCheckUserPermissionsForCompanion[] =
|
||||
const char kForceCompanionPinnedState[] = "force-companion-pinned-state";
|
||||
|
||||
bool ShouldOverrideCheckingUserPermissionsForCompanion() {
|
||||
@@ -38,5 +47,41 @@ diff --git a/chrome/browser/companion/core/features.cc b/chrome/browser/companio
|
||||
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
||||
return command_line->HasSwitch(kDisableCheckUserPermissionsForCompanion);
|
||||
}
|
||||
diff --git a/chrome/browser/ui/side_search/side_search_prefs.cc b/chrome/browser/ui/side_search/side_search_prefs.cc
|
||||
--- a/chrome/browser/ui/side_search/side_search_prefs.cc
|
||||
+++ b/chrome/browser/ui/side_search/side_search_prefs.cc
|
||||
@@ -13,7 +13,7 @@ namespace side_search_prefs {
|
||||
const char kSideSearchEnabled[] = "side_search.enabled";
|
||||
|
||||
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
- registry->RegisterBooleanPref(kSideSearchEnabled, true);
|
||||
+ registry->RegisterBooleanPref(kSideSearchEnabled, false);
|
||||
}
|
||||
|
||||
} // namespace side_search_prefs
|
||||
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
|
||||
@@ -95,7 +95,7 @@ BASE_FEATURE(kQuickCommands,
|
||||
|
||||
// Enables the side search feature for Google Search. Presents recent Google
|
||||
// search results in a browser side panel.
|
||||
-BASE_FEATURE(kSideSearch, "SideSearch", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+BASE_FEATURE(kSideSearch, "SideSearch", base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kSideSearchFeedback,
|
||||
"SideSearchFeedback",
|
||||
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
|
||||
--- a/components/search_engines/template_url.cc
|
||||
+++ b/components/search_engines/template_url.cc
|
||||
@@ -1823,7 +1823,7 @@ GURL TemplateURL::GenerateSuggestionURL(
|
||||
}
|
||||
|
||||
bool TemplateURL::IsSideSearchSupported() const {
|
||||
- return !side_search_param().empty();
|
||||
+ return false;
|
||||
}
|
||||
|
||||
bool TemplateURL::IsSideImageSearchSupported() const {
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -13,15 +13,16 @@ keyboard events.
|
||||
.../renderer/core/events/keyboard_event.h | 3 +
|
||||
ui/base/ui_base_features.cc | 8 +++
|
||||
ui/base/ui_base_features.h | 2 +
|
||||
ui/events/event.cc | 3 +-
|
||||
.../dom/dom_keyboard_layout_map_win.cc | 13 ++++
|
||||
.../keycodes/keyboard_code_conversion.cc | 10 ++-
|
||||
ui/events/keycodes/keyboard_code_conversion.h | 2 +-
|
||||
10 files changed, 113 insertions(+), 3 deletions(-)
|
||||
11 files changed, 115 insertions(+), 4 deletions(-)
|
||||
|
||||
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
|
||||
@@ -5092,6 +5092,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -5080,6 +5080,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
|
||||
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
|
||||
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
|
||||
@@ -34,7 +35,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -3161,6 +3161,12 @@ const char kSystemKeyboardLockDescription[] =
|
||||
@@ -3242,6 +3242,12 @@ const char kSystemKeyboardLockDescription[] =
|
||||
"keyboard shortcuts and have the events routed directly to the website "
|
||||
"when in fullscreen mode.";
|
||||
|
||||
@@ -50,7 +51,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1784,6 +1784,9 @@ extern const char kSuppressToolbarCapturesDescription[];
|
||||
@@ -1833,6 +1833,9 @@ extern const char kSuppressToolbarCapturesDescription[];
|
||||
extern const char kSystemKeyboardLockName[];
|
||||
extern const char kSystemKeyboardLockDescription[];
|
||||
|
||||
@@ -211,6 +212,20 @@ diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h
|
||||
COMPONENT_EXPORT(UI_BASE_FEATURES)
|
||||
BASE_DECLARE_FEATURE(kUiCompositorScrollWithLayers);
|
||||
|
||||
diff --git a/ui/events/event.cc b/ui/events/event.cc
|
||||
--- a/ui/events/event.cc
|
||||
+++ b/ui/events/event.cc
|
||||
@@ -1096,8 +1096,9 @@ char16_t KeyEvent::GetCharacter() const {
|
||||
// consult the keyboard layout to retrieve the shifted character but we
|
||||
// only supported US layout for this case in the past, so we only
|
||||
// support this behavior.
|
||||
+ int need_shit;
|
||||
if (char16_t maybe_character = DomCodeToUsLayoutCharacter(
|
||||
- UsLayoutDomKeyToDomCode(key_), EF_SHIFT_DOWN);
|
||||
+ UsLayoutDomKeyToDomCode(key_, &need_shit), EF_SHIFT_DOWN);
|
||||
maybe_character) {
|
||||
shifted_character = maybe_character;
|
||||
}
|
||||
diff --git a/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc b/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc
|
||||
--- a/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc
|
||||
+++ b/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc
|
||||
@@ -244,7 +259,7 @@ diff --git a/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc b/ui/events/k
|
||||
diff --git a/ui/events/keycodes/keyboard_code_conversion.cc b/ui/events/keycodes/keyboard_code_conversion.cc
|
||||
--- a/ui/events/keycodes/keyboard_code_conversion.cc
|
||||
+++ b/ui/events/keycodes/keyboard_code_conversion.cc
|
||||
@@ -293,16 +293,22 @@ int ModifierDomKeyToEventFlag(DomKey key) {
|
||||
@@ -216,16 +216,22 @@ int ModifierDomKeyToEventFlag(DomKey key) {
|
||||
// DomKey::SYMBOL_LOCK
|
||||
}
|
||||
|
||||
@@ -272,7 +287,7 @@ diff --git a/ui/events/keycodes/keyboard_code_conversion.cc b/ui/events/keycodes
|
||||
diff --git a/ui/events/keycodes/keyboard_code_conversion.h b/ui/events/keycodes/keyboard_code_conversion.h
|
||||
--- a/ui/events/keycodes/keyboard_code_conversion.h
|
||||
+++ b/ui/events/keycodes/keyboard_code_conversion.h
|
||||
@@ -111,7 +111,7 @@ EVENTS_BASE_EXPORT int ModifierDomKeyToEventFlag(DomKey key);
|
||||
@@ -99,7 +99,7 @@ EVENTS_BASE_EXPORT int ModifierDomKeyToEventFlag(DomKey key);
|
||||
|
||||
// Returns the physical DOM code along with a corresponding non-located
|
||||
// Windows-based key_code.
|
||||
|
||||
@@ -8,23 +8,24 @@ to extract or send otherwise inaccessible information.
|
||||
under enable-log-dangling-attributes about flag
|
||||
---
|
||||
chrome/browser/about_flags.cc | 5 ++++-
|
||||
.../blink/renderer/core/dom/document.cc | 18 +++++++++++++++++
|
||||
.../blink/renderer/core/dom/element.cc | 20 ++++++++++++++++++-
|
||||
.../blink/renderer/core/dom/document.cc | 18 +++++++++++++++
|
||||
.../blink/renderer/core/dom/element.cc | 20 ++++++++++++++++-
|
||||
third_party/blink/renderer/core/dom/element.h | 3 ++-
|
||||
.../editing/serializers/markup_formatter.cc | 9 +++++++++
|
||||
.../renderer/core/html/html_base_element.cc | 6 ++++++
|
||||
.../editing/serializers/markup_formatter.cc | 9 ++++++++
|
||||
.../renderer/core/html/html_base_element.cc | 6 +++++
|
||||
.../renderer/core/html/html_base_element.h | 2 ++
|
||||
.../core/html/html_frame_element_base.cc | 10 ++++++++++
|
||||
.../renderer/core/html/html_iframe_element.cc | 16 +++++++++++++++
|
||||
.../core/html/html_frame_element_base.cc | 10 +++++++++
|
||||
.../renderer/core/html/html_iframe_element.cc | 16 ++++++++++++++
|
||||
.../renderer/core/html/html_iframe_element.h | 2 ++
|
||||
.../blink/renderer/core/page/frame_tree.cc | 16 +++++++++++++++
|
||||
.../platform/runtime_enabled_features.json5 | 10 ++++++++--
|
||||
12 files changed, 112 insertions(+), 5 deletions(-)
|
||||
.../core/loader/frame_load_request.cc | 9 ++++++++
|
||||
.../blink/renderer/core/page/frame_tree.cc | 22 +++++++++++++++++++
|
||||
.../platform/runtime_enabled_features.json5 | 10 +++++++--
|
||||
13 files changed, 127 insertions(+), 5 deletions(-)
|
||||
|
||||
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
|
||||
@@ -5043,7 +5043,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -5031,7 +5031,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebShareDescription, kOsWin | kOsCrOS | kOsMac,
|
||||
FEATURE_VALUE_TYPE(features::kWebShare)},
|
||||
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
|
||||
@@ -39,7 +40,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -4480,6 +4480,14 @@ void Document::ProcessBaseElement() {
|
||||
@@ -4512,6 +4512,14 @@ void Document::ProcessBaseElement() {
|
||||
KURL base_element_url;
|
||||
if (href) {
|
||||
String stripped_href = StripLeadingAndTrailingHTMLSpaces(*href);
|
||||
@@ -54,7 +55,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
if (!stripped_href.empty())
|
||||
base_element_url = KURL(FallbackBaseURL(), stripped_href);
|
||||
}
|
||||
@@ -4498,6 +4506,14 @@ void Document::ProcessBaseElement() {
|
||||
@@ -4530,6 +4538,14 @@ void Document::ProcessBaseElement() {
|
||||
!GetExecutionContext()->GetSecurityOrigin()->CanRequest(
|
||||
base_element_url)) {
|
||||
UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref);
|
||||
@@ -69,7 +70,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4517,6 +4533,8 @@ void Document::ProcessBaseElement() {
|
||||
@@ -4549,6 +4565,8 @@ void Document::ProcessBaseElement() {
|
||||
if (target->Contains('<'))
|
||||
UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget);
|
||||
base_target_ = *target;
|
||||
@@ -81,7 +82,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
|
||||
--- a/third_party/blink/renderer/core/dom/element.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/element.cc
|
||||
@@ -2531,8 +2531,26 @@ void Element::StripScriptingAttributes(
|
||||
@@ -2564,8 +2564,26 @@ void Element::StripScriptingAttributes(
|
||||
attribute_vector.Shrink(destination);
|
||||
}
|
||||
|
||||
@@ -199,7 +200,7 @@ diff --git a/third_party/blink/renderer/core/html/html_frame_element_base.cc b/t
|
||||
diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third_party/blink/renderer/core/html/html_iframe_element.cc
|
||||
--- a/third_party/blink/renderer/core/html/html_iframe_element.cc
|
||||
+++ b/third_party/blink/renderer/core/html/html_iframe_element.cc
|
||||
@@ -167,6 +167,12 @@ void HTMLIFrameElement::CollectStyleForPresentationAttribute(
|
||||
@@ -157,6 +157,12 @@ void HTMLIFrameElement::CollectStyleForPresentationAttribute(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,7 +213,7 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third
|
||||
void HTMLIFrameElement::ParseAttribute(
|
||||
const AttributeModificationParams& params) {
|
||||
const QualifiedName& name = params.name;
|
||||
@@ -181,6 +187,16 @@ void HTMLIFrameElement::ParseAttribute(
|
||||
@@ -171,6 +177,16 @@ void HTMLIFrameElement::ParseAttribute(
|
||||
}
|
||||
AtomicString old_name = name_;
|
||||
name_ = value;
|
||||
@@ -241,6 +242,32 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.h b/third_
|
||||
private:
|
||||
void SetCollapsed(bool) override;
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/loader/frame_load_request.cc b/third_party/blink/renderer/core/loader/frame_load_request.cc
|
||||
--- a/third_party/blink/renderer/core/loader/frame_load_request.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/frame_load_request.cc
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "third_party/blink/public/platform/web_url_request.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/capture_source_location.h"
|
||||
#include "third_party/blink/renderer/core/events/current_input_event.h"
|
||||
+#include "third_party/blink/renderer/core/inspector/console_message.h"
|
||||
#include "third_party/blink/renderer/core/fileapi/public_url_manager.h"
|
||||
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
|
||||
#include "third_party/blink/renderer/platform/bindings/dom_wrapper_world.h"
|
||||
@@ -134,6 +135,14 @@ const LocalFrameToken* FrameLoadRequest::GetInitiatorFrameToken() const {
|
||||
const AtomicString& FrameLoadRequest::CleanNavigationTarget(
|
||||
const AtomicString& target) const {
|
||||
if (ContainsNewLineAndLessThan(target)) {
|
||||
+ if (RuntimeEnabledFeatures::LogDanglingAttributesEnabled()) {
|
||||
+ if (origin_window_->GetFrame() && origin_window_->GetFrame()->GetDocument()) {
|
||||
+ origin_window_->GetFrame()->GetDocument()->AddConsoleMessage(MakeGarbageCollected<ConsoleMessage>(
|
||||
+ mojom::ConsoleMessageSource::kSecurity,
|
||||
+ mojom::ConsoleMessageLevel::kWarning,
|
||||
+ "Bromite Dangling Markup Prevention: '" + target + "' is not allowed as navigation target"));
|
||||
+ }
|
||||
+ }
|
||||
LogDanglingMarkupHistogram(origin_window_, target);
|
||||
if (RuntimeEnabledFeatures::RemoveDanglingMarkupInTargetEnabled()) {
|
||||
DEFINE_STATIC_LOCAL(const AtomicString, blank, ("_blank"));
|
||||
diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/blink/renderer/core/page/frame_tree.cc
|
||||
--- a/third_party/blink/renderer/core/page/frame_tree.cc
|
||||
+++ b/third_party/blink/renderer/core/page/frame_tree.cc
|
||||
@@ -254,9 +281,22 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl
|
||||
#include "third_party/blink/renderer/core/frame/frame_client.h"
|
||||
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
|
||||
#include "third_party/blink/renderer/core/frame/local_frame.h"
|
||||
@@ -239,6 +242,19 @@ FrameTree::FindResult FrameTree::FindOrCreateFrameForNavigation(
|
||||
LogDanglingMarkupHistogram(current_frame->GetDocument(), name);
|
||||
}
|
||||
@@ -42,6 +45,12 @@ namespace {
|
||||
|
||||
const unsigned kInvalidChildCount = ~0U;
|
||||
|
||||
+bool ContainsNewLineAndLessThan(const AtomicString& target) {
|
||||
+ return (target.Contains('\n') || target.Contains('\r') ||
|
||||
+ target.Contains('\t')) &&
|
||||
+ target.Contains('<');
|
||||
+}
|
||||
+
|
||||
} // namespace
|
||||
|
||||
FrameTree::FrameTree(Frame* this_frame)
|
||||
@@ -210,6 +219,19 @@ FrameTree::FindResult FrameTree::FindOrCreateFrameForNavigation(
|
||||
if (request.GetNavigationPolicy() != kNavigationPolicyCurrentTab)
|
||||
return FindResult(current_frame, false);
|
||||
|
||||
+ if (ContainsNewLineAndLessThan(name)) {
|
||||
+ // if the name contains a \n or <, the search is always deactivated
|
||||
@@ -277,7 +317,7 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -1493,8 +1493,8 @@
|
||||
@@ -1514,8 +1514,8 @@
|
||||
// Experiment with preventing some instances of mutation XSS
|
||||
// by escaping "<" and ">" in attribute values.
|
||||
// See: crbug.com/1175016
|
||||
@@ -287,8 +327,8 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+ status: "stable",
|
||||
},
|
||||
{
|
||||
// Non-standard API Event.path. Should be replaced by Event.composedPath.
|
||||
@@ -2196,6 +2196,12 @@
|
||||
name: "EventTimingInteractionCount",
|
||||
@@ -2214,6 +2214,12 @@
|
||||
// Use LongAnimationFrameMonitor to emit longtask entries
|
||||
name: "LongTaskFromLongAnimationFrame"
|
||||
},
|
||||
|
||||
@@ -470,7 +470,7 @@ diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_
|
||||
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
|
||||
--- a/net/socket/ssl_client_socket_impl.cc
|
||||
+++ b/net/socket/ssl_client_socket_impl.cc
|
||||
@@ -1343,7 +1343,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
@@ -1336,7 +1336,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
IsCertStatusError(server_cert_verify_result_.cert_status) &&
|
||||
result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED &&
|
||||
context_->transport_security_state()->ShouldSSLErrorsBeFatal(
|
||||
@@ -506,7 +506,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
|
||||
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
||||
--- a/net/url_request/url_request_http_job.cc
|
||||
+++ b/net/url_request/url_request_http_job.cc
|
||||
@@ -203,7 +203,7 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
@@ -204,7 +204,7 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
// Check for HSTS upgrade.
|
||||
TransportSecurityState* hsts =
|
||||
request->context()->transport_security_state();
|
||||
@@ -515,7 +515,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
|
||||
return std::make_unique<URLRequestRedirectJob>(
|
||||
request, UpgradeSchemeToCryptographic(url),
|
||||
// Use status code 307 to preserve the method, so POST requests work.
|
||||
@@ -992,7 +992,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
|
||||
@@ -993,7 +993,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
|
||||
HttpResponseHeaders* headers = GetResponseHeaders();
|
||||
std::string value;
|
||||
if (headers->EnumerateHeader(nullptr, "Strict-Transport-Security", &value))
|
||||
@@ -524,7 +524,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
|
||||
}
|
||||
|
||||
void URLRequestHttpJob::OnStartCompleted(int result) {
|
||||
@@ -1062,7 +1062,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) {
|
||||
@@ -1063,7 +1063,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) {
|
||||
TransportSecurityState* state = context->transport_security_state();
|
||||
NotifySSLCertificateError(
|
||||
result, transaction_->GetResponseInfo()->ssl_info,
|
||||
@@ -536,7 +536,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -1799,17 +1799,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
|
||||
@@ -1828,17 +1828,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
|
||||
std::move(callback).Run();
|
||||
}
|
||||
|
||||
@@ -559,7 +559,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
IsHSTSActiveForHostCallback callback) {
|
||||
net::TransportSecurityState* security_state =
|
||||
url_request_context_->transport_security_state();
|
||||
@@ -1819,10 +1821,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
|
||||
@@ -1848,10 +1850,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -572,7 +572,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
GetHSTSStateCallback callback) {
|
||||
base::Value::Dict result;
|
||||
|
||||
@@ -1858,10 +1860,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
@@ -1887,10 +1889,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
net::TransportSecurityState::STSState dynamic_sts_state;
|
||||
net::TransportSecurityState::PKPState dynamic_pkp_state;
|
||||
bool found_sts_dynamic = transport_security_state->GetDynamicSTSState(
|
||||
@@ -585,7 +585,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
if (found_sts_dynamic) {
|
||||
result.Set("dynamic_upgrade_mode",
|
||||
static_cast<int>(dynamic_sts_state.upgrade_mode));
|
||||
@@ -1897,6 +1899,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
@@ -1926,6 +1928,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
}
|
||||
|
||||
void NetworkContext::DeleteDynamicDataForHost(
|
||||
@@ -593,7 +593,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
const std::string& host,
|
||||
DeleteDynamicDataForHostCallback callback) {
|
||||
net::TransportSecurityState* transport_security_state =
|
||||
@@ -1907,7 +1910,7 @@ void NetworkContext::DeleteDynamicDataForHost(
|
||||
@@ -1936,7 +1939,7 @@ void NetworkContext::DeleteDynamicDataForHost(
|
||||
}
|
||||
|
||||
std::move(callback).Run(
|
||||
@@ -602,7 +602,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
}
|
||||
|
||||
void NetworkContext::EnableStaticKeyPinningForTesting(
|
||||
@@ -1948,7 +1951,7 @@ void NetworkContext::PreconnectSockets(
|
||||
@@ -1977,7 +1980,7 @@ void NetworkContext::PreconnectSockets(
|
||||
DCHECK(!require_network_anonymization_key_ ||
|
||||
!network_anonymization_key.IsEmpty());
|
||||
|
||||
@@ -611,7 +611,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
|
||||
// |PreconnectSockets| may receive arguments from the renderer, which is not
|
||||
// guaranteed to validate them.
|
||||
@@ -2736,12 +2739,15 @@ void NetworkContext::OnConnectionError() {
|
||||
@@ -2767,12 +2770,15 @@ void NetworkContext::OnConnectionError() {
|
||||
std::move(on_connection_close_callback_).Run(this);
|
||||
}
|
||||
|
||||
@@ -631,7 +631,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -418,15 +418,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -419,15 +419,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
const std::string& ocsp_result,
|
||||
const std::string& sct_list,
|
||||
VerifyCertForSignedExchangeCallback callback) override;
|
||||
@@ -652,7 +652,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
|
||||
const std::string& host,
|
||||
DeleteDynamicDataForHostCallback callback) override;
|
||||
void SetCorsOriginAccessListsForOrigin(
|
||||
@@ -679,7 +681,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -686,7 +688,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
mojo::PendingRemote<mojom::CookieAccessObserver> cookie_observer,
|
||||
net::FirstPartySetMetadata first_party_set_metadata);
|
||||
|
||||
@@ -665,7 +665,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
|
||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1414,16 +1414,16 @@ interface NetworkContext {
|
||||
@@ -1434,16 +1434,16 @@ interface NetworkContext {
|
||||
|
||||
// Adds explicitly-specified data as if it was processed from an
|
||||
// HSTS header. Used by tests and implementation of chrome://net-internals.
|
||||
@@ -685,7 +685,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
|
||||
=> (mojo_base.mojom.DictionaryValue state);
|
||||
|
||||
// Sets allowed and blocked origins respectively for the URLLoaderFactory
|
||||
@@ -1442,7 +1442,7 @@ interface NetworkContext {
|
||||
@@ -1462,7 +1462,7 @@ interface NetworkContext {
|
||||
// Deletes any dynamic data stored for |host| from the transport
|
||||
// security state. Returns true iff an entry was deleted.
|
||||
// See net::TransportSecurityState::DeleteDynamicDataForHost for more detail.
|
||||
|
||||
@@ -22,7 +22,7 @@ samesite=none first-party cookies are sent in third-party contexts.
|
||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
--- a/net/base/features.cc
|
||||
+++ b/net/base/features.cc
|
||||
@@ -247,8 +247,8 @@ BASE_FEATURE(kWaitForFirstPartySetsInit,
|
||||
@@ -252,8 +252,8 @@ BASE_FEATURE(kWaitForFirstPartySetsInit,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kPartitionedCookies,
|
||||
@@ -33,7 +33,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
|
||||
BASE_FEATURE(kNoncedPartitionedCookies,
|
||||
"NoncedPartitionedCookies",
|
||||
@@ -263,8 +263,8 @@ BASE_FEATURE(kStaticKeyPinningEnforcement,
|
||||
@@ -268,8 +268,8 @@ BASE_FEATURE(kStaticKeyPinningEnforcement,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kCookieDomainRejectNonASCII,
|
||||
@@ -47,7 +47,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
|
||||
--- a/net/cookies/canonical_cookie.cc
|
||||
+++ b/net/cookies/canonical_cookie.cc
|
||||
@@ -1575,8 +1575,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
|
||||
@@ -1576,8 +1576,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
|
||||
if (IsPartitioned()) {
|
||||
if (CookiePartitionKey::HasNonce(partition_key_))
|
||||
return true;
|
||||
@@ -56,7 +56,7 @@ diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1850,15 +1848,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url,
|
||||
@@ -1851,15 +1849,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url,
|
||||
bool secure,
|
||||
bool is_partitioned,
|
||||
bool partition_has_nonce) {
|
||||
|
||||
@@ -17,7 +17,7 @@ without asking the native code
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java
|
||||
@@ -970,44 +970,6 @@ public class OMADownloadHandler extends BroadcastReceiver {
|
||||
@@ -969,44 +969,6 @@ public class OMADownloadHandler extends BroadcastReceiver {
|
||||
protected Boolean doInBackground() {
|
||||
HttpURLConnection urlConnection = null;
|
||||
boolean success = false;
|
||||
@@ -220,7 +220,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
|
||||
@VisibleForTesting
|
||||
protected List<String> getAvailableInstanceManipulations() {
|
||||
List<String> compressions = new ArrayList<String>();
|
||||
@@ -486,24 +478,8 @@ public class VariationsSeedFetcher {
|
||||
@@ -506,24 +498,8 @@ public class VariationsSeedFetcher {
|
||||
HttpURLConnection connection = null;
|
||||
try {
|
||||
long startTimeMillis = SystemClock.elapsedRealtime();
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Remove experimental-relative-c++-abi-vtables
|
||||
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
|
||||
@@ -679,11 +679,6 @@ config("compiler") {
|
||||
@@ -682,11 +682,6 @@ config("compiler") {
|
||||
cflags_cc += [ "-Wno-trigraphs" ]
|
||||
}
|
||||
|
||||
|
||||
@@ -3,14 +3,14 @@ Date: Tue, 27 Jun 2023 11:11:53 +0000
|
||||
Subject: Remove support for device memory and cpu recovery
|
||||
|
||||
---
|
||||
storage/browser/blob/blob_memory_controller.cc | 13 +++++++++++--
|
||||
.../browser/quota/quota_device_info_helper.cc | 17 +++++++++++++++--
|
||||
.../device_memory/approximated_device_memory.cc | 7 ++++++-
|
||||
third_party/blink/common/features.cc | 4 ++--
|
||||
.../core/frame/navigator_concurrent_hardware.cc | 8 ++++++--
|
||||
.../blink/renderer/core/timing/memory_info.cc | 14 +++++++++++---
|
||||
.../renderer/core/timing/window_performance.cc | 2 +-
|
||||
7 files changed, 52 insertions(+), 13 deletions(-)
|
||||
.../browser/blob/blob_memory_controller.cc | 20 ++++++++++---------
|
||||
.../browser/quota/quota_device_info_helper.cc | 17 ++++++++++++++--
|
||||
.../approximated_device_memory.cc | 7 ++++++-
|
||||
third_party/blink/common/features.cc | 4 ++--
|
||||
.../frame/navigator_concurrent_hardware.cc | 8 ++++++--
|
||||
.../blink/renderer/core/timing/memory_info.cc | 14 ++++++++++---
|
||||
.../core/timing/window_performance.cc | 2 +-
|
||||
7 files changed, 52 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/blob/blob_memory_controller.cc
|
||||
--- a/storage/browser/blob/blob_memory_controller.cc
|
||||
@@ -22,16 +22,16 @@ diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/bl
|
||||
+// static
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+float approximated_device_memory_gb_ = 4.0;
|
||||
+constexpr size_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
|
||||
+constexpr int64_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
|
||||
+#else
|
||||
+float approximated_device_memory_gb_ = 8.0;
|
||||
+constexpr size_t approximated_device_disk_size = 200ull * 1024 * 1024 * 1024;
|
||||
+constexpr int64_t approximated_device_disk_size = 200ull * 1024 * 1024 * 1024;
|
||||
+#endif
|
||||
+
|
||||
File::Error CreateBlobDirectory(const FilePath& blob_storage_dir) {
|
||||
File::Error error = File::FILE_OK;
|
||||
base::CreateDirectoryAndGetError(blob_storage_dir, &error);
|
||||
@@ -78,9 +87,9 @@ BlobStorageLimits CalculateBlobStorageLimitsImpl(
|
||||
@@ -78,23 +87,16 @@ BlobStorageLimits CalculateBlobStorageLimitsImpl(
|
||||
int64_t disk_size = 0ull;
|
||||
uint64_t memory_size = optional_memory_size_for_testing
|
||||
? optional_memory_size_for_testing.value()
|
||||
@@ -43,6 +43,20 @@ diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/bl
|
||||
|
||||
BlobStorageLimits limits;
|
||||
|
||||
// Don't do specialty configuration for error size (-1).
|
||||
if (memory_size > 0) {
|
||||
-#if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_ANDROID) && \
|
||||
- defined(ARCH_CPU_64_BITS)
|
||||
constexpr size_t kTwoGigabytes = 2ull * 1024 * 1024 * 1024;
|
||||
limits.max_blob_in_memory_space = kTwoGigabytes;
|
||||
-#elif BUILDFLAG(IS_ANDROID)
|
||||
- limits.max_blob_in_memory_space = static_cast<size_t>(memory_size / 100);
|
||||
-#else
|
||||
- limits.max_blob_in_memory_space = static_cast<size_t>(memory_size / 5);
|
||||
-#endif
|
||||
}
|
||||
// Devices just on the edge (RAM == 256MB) should not fail because
|
||||
// max_blob_in_memory_space turns out smaller than min_page_file_size
|
||||
diff --git a/storage/browser/quota/quota_device_info_helper.cc b/storage/browser/quota/quota_device_info_helper.cc
|
||||
--- a/storage/browser/quota/quota_device_info_helper.cc
|
||||
+++ b/storage/browser/quota/quota_device_info_helper.cc
|
||||
@@ -55,10 +69,10 @@ diff --git a/storage/browser/quota/quota_device_info_helper.cc b/storage/browser
|
||||
+// static
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+float approximated_device_memory_gb_ = 4.0;
|
||||
+constexpr size_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
|
||||
+constexpr int64_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
|
||||
+#else
|
||||
+float approximated_device_memory_gb_ = 8.0;
|
||||
+constexpr size_t approximated_device_disk_size = 200ull * 1024 * 1024 * 1024;
|
||||
+constexpr int64_t approximated_device_disk_size = 200ull * 1024 * 1024 * 1024;
|
||||
+#endif
|
||||
+
|
||||
+}
|
||||
@@ -105,7 +119,7 @@ diff --git a/third_party/blink/common/device_memory/approximated_device_memory.c
|
||||
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
|
||||
@@ -400,8 +400,8 @@ BASE_FEATURE(kV8OptimizeWorkersForPerformance,
|
||||
@@ -1835,8 +1835,8 @@ BASE_FEATURE(kWebFontsCacheAwareTimeoutAdaption,
|
||||
// Controls whether the implementation of the performance.measureMemory
|
||||
// web API uses PerformanceManager or not.
|
||||
BASE_FEATURE(kWebMeasureMemoryViaPerformanceManager,
|
||||
@@ -114,8 +128,8 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
|
||||
+ "WebMeasureMemoryViaPerformanceManager", // need to be
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default
|
||||
|
||||
// Enables negotiation of experimental multiplex codec in SDP.
|
||||
BASE_FEATURE(kWebRtcMultiplexCodec,
|
||||
BASE_FEATURE(kWebRtcCombinedNetworkAndWorkerThread,
|
||||
"WebRtcCombinedNetworkAndWorkerThread",
|
||||
diff --git a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc b/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
|
||||
--- a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
|
||||
@@ -156,9 +170,9 @@ diff --git a/third_party/blink/renderer/core/timing/memory_info.cc b/third_party
|
||||
static constexpr base::TimeDelta kTwentyMinutes = base::Minutes(20);
|
||||
static constexpr base::TimeDelta kFiftyMs = base::Milliseconds(50);
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+static constexpr size_t heap_size_limit = 528744448;
|
||||
+static constexpr int64_t heap_size_limit = 528744448;
|
||||
+#else
|
||||
+static constexpr size_t heap_size_limit = 4294705152;
|
||||
+static constexpr int64_t heap_size_limit = 4294705152;
|
||||
+#endif
|
||||
|
||||
static void GetHeapSize(HeapInfo& info) {
|
||||
@@ -179,7 +193,7 @@ diff --git a/third_party/blink/renderer/core/timing/memory_info.cc b/third_party
|
||||
diff --git a/third_party/blink/renderer/core/timing/window_performance.cc b/third_party/blink/renderer/core/timing/window_performance.cc
|
||||
--- a/third_party/blink/renderer/core/timing/window_performance.cc
|
||||
+++ b/third_party/blink/renderer/core/timing/window_performance.cc
|
||||
@@ -253,7 +253,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const {
|
||||
@@ -254,7 +254,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const {
|
||||
auto* memory_info = MakeGarbageCollected<MemoryInfo>(
|
||||
Platform::Current()->IsLockedToSite()
|
||||
? MemoryInfo::Precision::kPrecise
|
||||
|
||||
@@ -26,7 +26,7 @@ Subject: Restore LastTabStandingTracker
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -1863,6 +1863,16 @@ static_library("browser") {
|
||||
@@ -1875,6 +1875,16 @@ static_library("browser") {
|
||||
"webid/federated_identity_permission_context_factory.h",
|
||||
]
|
||||
|
||||
@@ -377,7 +377,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
@@ -99,6 +99,7 @@
|
||||
@@ -104,6 +104,7 @@
|
||||
#include "chrome/browser/password_manager/password_reuse_manager_factory.h"
|
||||
#include "chrome/browser/password_manager/password_store_factory.h"
|
||||
#include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h"
|
||||
@@ -385,7 +385,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
#include "chrome/browser/permissions/notification_permission_review_service_factory.h"
|
||||
#include "chrome/browser/permissions/notifications_engagement_service_factory.h"
|
||||
#include "chrome/browser/permissions/one_time_permissions_tracker_factory.h"
|
||||
@@ -689,6 +690,7 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
@@ -717,6 +718,7 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
#endif
|
||||
KAnonymityServiceFactory::GetInstance();
|
||||
LanguageModelManagerFactory::GetInstance();
|
||||
@@ -396,18 +396,18 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
|
||||
--- a/chrome/browser/ui/tab_helpers.cc
|
||||
+++ b/chrome/browser/ui/tab_helpers.cc
|
||||
@@ -54,6 +54,7 @@
|
||||
#include "chrome/browser/page_info/page_info_features.h"
|
||||
@@ -55,6 +55,7 @@
|
||||
#include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h"
|
||||
#include "chrome/browser/password_manager/chrome_password_manager_client.h"
|
||||
#include "chrome/browser/performance_manager/public/user_tuning/user_performance_tuning_manager.h"
|
||||
+#include "chrome/browser/permissions/last_tab_standing_tracker_tab_helper.h"
|
||||
#include "chrome/browser/permissions/one_time_permissions_tracker_helper.h"
|
||||
#include "chrome/browser/permissions/unused_site_permissions_service_factory.h"
|
||||
#include "chrome/browser/predictors/loading_predictor_factory.h"
|
||||
@@ -363,6 +364,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -368,6 +369,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
HistoryClustersTabHelper::CreateForWebContents(web_contents);
|
||||
HttpsOnlyModeTabHelper::CreateForWebContents(web_contents);
|
||||
webapps::InstallableManager::CreateForWebContents(web_contents);
|
||||
webapps::MLInstallabilityPromoter::CreateForWebContents(web_contents);
|
||||
+ LastTabStandingTrackerTabHelper::CreateForWebContents(web_contents);
|
||||
login_detection::LoginDetectionTabHelper::MaybeCreateForWebContents(
|
||||
web_contents);
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Show warnings on downloads over HTTP
|
||||
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
|
||||
@@ -1136,9 +1136,9 @@ BASE_FEATURE(kTreatUnsafeDownloadsAsActive,
|
||||
@@ -1129,9 +1129,9 @@ BASE_FEATURE(kTreatUnsafeDownloadsAsActive,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
// Show warnings on downloads not delivered over HTTPS.
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: TEMP Add a log to track strange behavior
|
||||
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
|
||||
--- a/net/spdy/spdy_session.cc
|
||||
+++ b/net/spdy/spdy_session.cc
|
||||
@@ -3262,6 +3262,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id,
|
||||
@@ -3196,6 +3196,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id,
|
||||
if (it == active_streams_.end()) {
|
||||
// NOTE: it may just be that the stream was cancelled.
|
||||
LOG(WARNING) << "Received HEADERS for invalid stream " << stream_id;
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Temp Disable kAutomaticLazyFrameLoadingToEmbeds
|
||||
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
|
||||
@@ -65,7 +65,7 @@ const base::FeatureParam<int> kSkipFrameCountForLazyAds(
|
||||
@@ -160,7 +160,7 @@ const base::FeatureParam<int> kSkipFrameCountForLazyAds(
|
||||
// Vitals.
|
||||
BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbeds,
|
||||
"AutomaticLazyFrameLoadingToEmbeds", // must be enabled
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Sat, 12 Aug 2023 14:48:57 +0000
|
||||
Subject: Temp disable predictive back gesture
|
||||
|
||||
---
|
||||
chrome/android/java/AndroidManifest.xml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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
|
||||
@@ -189,7 +189,7 @@ by a child template that "extends" this file.
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:allowAudioPlaybackCapture="false"
|
||||
android:appComponentFactory="org.chromium.chrome.browser.base.SplitCompatAppComponentFactory"
|
||||
- android:enableOnBackInvokedCallback="true"
|
||||
+ android:enableOnBackInvokedCallback="false"
|
||||
{% block extra_application_attributes %}{% endblock %}>
|
||||
|
||||
{% if channel in ['canary', 'dev', 'default'] %}
|
||||
--
|
||||
2.25.1
|
||||
@@ -9,7 +9,7 @@ Subject: WIN ADDTO AImageReader CFI crash mitigations
|
||||
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||
--- a/gpu/ipc/service/gpu_init.cc
|
||||
+++ b/gpu/ipc/service/gpu_init.cc
|
||||
@@ -614,10 +614,12 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
@@ -616,10 +616,12 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
}
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: WIN ADDTO Add AllowUserCertificates flag
|
||||
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
|
||||
@@ -9226,10 +9226,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9235,10 +9235,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kHttpsUpgradesDescription, kOsDesktop | kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kHttpsUpgrades)},
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ Subject: WIN ADDTO Add a proxy configuration page
|
||||
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
|
||||
--- a/chrome/browser/browser_resources.grd
|
||||
+++ b/chrome/browser/browser_resources.grd
|
||||
@@ -293,10 +293,8 @@
|
||||
@@ -285,10 +285,8 @@
|
||||
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
|
||||
</if>
|
||||
<!-- Bromite Proxy Configuration UI -->
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 12 Oct 2022 09:09:26 +0000
|
||||
Subject: WIN ADDTO Add an always-incognito mode
|
||||
|
||||
---
|
||||
.../browser/autocomplete/chrome_autocomplete_provider_client.cc | 2 ++
|
||||
.../content_settings/host_content_settings_map_factory.cc | 2 ++
|
||||
chrome/browser/history/history_tab_helper.cc | 2 ++
|
||||
3 files changed, 6 insertions(+)
|
||||
|
||||
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
|
||||
@@ -355,9 +355,11 @@ ChromeAutocompleteProviderClient::GetOnDeviceTailModelService() const {
|
||||
}
|
||||
|
||||
bool ChromeAutocompleteProviderClient::IsAlwaysIncognitoEnabled() const {
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
if (profile_->GetPrefs()->GetBoolean(prefs::kAlwaysIncognitoEnabled)) {
|
||||
return true;
|
||||
}
|
||||
+#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.cc b/chrome/browser/content_settings/host_content_settings_map_factory.cc
|
||||
--- a/chrome/browser/content_settings/host_content_settings_map_factory.cc
|
||||
+++ b/chrome/browser/content_settings/host_content_settings_map_factory.cc
|
||||
@@ -125,6 +125,7 @@ scoped_refptr<RefcountedKeyedService>
|
||||
bool always_incognito_enabled = false;
|
||||
bool force_save_site_settings = false;
|
||||
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
PrefService* prefService = original_profile->GetPrefs();
|
||||
if (prefService->GetBoolean(prefs::kAlwaysIncognitoEnabled)) {
|
||||
always_incognito_enabled = true;
|
||||
@@ -134,6 +135,7 @@ scoped_refptr<RefcountedKeyedService>
|
||||
profile = original_profile;
|
||||
force_save_site_settings = true;
|
||||
}
|
||||
+#endif
|
||||
|
||||
scoped_refptr<HostContentSettingsMap> settings_map(new HostContentSettingsMap(
|
||||
profile->GetPrefs(),
|
||||
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
|
||||
--- a/chrome/browser/history/history_tab_helper.cc
|
||||
+++ b/chrome/browser/history/history_tab_helper.cc
|
||||
@@ -493,10 +493,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
|
||||
// static
|
||||
void HistoryTabHelper::RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterBooleanPref(prefs::kIncognitoTabHistoryEnabled,
|
||||
/*default_value=*/false);
|
||||
registry->RegisterBooleanPref(prefs::kIncognitoSaveSiteSettingEnabled,
|
||||
/*default_value=*/false);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void HistoryTabHelper::WebContentsDestroyed() {
|
||||
--
|
||||
2.25.1
|
||||
@@ -5,14 +5,14 @@ Subject: WIN ADDTO Add bookmark import/export actions
|
||||
---
|
||||
chrome/browser/about_flags.cc | 2 ++
|
||||
chrome/browser/bookmarks/bookmark_html_writer.cc | 7 ++++++-
|
||||
.../lib/browser/headless_select_file_dialog_factory.cc | 4 ++++
|
||||
.../select_file_dialog/headless_select_file_dialog.cc | 4 ++++
|
||||
ui/shell_dialogs/select_file_dialog_win.cc | 5 +++++
|
||||
4 files changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
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
|
||||
@@ -9451,11 +9451,13 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9462,11 +9462,13 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(net::features::kIsCleartextPermitted)},
|
||||
#endif
|
||||
|
||||
@@ -56,10 +56,10 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
||||
if (!file_->IsValid()) {
|
||||
PLOG(ERROR) << "Could not create " << path_;
|
||||
return false;
|
||||
diff --git a/headless/lib/browser/headless_select_file_dialog_factory.cc b/headless/lib/browser/headless_select_file_dialog_factory.cc
|
||||
--- a/headless/lib/browser/headless_select_file_dialog_factory.cc
|
||||
+++ b/headless/lib/browser/headless_select_file_dialog_factory.cc
|
||||
@@ -57,6 +57,10 @@ class HeadlessSelectFileDialog : public ui::SelectFileDialog {
|
||||
diff --git a/components/headless/select_file_dialog/headless_select_file_dialog.cc b/components/headless/select_file_dialog/headless_select_file_dialog.cc
|
||||
--- a/components/headless/select_file_dialog/headless_select_file_dialog.cc
|
||||
+++ b/components/headless/select_file_dialog/headless_select_file_dialog.cc
|
||||
@@ -58,6 +58,10 @@ class HeadlessSelectFileDialog : public ui::SelectFileDialog {
|
||||
// ui::SelectFileDialog:
|
||||
bool HasMultipleFileTypeChoicesImpl() override { return false; }
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 12 Oct 2022 12:00:43 +0000
|
||||
Subject: WIN ADDTO Add flag to disable external intent re
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
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
|
||||
@@ -3848,9 +3848,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
|
||||
flag_descriptions::kUiPartialSwapDescription, kOsAll,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
{"disable-external-intent-requests", flag_descriptions::kDisableExternalIntentRequestsName,
|
||||
flag_descriptions::kDisableExternalIntentRequestsDescription, kOsAll,
|
||||
SINGLE_DISABLE_VALUE_TYPE("disable-external-intent-requests")},
|
||||
+#endif
|
||||
{"disable-webrtc-hw-decoding", flag_descriptions::kWebrtcHwDecodingName,
|
||||
flag_descriptions::kWebrtcHwDecodingDescription, kOsAndroid | kOsCrOS,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWDecoding)},
|
||||
--
|
||||
2.25.1
|
||||
@@ -1,22 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 12 Oct 2022 11:52:11 +0000
|
||||
Subject: WIN ADDTO Add lifetime options for permissions
|
||||
|
||||
---
|
||||
.../ui/views/permissions/permission_prompt_bubble_base_view.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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
|
||||
@@ -336,7 +336,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallbacks(
|
||||
delegate_->Accept();
|
||||
return;
|
||||
case PermissionDialogButton::kAcceptOnce:
|
||||
- delegate_->AcceptThisTime();
|
||||
+ delegate_->AcceptThisTime(content_settings::LifetimeMode::Always);
|
||||
return;
|
||||
case PermissionDialogButton::kDeny:
|
||||
delegate_->Deny();
|
||||
--
|
||||
2.25.1
|
||||
@@ -20,7 +20,7 @@ Subject: WIN ADDTO Experimental user scripts support
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3528,11 +3528,13 @@ static_library("browser") {
|
||||
@@ -3517,11 +3517,13 @@ static_library("browser") {
|
||||
]
|
||||
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
|
||||
}
|
||||
@@ -42,8 +42,8 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -8124,9 +8124,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(ash::features::kClipboardHistoryReorder)},
|
||||
@@ -8158,9 +8158,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(ash::features::kClipboardHistoryLongpress)},
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -57,7 +57,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -1533,7 +1533,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -1634,7 +1634,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
translate::TranslatePrefs::RegisterProfilePrefs(registry);
|
||||
omnibox::RegisterProfilePrefs(registry);
|
||||
ZeroSuggestProvider::RegisterProfilePrefs(registry);
|
||||
@@ -65,8 +65,8 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
user_scripts::UserScriptsPrefs::RegisterProfilePrefs(registry);
|
||||
+#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
|
||||
RegisterSessionServiceLogProfilePrefs(registry);
|
||||
#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||
promos_utils::RegisterProfilePrefs(registry);
|
||||
diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
|
||||
--- a/chrome/browser/profiles/BUILD.gn
|
||||
+++ b/chrome/browser/profiles/BUILD.gn
|
||||
@@ -87,8 +87,8 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
|
||||
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
@@ -450,7 +450,9 @@
|
||||
#include "chrome/browser/net/nss_service_factory.h"
|
||||
@@ -469,7 +469,9 @@
|
||||
#include "chrome/browser/offline_pages/request_coordinator_factory.h"
|
||||
#endif
|
||||
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -97,7 +97,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
|
||||
namespace chrome {
|
||||
|
||||
@@ -1040,7 +1042,9 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
@@ -1097,7 +1099,9 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
#endif
|
||||
WebDataServiceFactory::GetInstance();
|
||||
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
|
||||
@@ -188,7 +188,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile
|
||||
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
|
||||
@@ -519,8 +519,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
@@ -529,8 +529,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
return &NewWebUI<UserActionsUI>;
|
||||
if (url.host_piece() == chrome::kChromeUIVersionHost)
|
||||
return &NewWebUI<VersionUI>;
|
||||
@@ -202,7 +202,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
|
||||
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
|
||||
--- a/chrome/renderer/BUILD.gn
|
||||
+++ b/chrome/renderer/BUILD.gn
|
||||
@@ -153,7 +153,6 @@ static_library("renderer") {
|
||||
@@ -154,7 +154,6 @@ static_library("renderer") {
|
||||
"//components/content_capture/common",
|
||||
"//components/content_capture/renderer",
|
||||
"//components/content_settings/common:mojom",
|
||||
@@ -210,7 +210,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
|
||||
"//components/content_settings/renderer",
|
||||
"//components/continuous_search/renderer",
|
||||
"//components/dom_distiller/content/renderer",
|
||||
@@ -231,6 +230,12 @@ static_library("renderer") {
|
||||
@@ -234,6 +233,12 @@ static_library("renderer") {
|
||||
"//v8",
|
||||
]
|
||||
|
||||
@@ -266,7 +266,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
|
||||
#if BUILDFLAG(ENABLE_PPAPI)
|
||||
new PepperHelper(render_frame);
|
||||
@@ -1610,6 +1616,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
||||
@@ -1619,6 +1625,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
||||
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentStart(
|
||||
render_frame);
|
||||
// |render_frame| might be dead by now.
|
||||
@@ -276,7 +276,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
static_assert(false, "Compiler error: extensions cannot be enabled with user scripts");
|
||||
#endif
|
||||
user_scripts::UserScriptsRendererClient* userscript_client =
|
||||
@@ -1618,6 +1627,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
||||
@@ -1627,6 +1636,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
||||
userscript_client->RunScriptsAtDocumentStart(
|
||||
render_frame);
|
||||
}
|
||||
@@ -284,7 +284,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
}
|
||||
|
||||
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
||||
@@ -1626,6 +1636,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
||||
@@ -1635,6 +1645,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
||||
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentEnd(
|
||||
render_frame);
|
||||
// |render_frame| might be dead by now.
|
||||
@@ -294,7 +294,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
static_assert(false, "Compiler error: extensions cannot be enabled with user scripts");
|
||||
#endif
|
||||
user_scripts::UserScriptsRendererClient* userscript_client =
|
||||
@@ -1634,6 +1647,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
||||
@@ -1643,6 +1656,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
||||
userscript_client->RunScriptsAtDocumentEnd(
|
||||
render_frame);
|
||||
}
|
||||
@@ -302,7 +302,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
}
|
||||
|
||||
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
||||
@@ -1642,6 +1656,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
||||
@@ -1651,6 +1665,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
||||
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentIdle(
|
||||
render_frame);
|
||||
// |render_frame| might be dead by now.
|
||||
@@ -312,7 +312,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
static_assert(false, "Compiler error: extensions cannot be enabled with user scripts");
|
||||
#endif
|
||||
user_scripts::UserScriptsRendererClient* userscript_client =
|
||||
@@ -1650,6 +1667,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
||||
@@ -1659,6 +1676,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
||||
userscript_client->RunScriptsAtDocumentIdle(
|
||||
render_frame);
|
||||
}
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 12 Oct 2022 11:41:35 +0000
|
||||
Subject: WIN ADDTO Remove binary blob integrations
|
||||
|
||||
---
|
||||
components/gcm_driver/gcm_client_impl.cc | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc
|
||||
--- a/components/gcm_driver/gcm_client_impl.cc
|
||||
+++ b/components/gcm_driver/gcm_client_impl.cc
|
||||
@@ -450,7 +450,7 @@ void GCMClientImpl::StartGCM() {
|
||||
|
||||
void GCMClientImpl::InitializeMCSClient() {
|
||||
DCHECK(network_connection_tracker_);
|
||||
- return;
|
||||
+ if ((true)) return;
|
||||
std::vector<GURL> endpoints;
|
||||
endpoints.push_back(gservices_settings_.GetMCSMainEndpoint());
|
||||
GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint();
|
||||
@@ -644,7 +644,7 @@ void GCMClientImpl::AddHeartbeatInterval(const std::string& scope,
|
||||
int interval_ms) {
|
||||
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
|
||||
DCHECK(mcs_client_);
|
||||
- return;
|
||||
+ if ((true)) return;
|
||||
mcs_client_->AddHeartbeatInterval(scope, interval_ms);
|
||||
}
|
||||
|
||||
@@ -656,7 +656,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) {
|
||||
|
||||
void GCMClientImpl::StartCheckin() {
|
||||
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
|
||||
- return;
|
||||
+ if ((true)) return;
|
||||
|
||||
// Make sure no checkin is in progress.
|
||||
if (checkin_request_)
|
||||
@@ -739,7 +739,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
|
||||
|
||||
void GCMClientImpl::SchedulePeriodicCheckin() {
|
||||
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
|
||||
- return;
|
||||
+ if ((true)) return;
|
||||
|
||||
// Make sure no checkin is in progress.
|
||||
if (checkin_request_.get() || !device_checkin_info_.accounts_set)
|
||||
--
|
||||
2.25.1
|
||||
@@ -9,7 +9,7 @@ Subject: WIN ADDTO Restore Search Ready Omnibox flag
|
||||
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
|
||||
@@ -9423,9 +9423,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9432,9 +9432,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kDesksTemplatesDescription, kOsCrOS,
|
||||
FEATURE_VALUE_TYPE(ash::features::kDesksTemplates)},
|
||||
#endif
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: WIN ADDTO Revert flags: remove num-raster-thre
|
||||
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
|
||||
@@ -383,6 +383,7 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = {
|
||||
@@ -390,6 +390,7 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = {
|
||||
"single-fullscreen,single-on-top,underlay"},
|
||||
};
|
||||
|
||||
@@ -17,7 +17,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
|
||||
{flags_ui::kGenericExperimentChoiceDefault, "", ""},
|
||||
{flag_descriptions::kNumRasterThreadsOne, cc::switches::kNumRasterThreads, "1"},
|
||||
@@ -391,6 +392,7 @@ const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
|
||||
@@ -398,6 +399,7 @@ const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
|
||||
"3"},
|
||||
{flag_descriptions::kNumRasterThreadsFour, cc::switches::kNumRasterThreads,
|
||||
"4"}};
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: WIN ADDTO openH264: enable ARM/ARM64 optimizati
|
||||
diff --git a/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc b/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc
|
||||
--- a/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc
|
||||
+++ b/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc
|
||||
@@ -213,9 +213,9 @@ bool H264Encoder::ConfigureEncoder(const gfx::Size& size) {
|
||||
@@ -212,9 +212,9 @@ bool H264Encoder::ConfigureEncoder(const gfx::Size& size) {
|
||||
init_params.iRCMode = RC_OFF_MODE;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: WIN Disable TabHoverCard images
|
||||
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
|
||||
@@ -212,11 +212,7 @@ BASE_FEATURE(kTabGroupsSaveSyncIntegration,
|
||||
@@ -186,11 +186,7 @@ BASE_FEATURE(kTabHoverCardImageSettings,
|
||||
// https://crbug.com/928954
|
||||
BASE_FEATURE(kTabHoverCardImages,
|
||||
"TabHoverCardImages",
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: WIN Disable first run
|
||||
diff --git a/chrome/browser/ui/startup/first_run_service.cc b/chrome/browser/ui/startup/first_run_service.cc
|
||||
--- a/chrome/browser/ui/startup/first_run_service.cc
|
||||
+++ b/chrome/browser/ui/startup/first_run_service.cc
|
||||
@@ -177,7 +177,7 @@ bool IsFirstRunMarkedFinishedInPrefs() {
|
||||
@@ -185,7 +185,7 @@ bool IsFirstRunMarkedFinishedInPrefs() {
|
||||
|
||||
// static
|
||||
void FirstRunService::RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
|
||||
|
||||
@@ -3,10 +3,11 @@ Date: Fri, 17 Feb 2023 16:22:00 +0000
|
||||
Subject: WIN Disable sharing hub
|
||||
|
||||
---
|
||||
chrome/browser/sharing_hub/sharing_hub_features.cc | 2 +-
|
||||
chrome/browser/ui/browser_command_controller.cc | 8 ++++----
|
||||
.../qrcode_generator_bubble_controller.cc | 5 +----
|
||||
3 files changed, 6 insertions(+), 9 deletions(-)
|
||||
chrome/browser/sharing_hub/sharing_hub_features.cc | 2 +-
|
||||
chrome/browser/ui/browser_command_controller.cc | 6 +++---
|
||||
chrome/browser/ui/browser_commands.cc | 1 +
|
||||
.../qrcode_generator/qrcode_generator_bubble_controller.cc | 5 +----
|
||||
4 files changed, 6 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser/sharing_hub/sharing_hub_features.cc
|
||||
--- a/chrome/browser/sharing_hub/sharing_hub_features.cc
|
||||
@@ -23,12 +24,9 @@ diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser
|
||||
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
|
||||
--- a/chrome/browser/ui/browser_command_controller.cc
|
||||
+++ b/chrome/browser/ui/browser_command_controller.cc
|
||||
@@ -1638,12 +1638,12 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
|
||||
command_updater_.UpdateCommandEnabled(IDC_CHROME_TIPS, show_main_ui);
|
||||
@@ -1700,10 +1700,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
|
||||
command_updater_.UpdateCommandEnabled(IDC_CHROME_WHATS_NEW, show_main_ui);
|
||||
#endif
|
||||
- command_updater_.UpdateCommandEnabled(IDC_QRCODE_GENERATOR, show_main_ui);
|
||||
+ command_updater_.UpdateCommandEnabled(IDC_QRCODE_GENERATOR, false);
|
||||
command_updater_.UpdateCommandEnabled(IDC_CONTENT_CONTEXT_SHARING_SUBMENU,
|
||||
- show_main_ui);
|
||||
- command_updater_.UpdateCommandEnabled(IDC_SHARING_HUB, show_main_ui);
|
||||
@@ -38,8 +36,19 @@ diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui
|
||||
- show_main_ui);
|
||||
+ false);
|
||||
command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui);
|
||||
command_updater_.UpdateCommandEnabled(IDC_SEND_TAB_TO_SELF, show_main_ui);
|
||||
command_updater_.UpdateCommandEnabled(IDC_SHOW_MANAGEMENT_PAGE, true);
|
||||
command_updater_.UpdateCommandEnabled(IDC_FOLLOW, show_main_ui);
|
||||
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc
|
||||
--- a/chrome/browser/ui/browser_commands.cc
|
||||
+++ b/chrome/browser/ui/browser_commands.cc
|
||||
@@ -1479,6 +1479,7 @@ void SendTabToSelfFromPageAction(Browser* browser) {
|
||||
}
|
||||
|
||||
bool CanGenerateQrCode(const Browser* browser) {
|
||||
+ if ((true)) return false;
|
||||
return !sharing_hub::SharingIsDisabledByPolicy(browser->profile()) &&
|
||||
qrcode_generator::QRCodeGeneratorBubbleController::
|
||||
IsGeneratorAvailable(browser->tab_strip_model()
|
||||
diff --git a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
|
||||
--- a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
|
||||
+++ b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
|
||||
|
||||
@@ -10,7 +10,7 @@ Subject: WIN Enable Network Service Sandbox and CIG
|
||||
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
|
||||
@@ -769,7 +769,7 @@ BASE_FEATURE(kRendererCodeIntegrity,
|
||||
@@ -766,7 +766,7 @@ BASE_FEATURE(kRendererCodeIntegrity,
|
||||
// https://blogs.windows.com/blog/tag/code-integrity-guard/.
|
||||
BASE_FEATURE(kNetworkServiceCodeIntegrity,
|
||||
"NetworkServiceCodeIntegrity",
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: WIN enable pdf plugin
|
||||
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
|
||||
@@ -2005,7 +2005,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
@@ -2058,7 +2058,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
}
|
||||
|
||||
PluginData* LocalFrame::GetPluginData() const {
|
||||
|
||||
@@ -26,7 +26,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
|
||||
@@ -640,7 +640,7 @@ void WebstoreInstaller::StartDownload(const std::string& extension_id,
|
||||
@@ -624,7 +624,7 @@ void WebstoreInstaller::StartDownload(const std::string& extension_id,
|
||||
download_url_, render_process_host_id, render_frame_host->GetRoutingID(),
|
||||
traffic_annotation));
|
||||
params->set_file_path(file);
|
||||
|
||||
@@ -80,7 +80,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
#include <malloc.h>
|
||||
@@ -1070,6 +1073,13 @@ absl::optional<int> ChromeMainDelegate::BasicStartupComplete() {
|
||||
@@ -1080,6 +1083,13 @@ absl::optional<int> ChromeMainDelegate::BasicStartupComplete() {
|
||||
return chrome::RESULT_CODE_INVALID_SANDBOX_STATE;
|
||||
#endif
|
||||
|
||||
@@ -97,7 +97,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat
|
||||
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
|
||||
--- a/chrome/app/generated_resources.grd
|
||||
+++ b/chrome/app/generated_resources.grd
|
||||
@@ -6489,6 +6489,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
|
||||
@@ -6699,6 +6699,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
|
||||
You are using an unsupported feature flag: <ph name="BAD_FLAG">$1<ex>SignedHTTPExchange</ex></ph>. Stability and security will suffer.
|
||||
</message>
|
||||
|
||||
@@ -111,7 +111,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
||||
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
|
||||
@@ -7888,6 +7888,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -7931,6 +7931,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kDevicePostureDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(features::kDevicePosture)},
|
||||
|
||||
@@ -125,7 +125,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -774,6 +774,10 @@ const char kDevicePostureName[] = "Device Posture API";
|
||||
@@ -840,6 +840,10 @@ const char kDevicePostureName[] = "Device Posture API";
|
||||
const char kDevicePostureDescription[] =
|
||||
"Enables Device Posture API (foldable devices)";
|
||||
|
||||
@@ -139,7 +139,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -582,6 +582,9 @@ extern const char kDeviceForceScheduledRebootDescription[];
|
||||
@@ -612,6 +612,9 @@ extern const char kDeviceForceScheduledRebootDescription[];
|
||||
extern const char kDevicePostureName[];
|
||||
extern const char kDevicePostureDescription[];
|
||||
|
||||
@@ -171,7 +171,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -3633,6 +3633,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
@@ -3727,6 +3727,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
switches::kLacrosUseChromeosProtectedAv1,
|
||||
#endif
|
||||
switches::kDesktopModeViewportMetaEnabled,
|
||||
@@ -182,7 +182,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
|
||||
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
|
||||
@@ -776,6 +776,11 @@ BASE_FEATURE(kNoStatePrefetchHoldback,
|
||||
@@ -766,6 +766,11 @@ BASE_FEATURE(kNoStatePrefetchHoldback,
|
||||
"NoStatePrefetchHoldback",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
@@ -197,7 +197,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
|
||||
@@ -172,6 +172,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kNetworkServiceInProcess);
|
||||
@@ -170,6 +170,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kNetworkServiceInProcess);
|
||||
CONTENT_EXPORT BASE_DECLARE_FEATURE(kNotificationContentImage);
|
||||
CONTENT_EXPORT BASE_DECLARE_FEATURE(kNotificationTriggers);
|
||||
CONTENT_EXPORT BASE_DECLARE_FEATURE(kNoStatePrefetchHoldback);
|
||||
|
||||
@@ -3,18 +3,19 @@ Date: Tue, 22 Nov 2022 16:49:58 +0000
|
||||
Subject: Add browser policy
|
||||
|
||||
---
|
||||
base/win/win_util.cc | 63 +--------
|
||||
base/win/win_util.cc | 63 +-------
|
||||
chrome/android/java/AndroidManifest.xml | 4 -
|
||||
.../privacy_preferences_manager_impl.cc | 5 +
|
||||
.../metrics/chrome_feature_list_creator.cc | 12 ++
|
||||
.../policy/chrome_browser_policy_connector.cc | 2 -
|
||||
...nfiguration_policy_handler_list_factory.cc | 6 +-
|
||||
.../account_consistency_mode_manager.cc | 5 +-
|
||||
chrome/browser/signin/chrome_signin_client.cc | 7 +-
|
||||
.../ui/webui/policy/policy_ui_handler.cc | 104 +++++++++++++-
|
||||
.../ui/webui/policy/policy_ui_handler.cc | 104 ++++++++++++-
|
||||
.../ui/webui/policy/policy_ui_handler.h | 2 +
|
||||
.../core/browser/browser_policy_connector.cc | 3 +
|
||||
.../common/command_line_policy_provider.cc | 3 +
|
||||
.../core/common/policy_loader_command_line.cc | 128 +++++++++++++++---
|
||||
.../core/common/policy_loader_command_line.cc | 139 ++++++++++++++++--
|
||||
.../policy/core/common/policy_pref_names.cc | 3 +
|
||||
.../policy/core/common/policy_pref_names.h | 1 +
|
||||
.../policy/core/common/policy_service_impl.cc | 3 +
|
||||
@@ -26,7 +27,7 @@ Subject: Add browser policy
|
||||
components/policy_strings.grdp | 4 +-
|
||||
.../gaia_cookie_manager_service.cc | 4 +
|
||||
google_apis/gaia/gaia_auth_fetcher.cc | 1 +
|
||||
23 files changed, 285 insertions(+), 89 deletions(-)
|
||||
24 files changed, 296 insertions(+), 93 deletions(-)
|
||||
|
||||
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
|
||||
--- a/base/win/win_util.cc
|
||||
@@ -111,6 +112,35 @@ diff --git a/base/win/win_util.cc b/base/win/win_util.cc
|
||||
return &state;
|
||||
}
|
||||
|
||||
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
|
||||
@@ -72,9 +72,7 @@ by a child template that "extends" this file.
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" tools:ignore="SystemPermissionTypo" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" tools:ignore="SystemPermissionTypo" />
|
||||
|
||||
- <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
- <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
||||
<uses-permission android:name="android.permission.NFC"/>
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
@@ -85,7 +83,6 @@ by a child template that "extends" this file.
|
||||
<uses-permission-sdk-23 android:name="android.permission.READ_MEDIA_VIDEO"/>
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
||||
- <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
|
||||
<uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
|
||||
<uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
@@ -131,7 +128,6 @@ by a child template that "extends" this file.
|
||||
<uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS" />
|
||||
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
|
||||
|
||||
- <uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS" />
|
||||
|
||||
{% block extra_uses_permissions %}
|
||||
{% endblock %}
|
||||
diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
|
||||
--- a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
|
||||
+++ b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
|
||||
@@ -138,7 +168,7 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
#include "chrome/browser/ash/policy/core/browser_policy_connector_ash.h"
|
||||
@@ -197,6 +199,16 @@ void ChromeFeatureListCreator::CreatePrefService() {
|
||||
@@ -196,6 +198,16 @@ void ChromeFeatureListCreator::CreatePrefService() {
|
||||
// ManagementService's cache.
|
||||
if (local_state_pref_store->ReadPrefs() ==
|
||||
JsonPrefStore::PREF_READ_ERROR_NONE) {
|
||||
@@ -170,7 +200,7 @@ diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/b
|
||||
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
|
||||
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
|
||||
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
|
||||
@@ -1922,9 +1922,9 @@ bool AreFuturePoliciesEnabledByDefault() {
|
||||
@@ -1946,9 +1946,9 @@ bool AreFuturePoliciesEnabledByDefault() {
|
||||
// Enable future policies for branded browser tests.
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType))
|
||||
return true;
|
||||
@@ -437,7 +467,7 @@ diff --git a/components/policy/core/common/policy_loader_command_line.cc b/compo
|
||||
|
||||
namespace policy {
|
||||
|
||||
@@ -21,25 +46,96 @@ PolicyLoaderCommandLine::~PolicyLoaderCommandLine() = default;
|
||||
@@ -21,25 +46,107 @@ PolicyLoaderCommandLine::~PolicyLoaderCommandLine() = default;
|
||||
|
||||
PolicyBundle PolicyLoaderCommandLine::Load() {
|
||||
PolicyBundle bundle;
|
||||
@@ -523,6 +553,17 @@ diff --git a/components/policy/core/common/policy_loader_command_line.cc b/compo
|
||||
+ // Disable automatic https upgrade
|
||||
+ AddPolicy(disabled_policies_list, policy_map, policy::key::kHttpsUpgradesEnabled, base::Value(false));
|
||||
+
|
||||
+ // Check RSA key usage for server certicates issued by local trust anchors
|
||||
+ // Enforce TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 expects the digitalSignature key usage bit.
|
||||
+ AddPolicy(disabled_policies_list, policy_map, policy::key::kRSAKeyUsageForLocalAnchorsEnabled, base::Value(true));
|
||||
+
|
||||
+ // Disable Insecure Handshake Hashes
|
||||
+ AddPolicy(disabled_policies_list, policy_map, policy::key::kInsecureHashesInTLSHandshakesEnabled, base::Value(false));
|
||||
+
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
+ AddPolicy(disabled_policies_list, policy_map, policy::key::kSideSearchEnabled, base::Value(false));
|
||||
+#endif
|
||||
+
|
||||
+ // kFirstPartySetsEnabled
|
||||
+ // kLensCameraAssistedSearchEnabled
|
||||
+ // kPasswordLeakDetectionEnabled
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Mon, 7 Aug 2023 11:05:03 +0000
|
||||
Subject: allow the download of clang for windows crossbuild
|
||||
|
||||
In the linux2win crossbuild some libraries are not checkout by default
|
||||
and launching tools/clang/scripts/update.py deletes by default the
|
||||
previous package.
|
||||
this patch bypasses the output directory deletion, allowing the windows
|
||||
toolchain to be downloaded on top of the android one
|
||||
---
|
||||
tools/clang/scripts/update.py | 12 +++++++++---
|
||||
1 file changed, 9 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
|
||||
--- a/tools/clang/scripts/update.py
|
||||
+++ b/tools/clang/scripts/update.py
|
||||
@@ -12,6 +12,8 @@ near-tip-of-tree clang version:
|
||||
$ curl -s https://raw.githubusercontent.com/chromium/chromium/main/tools/clang/scripts/update.py | python3 - --output-dir=/tmp/clang
|
||||
|
||||
(Note that the output dir may be deleted and re-created if it exists.)
|
||||
+
|
||||
+exec: tools/clang/scripts/update.py --package=clang --host-os=win --no-clear=true
|
||||
"""
|
||||
|
||||
import sys
|
||||
@@ -237,7 +239,7 @@ def DownloadAndUnpackClangWinRuntime(output_dir):
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
-def UpdatePackage(package_name, host_os, dir=LLVM_BUILD_DIR):
|
||||
+def UpdatePackage(package_name, host_os, no_clear, dir=LLVM_BUILD_DIR):
|
||||
stamp_file = None
|
||||
package_file = None
|
||||
|
||||
@@ -269,6 +271,8 @@ def UpdatePackage(package_name, host_os, dir=LLVM_BUILD_DIR):
|
||||
target_os = env.get('target_os', target_os)
|
||||
except:
|
||||
pass
|
||||
+ if host_os != "":
|
||||
+ target_os = [ host_os ]
|
||||
|
||||
if os.path.exists(OLD_STAMP_FILE):
|
||||
# Delete the old stamp file so it doesn't look like an old version of clang
|
||||
@@ -282,7 +286,7 @@ def UpdatePackage(package_name, host_os, dir=LLVM_BUILD_DIR):
|
||||
|
||||
# Updating the main clang package nukes the output dir. Any other packages
|
||||
# need to be updated *after* the clang package.
|
||||
- if package_name == 'clang' and os.path.exists(dir):
|
||||
+ if not no_clear and (package_name == 'clang' and os.path.exists(dir)):
|
||||
RmTree(dir)
|
||||
|
||||
DownloadAndUnpackPackage(package_file, dir, host_os)
|
||||
@@ -332,6 +336,8 @@ def main():
|
||||
'and exit.'))
|
||||
parser.add_argument('--verify-version',
|
||||
help='Verify that clang has the passed-in version.')
|
||||
+ parser.add_argument('--no-clear',
|
||||
+ help='Do not remove old file before extracting.')
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.verify_version and args.verify_version != RELEASE_VERSION:
|
||||
@@ -373,7 +379,7 @@ def main():
|
||||
print('--llvm-force-head-revision can only be used for --print-revision')
|
||||
return 1
|
||||
|
||||
- return UpdatePackage(args.package, args.host_os, output_dir)
|
||||
+ return UpdatePackage(args.package, args.host_os, args.no_clear, output_dir)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,34 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Wed, 2 Aug 2023 15:15:48 +0000
|
||||
Subject: Do not block the build for incompatible profiles
|
||||
|
||||
---
|
||||
.gitignore | 1 -
|
||||
v8/BUILD.gn | 2 +-
|
||||
2 files changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/.gitignore b/.gitignore
|
||||
--- a/.gitignore
|
||||
+++ b/.gitignore
|
||||
@@ -345,7 +345,6 @@ vs-chromium-project.txt
|
||||
/ui/surface/surface.xml
|
||||
/ui/surface/surface_gpu_tests.xml
|
||||
/ui/webui/internal
|
||||
-/v8
|
||||
/webkit/data
|
||||
/webpagereplay_logs/
|
||||
/x86-generic_out/
|
||||
diff --git a/v8/BUILD.gn b/v8/BUILD.gn
|
||||
--- a/v8/BUILD.gn
|
||||
+++ b/v8/BUILD.gn
|
||||
@@ -2293,7 +2293,7 @@ template("run_mksnapshot") {
|
||||
|
||||
# Replace this with --warn-about-builtin-profile-data to see the full
|
||||
# list of builtins with incompatible profiles.
|
||||
- "--abort-on-bad-builtin-profile-data",
|
||||
+ "--warn-about-builtin-profile-data",
|
||||
]
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
@@ -24,7 +24,7 @@ diff --git a/android_webview/system_webview_bundle.gni b/android_webview/system_
|
||||
diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
|
||||
--- a/chrome/browser/safe_browsing/BUILD.gn
|
||||
+++ b/chrome/browser/safe_browsing/BUILD.gn
|
||||
@@ -210,6 +210,7 @@ static_library("safe_browsing") {
|
||||
@@ -214,6 +214,7 @@ static_library("safe_browsing") {
|
||||
"//components/version_info",
|
||||
"//content/public/browser",
|
||||
"//services/preferences/public/mojom:mojom",
|
||||
|
||||
@@ -84,7 +84,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
|
||||
@@ -2669,9 +2669,9 @@
|
||||
@@ -2798,9 +2798,9 @@
|
||||
"expiry_milestone": 125
|
||||
},
|
||||
{
|
||||
@@ -100,8 +100,8 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
||||
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
|
||||
--- a/gpu/config/gpu_driver_bug_list.json
|
||||
+++ b/gpu/config/gpu_driver_bug_list.json
|
||||
@@ -3142,6 +3142,22 @@
|
||||
"dont_delete_source_texture_for_egl_image"
|
||||
@@ -3698,6 +3698,22 @@
|
||||
"no_downscaled_overlay_promotion"
|
||||
]
|
||||
},
|
||||
+ {
|
||||
@@ -121,8 +121,8 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis
|
||||
+ ]
|
||||
+ },
|
||||
{
|
||||
"id": 336,
|
||||
"cr_bugs": [625785],
|
||||
"id": 381,
|
||||
"cr_bugs": [
|
||||
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
|
||||
@@ -183,12 +183,12 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
|
||||
disable_accelerated_av1_decode
|
||||
+disable_aimagereader
|
||||
disable_accelerated_av1_encode
|
||||
disable_accelerated_h264_decode
|
||||
disable_accelerated_h264_encode
|
||||
disable_accelerated_hevc_decode
|
||||
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||
--- a/gpu/ipc/service/gpu_init.cc
|
||||
+++ b/gpu/ipc/service/gpu_init.cc
|
||||
@@ -614,6 +614,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
@@ -616,6 +616,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
}
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
@@ -231,7 +231,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
|
||||
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
|
||||
@@ -921,6 +921,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment,
|
||||
@@ -946,6 +946,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment,
|
||||
// Allows automatically disabling hardware secure Content Decryption Module
|
||||
// (CDM) after failures or crashes to fallback to software secure CDMs. If this
|
||||
// feature is disabled, the fallback will never happen and users could be stuck
|
||||
@@ -246,10 +246,10 @@ 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
|
||||
@@ -313,6 +313,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatStatelessVideoDecoder);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatStatefulVideoDecoder);
|
||||
#endif // defined(ARCH_CPU_ARM_FAMILY) && BUILDFLAG(IS_CHROMEOS)
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
|
||||
@@ -327,6 +327,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoToolboxVideoDecoder);
|
||||
#endif // BUILDFLAG(IS_APPLE)
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebRTCColorAccuracy);
|
||||
+MEDIA_EXPORT BASE_DECLARE_FEATURE(kAImageReaderVideoOutput);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVp9kSVCHWDecoding);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebContentsCaptureHiDpi);
|
||||
|
||||
@@ -18,7 +18,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
|
||||
@@ -229,6 +229,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
|
||||
@@ -231,6 +231,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;
|
||||
@@ -26,7 +26,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;
|
||||
@@ -972,6 +973,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -973,6 +974,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
super.onStartWithNative();
|
||||
ChromeActivitySessionTracker.getInstance().onStartWithNative();
|
||||
ChromeCachedFlags.getInstance().cacheNativeFlags();
|
||||
@@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
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
|
||||
@@ -9165,6 +9165,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9180,6 +9180,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kHttpsUpgradesDescription, kOsDesktop | kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kHttpsUpgrades)},
|
||||
|
||||
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -14,6 +14,11 @@
|
||||
@@ -16,6 +16,11 @@
|
||||
|
||||
namespace flag_descriptions {
|
||||
|
||||
@@ -80,7 +80,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
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
|
||||
@@ -139,6 +139,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -142,6 +142,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&feed::kFeedBoCSigninInterstitial,
|
||||
&feed::kFeedUserInteractionReliabilityReport,
|
||||
&feed::kInterestFeedContentSuggestions,
|
||||
@@ -88,7 +88,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
&feed::kInterestFeedV2,
|
||||
&feed::kInterestFeedV2Autoplay,
|
||||
&feed::kInterestFeedV2Hearts,
|
||||
@@ -449,6 +450,10 @@ BASE_FEATURE(kSearchReadyOmniboxFeature,
|
||||
@@ -458,6 +459,10 @@ BASE_FEATURE(kSearchReadyOmniboxFeature,
|
||||
"SearchReadyOmnibox",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
@@ -107,7 +107,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
|
||||
BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents);
|
||||
BASE_DECLARE_FEATURE(kAndroidAppIntegration);
|
||||
+BASE_DECLARE_FEATURE(kAllowUserCertificates);
|
||||
BASE_DECLARE_FEATURE(kAndroidWidgetFullscreenToast);
|
||||
BASE_DECLARE_FEATURE(kAndroidAppIntegrationSafeSearch);
|
||||
BASE_DECLARE_FEATURE(kAndroidSearchEngineChoiceNotification);
|
||||
BASE_DECLARE_FEATURE(kAndroidImprovedBookmarks);
|
||||
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
|
||||
@@ -121,7 +121,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
|
||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE =
|
||||
"AdaptiveButtonInTopToolbarTranslate";
|
||||
@@ -483,6 +484,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -499,6 +500,8 @@ public abstract class ChromeFeatureList {
|
||||
public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting";
|
||||
|
||||
/* Alphabetical: */
|
||||
@@ -130,7 +130,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final CachedFlag sAppMenuMobileSiteOption =
|
||||
new CachedFlag(APP_MENU_MOBILE_SITE_OPTION, false);
|
||||
public static final CachedFlag sBackGestureActivityTabProvider =
|
||||
@@ -605,6 +608,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -622,6 +625,7 @@ public abstract class ChromeFeatureList {
|
||||
|
||||
public static final List<CachedFlag> sFlagsCachedFullBrowser = List.of(
|
||||
// clang-format off
|
||||
@@ -141,7 +141,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
|
||||
--- a/net/android/java/src/org/chromium/net/X509Util.java
|
||||
+++ b/net/android/java/src/org/chromium/net/X509Util.java
|
||||
@@ -508,6 +508,8 @@ public class X509Util {
|
||||
@@ -545,6 +545,8 @@ public class X509Util {
|
||||
return userRootBytes.toArray(new byte[0][]);
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j
|
||||
public static AndroidCertVerifyResult verifyServerCertificates(byte[][] certChain,
|
||||
String authType,
|
||||
String host)
|
||||
@@ -594,6 +596,9 @@ public class X509Util {
|
||||
@@ -631,6 +633,9 @@ public class X509Util {
|
||||
isIssuedByKnownRoot = isKnownRoot(root);
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -9376,6 +9376,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9391,6 +9391,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kRequestDesktopSiteExceptionsName,
|
||||
flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
|
||||
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -1832,6 +1832,10 @@ const char kHttpsUpgradesDescription[] =
|
||||
@@ -1915,6 +1915,10 @@ const char kHttpsUpgradesDescription[] =
|
||||
"Enable automatically upgrading all top-level navigations to HTTPS with "
|
||||
"fast fallback to HTTP.";
|
||||
|
||||
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1014,6 +1014,9 @@ extern const char kHideNonDisplayableAccountEmailDescription[];
|
||||
@@ -1062,6 +1062,9 @@ extern const char kHiddenNetworkMigrationDescription[];
|
||||
extern const char kHttpsOnlyModeName[];
|
||||
extern const char kHttpsOnlyModeDescription[];
|
||||
|
||||
@@ -57,7 +57,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
--- a/net/base/features.cc
|
||||
+++ b/net/base/features.cc
|
||||
@@ -126,6 +126,10 @@ BASE_FEATURE(kEnableCrossSiteFlagNetworkIsolationKey, // must be
|
||||
@@ -131,6 +131,10 @@ BASE_FEATURE(kEnableCrossSiteFlagNetworkIsolationKey, // must be
|
||||
"EnableCrossSiteFlagNetworkIsolationKey", // disabled
|
||||
base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
@@ -83,7 +83,7 @@ diff --git a/net/base/features.h b/net/base/features.h
|
||||
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
|
||||
@@ -211,6 +211,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
@@ -212,6 +212,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -76,9 +76,9 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -83,6 +83,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
@@ -82,6 +82,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
private static final String PREF_SAFE_BROWSING = "safe_browsing";
|
||||
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
+ private static final String PREF_PROXY_OPTIONS = "proxy";
|
||||
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
|
||||
@@ -99,7 +99,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
|
||||
--- a/chrome/browser/browser_resources.grd
|
||||
+++ b/chrome/browser/browser_resources.grd
|
||||
@@ -292,11 +292,15 @@
|
||||
@@ -284,11 +284,15 @@
|
||||
<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>
|
||||
@@ -191,7 +191,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
|
||||
@@ -173,6 +173,8 @@
|
||||
@@ -175,6 +175,8 @@
|
||||
#include "rlz/buildflags/buildflags.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
|
||||
@@ -200,7 +200,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
|
||||
@@ -1216,6 +1218,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
@@ -1315,6 +1317,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
component_updater::RegisterPrefs(registry);
|
||||
domain_reliability::RegisterPrefs(registry);
|
||||
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
|
||||
@@ -655,7 +655,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
|
||||
@@ -385,6 +385,8 @@ static_library("ui") {
|
||||
@@ -397,6 +397,8 @@ static_library("ui") {
|
||||
"webui/metrics_internals/metrics_internals_ui.h",
|
||||
"webui/net_export_ui.cc",
|
||||
"webui/net_export_ui.h",
|
||||
@@ -667,7 +667,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
|
||||
@@ -58,6 +58,7 @@
|
||||
@@ -59,6 +59,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"
|
||||
@@ -675,7 +675,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
|
||||
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
|
||||
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
|
||||
#include "chrome/browser/ui/webui/signin_internals_ui.h"
|
||||
@@ -479,6 +480,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
@@ -489,6 +490,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
return &NewWebUI<MetricsInternalsUI>;
|
||||
if (url.host_piece() == chrome::kChromeUINetExportHost)
|
||||
return &NewWebUI<NetExportUI>;
|
||||
@@ -1121,7 +1121,7 @@ new file mode 100644
|
||||
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
|
||||
--- a/chrome/common/webui_url_constants.cc
|
||||
+++ b/chrome/common/webui_url_constants.cc
|
||||
@@ -49,6 +49,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
|
||||
@@ -50,6 +50,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
|
||||
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
|
||||
const char kChromeUIChromeSigninHost[] = "chrome-signin";
|
||||
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
|
||||
@@ -1130,7 +1130,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";
|
||||
@@ -464,6 +466,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
|
||||
@@ -431,6 +433,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
|
||||
kChromeUILockScreenNetworkHost,
|
||||
kChromeUILockScreenStartReauthHost,
|
||||
kChromeUIMobileSetupHost,
|
||||
@@ -1138,7 +1138,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
||||
kChromeUIMultiDeviceSetupHost,
|
||||
kChromeUINetworkHost,
|
||||
kChromeUINotificationTesterHost,
|
||||
@@ -754,6 +757,7 @@ const char* const kChromeHostURLs[] = {
|
||||
@@ -730,6 +733,7 @@ const char* const kChromeHostURLs[] = {
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
#if !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
kChromeUIAppLauncherPageHost,
|
||||
@@ -1149,10 +1149,10 @@ 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
|
||||
@@ -134,6 +134,8 @@ extern const char kChromeUIMetricsInternalsHost[];
|
||||
extern const char kChromeUINTPTilesInternalsHost[];
|
||||
@@ -136,6 +136,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
|
||||
extern const char kChromeUINaClHost[];
|
||||
extern const char kChromeUINetExportHost[];
|
||||
extern const char kChromeUINetExportURL[];
|
||||
+extern const char kChromeUIProxyConfigHost[];
|
||||
+extern const char kChromeUIProxyConfigURL[];
|
||||
extern const char kChromeUINetInternalsHost[];
|
||||
|
||||
@@ -49,13 +49,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../webapps/WebappIntentDataProvider.java | 14 ++
|
||||
chrome/browser/about_flags.cc | 4 +
|
||||
.../browser/android/historical_tab_saver.cc | 22 ++-
|
||||
.../chrome_autocomplete_provider_client.cc | 7 +
|
||||
.../chrome_autocomplete_provider_client.cc | 9 +
|
||||
.../chrome_autocomplete_provider_client.h | 1 +
|
||||
.../host_content_settings_map_factory.cc | 20 ++-
|
||||
.../remote_suggestions_service_factory.cc | 5 +
|
||||
.../host_content_settings_map_factory.cc | 22 ++-
|
||||
chrome/browser/flag_descriptions.cc | 6 +
|
||||
chrome/browser/flag_descriptions.h | 3 +
|
||||
.../flags/android/chrome_feature_list.cc | 4 +-
|
||||
chrome/browser/history/history_tab_helper.cc | 18 ++
|
||||
chrome/browser/history/history_tab_helper.cc | 20 +++
|
||||
chrome/browser/history/history_tab_helper.h | 10 +-
|
||||
.../android/offline_page_bridge.cc | 11 +-
|
||||
.../android/offline_page_model_factory.cc | 20 ++-
|
||||
@@ -65,6 +66,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/offline_pages/recent_tab_helper.h | 3 +
|
||||
.../request_coordinator_factory.h | 4 +-
|
||||
chrome/browser/prefs/browser_prefs.cc | 5 +
|
||||
chrome/browser/profiles/profile_selections.cc | 10 ++
|
||||
chrome/browser/profiles/profile_selections.h | 7 +-
|
||||
.../browser/ui/android/native_page/BUILD.gn | 2 +
|
||||
.../browser/ui/native_page/NativePage.java | 16 +-
|
||||
.../strings/android_chrome_strings.grd | 31 ++++
|
||||
@@ -84,7 +87,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../omnibox/browser/base_search_provider.cc | 2 +-
|
||||
components/omnibox/browser/search_provider.cc | 4 +-
|
||||
.../host_content_settings_map_factory.cc | 1 +
|
||||
65 files changed, 738 insertions(+), 90 deletions(-)
|
||||
68 files changed, 765 insertions(+), 91 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
|
||||
@@ -93,7 +96,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
|
||||
@@ -661,6 +661,7 @@ chrome_java_resources = [
|
||||
@@ -663,6 +663,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",
|
||||
@@ -112,7 +115,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",
|
||||
@@ -953,6 +954,7 @@ chrome_java_sources = [
|
||||
@@ -944,6 +945,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
|
||||
@@ -249,7 +252,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
|
||||
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
|
||||
import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout;
|
||||
@@ -578,9 +582,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -591,9 +595,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
mTabModelOrchestrator.onNativeLibraryReady(getTabContentManager());
|
||||
|
||||
// For saving non-incognito tab closures for Recent Tabs.
|
||||
@@ -267,7 +270,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(
|
||||
@@ -1948,8 +1957,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1933,8 +1942,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
Bundle savedInstanceState = getSavedInstanceState();
|
||||
|
||||
// We determine the model as soon as possible so every systems get initialized coherently.
|
||||
@@ -303,7 +306,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
|
||||
@@ -36,6 +36,7 @@ import org.chromium.base.supplier.ObservableSupplier;
|
||||
@@ -35,6 +35,7 @@ import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
@@ -375,7 +378,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
|
||||
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
|
||||
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ListItemType;
|
||||
@@ -235,6 +236,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -232,6 +233,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
public List<Pair<Integer, ModelList>> buildContextMenu() {
|
||||
mShowEphemeralTabNewLabel = null;
|
||||
|
||||
@@ -385,7 +388,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
List<Pair<Integer, ModelList>> groupedItems = new ArrayList<>();
|
||||
|
||||
if (mParams.isAnchor()) {
|
||||
@@ -253,6 +257,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -250,6 +254,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP));
|
||||
}
|
||||
}
|
||||
@@ -393,7 +396,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) {
|
||||
linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB));
|
||||
}
|
||||
@@ -277,7 +282,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -274,7 +279,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
}
|
||||
}
|
||||
if (FirstRunStatus.getFirstRunFlowComplete()) {
|
||||
@@ -471,7 +474,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.ArrayList;
|
||||
@@ -1243,7 +1246,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||
@@ -1223,7 +1226,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||
|
||||
@Override
|
||||
public boolean isIncognito() {
|
||||
@@ -544,7 +547,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
/**
|
||||
* Combines and manages the different UI components of browsing history.
|
||||
*/
|
||||
@@ -160,7 +167,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
|
||||
@@ -159,7 +166,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
|
||||
|
||||
recordUserAction("Show");
|
||||
// If incognito placeholder is shown, we don't need to create History UI elements.
|
||||
@@ -553,7 +556,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
mSelectableListLayout = null;
|
||||
mRootView = getIncognitoHistoryPlaceholderView();
|
||||
return;
|
||||
@@ -597,7 +604,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
|
||||
@@ -596,7 +603,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
|
||||
|
||||
private void swapContentView() {
|
||||
boolean toHistoryClusters;
|
||||
@@ -562,7 +565,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
return;
|
||||
} else if (isHistoryClustersUIShowing()) {
|
||||
toHistoryClusters = false;
|
||||
@@ -660,11 +667,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
|
||||
@@ -659,11 +666,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
|
||||
&& mContentView == mHistoryClustersCoordinator.getActivityContentView();
|
||||
}
|
||||
|
||||
@@ -588,7 +591,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;
|
||||
}
|
||||
@@ -684,7 +704,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
|
||||
@@ -683,7 +703,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
|
||||
* @return True if manager handles this event, false if it decides to ignore.
|
||||
*/
|
||||
public boolean onBackPressed() {
|
||||
@@ -661,8 +664,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
@@ -35,6 +35,15 @@ import org.chromium.components.signin.identitymanager.ConsentLevel;
|
||||
import org.chromium.components.signin.metrics.SigninAccessPoint;
|
||||
@@ -36,6 +36,15 @@ import org.chromium.components.signin.metrics.SigninAccessPoint;
|
||||
import org.chromium.components.sync.SyncService;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
+import android.content.Intent;
|
||||
@@ -677,7 +680,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -99,7 +108,8 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
|
||||
@@ -100,7 +109,8 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
|
||||
*/
|
||||
public RecentTabsManager(Tab tab, TabModelSelector tabModelSelector, Profile profile,
|
||||
Context context, Runnable showHistoryManager) {
|
||||
@@ -687,7 +690,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
|
||||
mActiveTab = tab;
|
||||
mTabModelSelector = tabModelSelector;
|
||||
mShowHistoryManager = showHistoryManager;
|
||||
@@ -251,6 +261,22 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
|
||||
@@ -252,6 +262,22 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
|
||||
*/
|
||||
public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) {
|
||||
if (mIsDestroyed) return;
|
||||
@@ -878,15 +881,15 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
@@ -68,6 +68,7 @@ import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl;
|
||||
import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
|
||||
@@ -70,6 +70,7 @@ import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
|
||||
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.messages.snackbar.INeedSnackbarManager;
|
||||
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;
|
||||
@@ -317,6 +318,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -320,6 +321,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
((PrivacySandboxSettingsBaseFragment) fragment)
|
||||
.setSnackbarManager(getSnackbarManager());
|
||||
}
|
||||
@@ -1008,7 +1011,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
|
||||
@@ -124,6 +124,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
|
||||
@@ -125,6 +125,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
@@ -1017,7 +1020,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
import org.chromium.ui.base.IntentRequestTracker;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
|
||||
@@ -781,7 +783,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -797,7 +799,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
mAppMenuCoordinator.getAppMenuHandler(), mActivityTabProvider,
|
||||
mToolbarManager.getMenuButtonView(), () -> {
|
||||
mTabCreatorManagerSupplier.get()
|
||||
@@ -1105,7 +1108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
import org.chromium.chrome.browser.IntentHandler;
|
||||
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
|
||||
@@ -502,7 +503,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
||||
@@ -500,7 +501,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
||||
return ret;
|
||||
}
|
||||
},
|
||||
@@ -1148,7 +1151,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -155,6 +164,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
@@ -147,6 +156,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
return mWebApkExtras;
|
||||
}
|
||||
|
||||
@@ -1163,7 +1166,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
||||
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
|
||||
@@ -5085,6 +5085,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -5073,6 +5073,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kOfflinePagesLivePageSharingName,
|
||||
flag_descriptions::kOfflinePagesLivePageSharingDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesLivePageSharingFeature)},
|
||||
@@ -1237,14 +1240,16 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
|
||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -350,6 +350,13 @@ ChromeAutocompleteProviderClient::GetOnDeviceTailModelService() const {
|
||||
@@ -350,6 +350,15 @@ ChromeAutocompleteProviderClient::GetOnDeviceTailModelService() const {
|
||||
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
}
|
||||
|
||||
+bool ChromeAutocompleteProviderClient::IsAlwaysIncognitoEnabled() const {
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ if (profile_->GetPrefs()->GetBoolean(prefs::kAlwaysIncognitoEnabled)) {
|
||||
+ return true;
|
||||
+ }
|
||||
+#endif
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
@@ -1262,6 +1267,29 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h b
|
||||
bool IsIncognitoProfile() const override;
|
||||
bool IsGuestSession() const override;
|
||||
bool SearchSuggestEnabled() const override;
|
||||
diff --git a/chrome/browser/autocomplete/remote_suggestions_service_factory.cc b/chrome/browser/autocomplete/remote_suggestions_service_factory.cc
|
||||
--- a/chrome/browser/autocomplete/remote_suggestions_service_factory.cc
|
||||
+++ b/chrome/browser/autocomplete/remote_suggestions_service_factory.cc
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "chrome/browser/autocomplete/remote_suggestions_service_factory.h"
|
||||
|
||||
+#include "build/build_config.h"
|
||||
#include "base/no_destructor.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "components/omnibox/browser/remote_suggestions_service.h"
|
||||
@@ -36,7 +37,11 @@ RemoteSuggestionsServiceFactory::RemoteSuggestionsServiceFactory()
|
||||
: ProfileKeyedServiceFactory(
|
||||
"RemoteSuggestionsService",
|
||||
ProfileSelections::Builder()
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ .WithRegular(ProfileSelection::kOriginalOnlyAndAlwaysIncognito)
|
||||
+#else
|
||||
.WithRegular(ProfileSelection::kOriginalOnly)
|
||||
+#endif
|
||||
// TODO(crbug.com/1418376): Check if this service is needed in
|
||||
// Guest mode.
|
||||
.WithGuest(ProfileSelection::kOriginalOnly)
|
||||
diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.cc b/chrome/browser/content_settings/host_content_settings_map_factory.cc
|
||||
--- a/chrome/browser/content_settings/host_content_settings_map_factory.cc
|
||||
+++ b/chrome/browser/content_settings/host_content_settings_map_factory.cc
|
||||
@@ -1273,13 +1301,14 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
|
||||
#include "components/content_settings/core/browser/content_settings_pref_provider.h"
|
||||
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
||||
#include "components/permissions/features.h"
|
||||
@@ -119,9 +120,23 @@ scoped_refptr<RefcountedKeyedService>
|
||||
@@ -119,9 +120,25 @@ scoped_refptr<RefcountedKeyedService>
|
||||
should_record_metrics && ash::ProfileHelper::IsUserProfile(profile);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
+ bool always_incognito_enabled = false;
|
||||
+ bool force_save_site_settings = false;
|
||||
+
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ PrefService* prefService = original_profile->GetPrefs();
|
||||
+ if (prefService->GetBoolean(prefs::kAlwaysIncognitoEnabled)) {
|
||||
+ always_incognito_enabled = true;
|
||||
@@ -1289,6 +1318,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
|
||||
+ profile = original_profile;
|
||||
+ force_save_site_settings = true;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
scoped_refptr<HostContentSettingsMap> settings_map(new HostContentSettingsMap(
|
||||
profile->GetPrefs(),
|
||||
@@ -1298,7 +1328,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
|
||||
/*store_last_modified=*/true, profile->ShouldRestoreOldSessionCookies(),
|
||||
should_record_metrics));
|
||||
|
||||
@@ -131,6 +146,9 @@ scoped_refptr<RefcountedKeyedService>
|
||||
@@ -131,6 +148,9 @@ scoped_refptr<RefcountedKeyedService>
|
||||
HostContentSettingsMap::WEBUI_ALLOWLIST_PROVIDER,
|
||||
std::move(allowlist_provider));
|
||||
|
||||
@@ -1311,7 +1341,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
|
||||
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
|
||||
@@ -3994,6 +3994,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
|
||||
@@ -4044,6 +4044,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
|
||||
"Enables to share current loaded page as offline page by saving as MHTML "
|
||||
"first.";
|
||||
|
||||
@@ -1327,7 +1357,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -2330,6 +2330,9 @@ extern const char kOmahaMinSdkVersionAndroidDescription[];
|
||||
@@ -2355,6 +2355,9 @@ extern const char kOmahaMinSdkVersionAndroidDescription[];
|
||||
extern const char kOmahaMinSdkVersionAndroidMinSdk1Description[];
|
||||
extern const char kOmahaMinSdkVersionAndroidMinSdk1000Description[];
|
||||
|
||||
@@ -1340,7 +1370,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
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
|
||||
@@ -535,8 +535,8 @@ BASE_FEATURE(kCCTFeatureUsage,
|
||||
@@ -537,8 +537,8 @@ BASE_FEATURE(kCCTFeatureUsage,
|
||||
BASE_FEATURE(kCCTIncognito, "CCTIncognito", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
|
||||
@@ -1378,16 +1408,18 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
|
||||
if (profile->IsOffTheRecord())
|
||||
return nullptr;
|
||||
|
||||
@@ -481,6 +491,14 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
@@ -481,6 +491,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
profile, ServiceAccessType::IMPLICIT_ACCESS);
|
||||
}
|
||||
|
||||
+// static
|
||||
+void HistoryTabHelper::RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ registry->RegisterBooleanPref(prefs::kIncognitoTabHistoryEnabled,
|
||||
+ /*default_value=*/false);
|
||||
+ registry->RegisterBooleanPref(prefs::kIncognitoSaveSiteSettingEnabled,
|
||||
+ /*default_value=*/false);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
void HistoryTabHelper::WebContentsDestroyed() {
|
||||
@@ -1470,7 +1502,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
|
||||
|
||||
namespace offline_pages {
|
||||
|
||||
@@ -54,13 +57,15 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
@@ -55,13 +58,15 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
scoped_refptr<base::SequencedTaskRunner> background_task_runner =
|
||||
base::ThreadPool::CreateSequencedTaskRunner({base::MayBlock()});
|
||||
|
||||
@@ -1488,7 +1520,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
|
||||
// If base::PathService::Get returns false, the temporary_archives_dir will be
|
||||
// empty, and no temporary pages will be saved during this chrome lifecycle.
|
||||
base::FilePath temporary_archives_dir;
|
||||
@@ -69,7 +74,6 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
@@ -70,7 +75,6 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
temporary_archives_dir.Append(chrome::kOfflinePageArchivesDirname);
|
||||
}
|
||||
|
||||
@@ -1496,7 +1528,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
|
||||
auto archive_manager = std::make_unique<DownloadArchiveManager>(
|
||||
temporary_archives_dir, persistent_archives_dir,
|
||||
DownloadPrefs::GetDefaultDownloadDirectory(), background_task_runner,
|
||||
@@ -87,4 +91,14 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
@@ -88,4 +92,14 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
return model;
|
||||
}
|
||||
|
||||
@@ -1551,7 +1583,7 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
|
||||
// Depends on OfflinePageModelFactory in SimpleDependencyManager.
|
||||
}
|
||||
|
||||
@@ -90,6 +90,12 @@ RequestCoordinator* RequestCoordinatorFactory::GetForBrowserContext(
|
||||
@@ -91,6 +91,12 @@ RequestCoordinator* RequestCoordinatorFactory::GetForBrowserContext(
|
||||
|
||||
KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
|
||||
content::BrowserContext* context) const {
|
||||
@@ -1564,7 +1596,7 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
|
||||
std::unique_ptr<OfflinerPolicy> policy(new OfflinerPolicy());
|
||||
std::unique_ptr<Offliner> offliner;
|
||||
OfflinePageModel* model =
|
||||
@@ -122,4 +128,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
|
||||
@@ -123,4 +129,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
|
||||
return request_coordinator;
|
||||
}
|
||||
|
||||
@@ -1672,18 +1704,18 @@ 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
|
||||
@@ -234,6 +234,7 @@
|
||||
@@ -232,6 +232,7 @@
|
||||
#include "components/feed/core/shared_prefs/pref_names.h"
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
+#include "chrome/browser/history/history_tab_helper.h"
|
||||
#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
|
||||
#include "chrome/browser/android/explore_sites/history_statistics_reporter.h"
|
||||
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
|
||||
@@ -1598,6 +1599,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
#include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
|
||||
@@ -1698,6 +1699,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
|
||||
variations::VariationsService::RegisterProfilePrefs(registry);
|
||||
webapps::InstallPromptPrefs::RegisterLocalPrefs(registry);
|
||||
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
|
||||
+ // register incognito pref
|
||||
+ registry->RegisterBooleanPref(prefs::kAlwaysIncognitoEnabled,
|
||||
+ /*default_value=*/false);
|
||||
@@ -1691,6 +1723,57 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
#else // BUILDFLAG(IS_ANDROID)
|
||||
bookmarks_webui::RegisterProfilePrefs(registry);
|
||||
browser_sync::ForeignSessionHandler::RegisterProfilePrefs(registry);
|
||||
diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/profiles/profile_selections.cc
|
||||
--- a/chrome/browser/profiles/profile_selections.cc
|
||||
+++ b/chrome/browser/profiles/profile_selections.cc
|
||||
@@ -5,6 +5,9 @@
|
||||
#include "chrome/browser/profiles/profile_selections.h"
|
||||
|
||||
#include "base/memory/ptr_util.h"
|
||||
+#include "components/prefs/pref_registry_simple.h"
|
||||
+#include "components/prefs/pref_service.h"
|
||||
+#include "chrome/common/pref_names.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/browser/profiles/profile_types_ash.h"
|
||||
#include "components/profile_metrics/browser_profile_type.h"
|
||||
@@ -110,6 +113,13 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const {
|
||||
return nullptr;
|
||||
case ProfileSelection::kOriginalOnly:
|
||||
return profile->IsOffTheRecord() ? nullptr : profile;
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ case ProfileSelection::kOriginalOnlyAndAlwaysIncognito:
|
||||
+ return profile->IsOffTheRecord() &&
|
||||
+ !(profile->GetOriginalProfile()
|
||||
+ ->GetPrefs()
|
||||
+ ->GetBoolean(prefs::kAlwaysIncognitoEnabled)) ? nullptr : profile;
|
||||
+#endif
|
||||
case ProfileSelection::kOwnInstance:
|
||||
return profile;
|
||||
case ProfileSelection::kRedirectedToOriginal:
|
||||
diff --git a/chrome/browser/profiles/profile_selections.h b/chrome/browser/profiles/profile_selections.h
|
||||
--- a/chrome/browser/profiles/profile_selections.h
|
||||
+++ b/chrome/browser/profiles/profile_selections.h
|
||||
@@ -6,7 +6,7 @@
|
||||
#define CHROME_BROWSER_PROFILES_PROFILE_SELECTIONS_H_
|
||||
|
||||
#include "base/feature_list.h"
|
||||
-
|
||||
+#include "build/build_config.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
|
||||
class Profile;
|
||||
@@ -27,6 +27,11 @@ bool AreKeyedServicesDisabledForProfileByDefault(const Profile* profile);
|
||||
enum class ProfileSelection {
|
||||
kNone, // Original: No Profile -- OTR: No Profile
|
||||
kOriginalOnly, // Original: Self -- OTR: No Profile
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ kOriginalOnlyAndAlwaysIncognito,
|
||||
+ // Original: Self -- OTR: Self (with AlwaysIncognito ON)
|
||||
+ // -- OTR: No Profile (with AlwaysIncognito OFF)
|
||||
+#endif
|
||||
kOwnInstance, // Original: Self -- OTR: Self
|
||||
kRedirectedToOriginal, // Original: Self -- OTR: Original
|
||||
kOffTheRecordOnly // Original: No Profile -- OTR: Self
|
||||
diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn
|
||||
--- a/chrome/browser/ui/android/native_page/BUILD.gn
|
||||
+++ b/chrome/browser/ui/android/native_page/BUILD.gn
|
||||
@@ -1768,7 +1851,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
|
||||
@@ -1349,6 +1349,37 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1384,6 +1384,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>
|
||||
@@ -1831,8 +1914,8 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/messages/android/BUILD.gn b/chrome/browser/ui/messages/android/BUILD.gn
|
||||
--- a/chrome/browser/ui/messages/android/BUILD.gn
|
||||
+++ b/chrome/browser/ui/messages/android/BUILD.gn
|
||||
@@ -23,6 +23,7 @@ android_resources("java_resources") {
|
||||
android_library("java") {
|
||||
@@ -24,6 +24,7 @@ android_library("java") {
|
||||
srcjar_deps = [ ":jni_headers" ]
|
||||
sources = [
|
||||
"java/src/org/chromium/chrome/browser/ui/messages/infobar/SimpleConfirmInfoBarBuilder.java",
|
||||
+ "java/src/org/chromium/chrome/browser/ui/messages/snackbar/INeedSnackbarManager.java",
|
||||
@@ -1874,7 +1957,7 @@ new file mode 100644
|
||||
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
|
||||
--- a/chrome/common/pref_names.cc
|
||||
+++ b/chrome/common/pref_names.cc
|
||||
@@ -3436,6 +3436,12 @@ const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
|
||||
@@ -3460,6 +3460,12 @@ const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
|
||||
const char kLacrosSelection[] = "lacros_selection";
|
||||
#endif
|
||||
|
||||
@@ -1890,7 +1973,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
|
||||
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
|
||||
@@ -1212,6 +1212,8 @@ extern const char kDiscountConsentShowInterestIn[];
|
||||
@@ -1214,6 +1214,8 @@ extern const char kDiscountConsentShowInterestIn[];
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
extern const char kWebXRImmersiveArEnabled[];
|
||||
@@ -1899,7 +1982,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
#endif
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
@@ -1252,6 +1254,10 @@ extern const char kPrivacyGuideViewed[];
|
||||
@@ -1255,6 +1257,10 @@ extern const char kPrivacyGuideViewed[];
|
||||
|
||||
extern const char kCorsNonWildcardRequestHeadersSupport[];
|
||||
|
||||
@@ -1913,7 +1996,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
|
||||
@@ -117,10 +117,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
@@ -86,10 +86,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
|
||||
PrefProvider::PrefProvider(PrefService* prefs,
|
||||
bool off_the_record,
|
||||
@@ -1926,7 +2009,7 @@ 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");
|
||||
@@ -143,10 +145,14 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
@@ -112,10 +114,14 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
WebsiteSettingsRegistry* website_settings =
|
||||
WebsiteSettingsRegistry::GetInstance();
|
||||
for (const WebsiteSettingsInfo* info : *website_settings) {
|
||||
@@ -1964,7 +2047,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
|
||||
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
|
||||
--- a/components/content_settings/core/browser/host_content_settings_map.cc
|
||||
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
|
||||
@@ -248,6 +248,7 @@ const char* ContentSettingToString(ContentSetting setting) {
|
||||
@@ -276,6 +276,7 @@ struct ContentSettingEntry {
|
||||
|
||||
HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
bool is_off_the_record,
|
||||
@@ -1972,7 +2055,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
bool store_last_modified,
|
||||
bool restore_session,
|
||||
bool should_record_metrics)
|
||||
@@ -257,6 +258,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
@@ -285,6 +286,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
#endif
|
||||
prefs_(prefs),
|
||||
is_off_the_record_(is_off_the_record),
|
||||
@@ -1980,7 +2063,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
store_last_modified_(store_last_modified),
|
||||
allow_invalid_secondary_pattern_for_testing_(false),
|
||||
clock_(base::DefaultClock::GetInstance()) {
|
||||
@@ -269,7 +271,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
@@ -297,7 +299,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
policy_provider->AddObserver(this);
|
||||
|
||||
auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>(
|
||||
@@ -1992,7 +2075,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
diff --git a/components/content_settings/core/browser/host_content_settings_map.h b/components/content_settings/core/browser/host_content_settings_map.h
|
||||
--- a/components/content_settings/core/browser/host_content_settings_map.h
|
||||
+++ b/components/content_settings/core/browser/host_content_settings_map.h
|
||||
@@ -82,6 +82,7 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
@@ -103,6 +103,7 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
// profile or a guest session.
|
||||
HostContentSettingsMap(PrefService* prefs,
|
||||
bool is_off_the_record,
|
||||
@@ -2000,7 +2083,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
bool store_last_modified,
|
||||
bool restore_session,
|
||||
bool should_record_metrics);
|
||||
@@ -446,6 +447,8 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
@@ -507,6 +508,8 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
// Whether this settings map is for an incognito or guest session.
|
||||
bool is_off_the_record_;
|
||||
|
||||
|
||||
@@ -278,7 +278,7 @@ new file mode 100644
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -234,7 +234,7 @@ void ContentSettingsRegistry::Init() {
|
||||
@@ -244,7 +244,7 @@ void ContentSettingsRegistry::Init() {
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/android/java/AndroidManifest.xml | 1 -
|
||||
.../java/res/menu/bookmark_toolbar_menu.xml | 14 +
|
||||
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
|
||||
.../app/bookmarks/BookmarkActivity.java | 31 ++
|
||||
.../app/bookmarks/BookmarkActivity.java | 32 ++
|
||||
.../browser/bookmarks/BookmarkBridge.java | 278 +++++++++++++++++
|
||||
.../browser/bookmarks/BookmarkDelegate.java | 10 +
|
||||
.../bookmarks/BookmarkManagerCoordinator.java | 9 +
|
||||
@@ -49,7 +49,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
ui/shell_dialogs/select_file_dialog.h | 2 +
|
||||
.../select_file_dialog_android.cc | 6 +
|
||||
ui/shell_dialogs/select_file_dialog_android.h | 2 +
|
||||
39 files changed, 885 insertions(+), 30 deletions(-)
|
||||
39 files changed, 886 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||
--- a/chrome/android/java/AndroidManifest.xml
|
||||
@@ -130,23 +130,24 @@ 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
|
||||
@@ -33,6 +38,8 @@ 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";
|
||||
|
||||
+ private ActivityWindowAndroid mWindowAndroid;
|
||||
+ private IntentRequestTracker mIntentRequestTracker;
|
||||
+
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -54,8 +61,23 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -54,8 +62,23 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
BackPressHelper.create(this, getOnBackPressedDispatcher(),
|
||||
mBookmarkManagerCoordinator::onBackPressed, SecondaryActivity.BOOKMARK);
|
||||
}
|
||||
+
|
||||
+ final boolean listenToActivityState = true;
|
||||
+ IntentRequestTracker intentRequestTracker = IntentRequestTracker.createFromActivity(this);
|
||||
+ mWindowAndroid = new ActivityWindowAndroid(this, listenToActivityState, intentRequestTracker);
|
||||
+ mIntentRequestTracker = IntentRequestTracker.createFromActivity(this);
|
||||
+ mWindowAndroid = new ActivityWindowAndroid(this, listenToActivityState, mIntentRequestTracker);
|
||||
+ mWindowAndroid.getIntentRequestTracker().restoreInstanceState(savedInstanceState);
|
||||
+ mBookmarkManagerCoordinator.setWindow(mWindowAndroid,
|
||||
+ new ModalDialogManager(
|
||||
@@ -163,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
@@ -65,6 +87,7 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -65,6 +88,7 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
@@ -171,7 +172,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(
|
||||
data.getStringExtra(INTENT_VISIT_BOOKMARK_ID));
|
||||
@@ -72,6 +95,14 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -72,6 +96,14 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,7 +244,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.
|
||||
@@ -437,6 +476,209 @@ class BookmarkBridge {
|
||||
@@ -435,6 +474,209 @@ class BookmarkBridge {
|
||||
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
|
||||
}
|
||||
|
||||
@@ -453,7 +454,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* Synchronously gets a list of bookmarks that match the specified search query.
|
||||
* @param query Keyword used for searching bookmarks.
|
||||
@@ -921,6 +1163,39 @@ class BookmarkBridge {
|
||||
@@ -919,6 +1161,39 @@ class BookmarkBridge {
|
||||
depthList.add(depth);
|
||||
}
|
||||
|
||||
@@ -493,7 +494,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++) {
|
||||
@@ -956,6 +1231,9 @@ class BookmarkBridge {
|
||||
@@ -954,6 +1229,9 @@ class BookmarkBridge {
|
||||
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
|
||||
void getChildIds(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
|
||||
List<BookmarkId> bookmarksList);
|
||||
@@ -535,7 +536,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;
|
||||
@@ -224,6 +226,13 @@ public class BookmarkManagerCoordinator
|
||||
@@ -225,6 +227,13 @@ public class BookmarkManagerCoordinator
|
||||
|
||||
// Public API implementation.
|
||||
|
||||
@@ -552,16 +553,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
|
||||
@@ -53,6 +53,8 @@ import org.chromium.components.browser_ui.widget.listmenu.ListMenuItemProperties
|
||||
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
|
||||
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
|
||||
@@ -56,6 +56,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega
|
||||
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver;
|
||||
import org.chromium.components.commerce.core.CommerceSubscription;
|
||||
import org.chromium.components.commerce.core.ShoppingService;
|
||||
+import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
+import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.components.favicon.LargeIconBridge;
|
||||
import org.chromium.components.feature_engagement.EventConstants;
|
||||
import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
|
||||
@@ -74,6 +76,9 @@ class BookmarkManagerMediator
|
||||
@@ -80,6 +82,9 @@ class BookmarkManagerMediator
|
||||
|
||||
private static boolean sPreventLoadingForTesting;
|
||||
|
||||
@@ -586,7 +587,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* See BookmarkManager(Coordinator)#updateForUrl
|
||||
*/
|
||||
@@ -625,6 +638,16 @@ class BookmarkManagerMediator
|
||||
@@ -628,6 +641,16 @@ class BookmarkManagerMediator
|
||||
}
|
||||
}
|
||||
|
||||
@@ -638,7 +639,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
@@ -114,6 +114,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -116,6 +116,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
setOnMenuItemClickListener(dragEnabled ? null : this);
|
||||
}
|
||||
|
||||
@@ -656,7 +657,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
void setSearchButtonVisible(boolean visible) {
|
||||
// The improved bookmarks experience embeds search in the list.
|
||||
if (BookmarkFeatures.isAndroidImprovedBookmarksEnabled()) return;
|
||||
@@ -145,6 +156,8 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -147,6 +158,8 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
|
||||
void setCurrentFolder(BookmarkId folder) {
|
||||
mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
|
||||
@@ -665,7 +666,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
}
|
||||
|
||||
void setOpenFolderCallback(Callback<BookmarkId> openFolderCallback) {
|
||||
@@ -164,6 +177,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -166,6 +179,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
hideOverflowMenu();
|
||||
@@ -679,7 +680,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
return mMenuIdClickedFunction.apply(menuItem.getItemId());
|
||||
}
|
||||
|
||||
@@ -184,6 +204,9 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -186,6 +206,9 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
protected void showNormalView() {
|
||||
super.showNormalView();
|
||||
|
||||
@@ -692,7 +693,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
|
||||
@@ -82,6 +82,10 @@ class BookmarkToolbarMediator implements BookmarkUiObserver, DragListener,
|
||||
@@ -81,6 +81,10 @@ class BookmarkToolbarMediator implements BookmarkUiObserver, DragListener,
|
||||
mBookmarkDelegate = bookmarkDelegate;
|
||||
mModel.set(
|
||||
BookmarkToolbarProperties.OPEN_FOLDER_CALLBACK, mBookmarkDelegate::openFolder);
|
||||
@@ -798,7 +799,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
|
||||
@@ -202,6 +202,8 @@ static_library("browser") {
|
||||
@@ -204,6 +204,8 @@ static_library("browser") {
|
||||
"bluetooth/chrome_bluetooth_delegate_impl_client.h",
|
||||
"bookmarks/bookmark_model_factory.cc",
|
||||
"bookmarks/bookmark_model_factory.h",
|
||||
@@ -807,7 +808,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",
|
||||
@@ -1861,6 +1863,13 @@ static_library("browser") {
|
||||
@@ -1873,6 +1875,13 @@ static_library("browser") {
|
||||
"webid/federated_identity_permission_context_factory.h",
|
||||
]
|
||||
|
||||
@@ -821,7 +822,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
configs += [
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
"//build/config:precompiled_headers",
|
||||
@@ -3509,8 +3518,6 @@ static_library("browser") {
|
||||
@@ -3498,8 +3507,6 @@ static_library("browser") {
|
||||
"badging/badge_manager_factory.h",
|
||||
"banners/app_banner_manager_desktop.cc",
|
||||
"banners/app_banner_manager_desktop.h",
|
||||
@@ -833,7 +834,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -9342,6 +9342,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9357,6 +9357,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
|
||||
#endif
|
||||
|
||||
@@ -1345,8 +1346,8 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
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
|
||||
@@ -7193,6 +7193,11 @@ const char kPromiseIconsDescription[] =
|
||||
|
||||
@@ -7343,6 +7343,11 @@ const char kEnableAudioFocusEnforcementDescription[] =
|
||||
"any one time. Requires #enable-media-session-service to be enabled too.";
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
+const char kBookmarksExportUseSafName[] = "Use saf for bookmarks export";
|
||||
@@ -1360,8 +1361,8 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -4163,6 +4163,9 @@ extern const char kPromiseIconsDescription[];
|
||||
|
||||
@@ -4243,6 +4243,9 @@ extern const char kEnableAudioFocusEnforcementName[];
|
||||
extern const char kEnableAudioFocusEnforcementDescription[];
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
+extern const char kBookmarksExportUseSafName[];
|
||||
@@ -1373,7 +1374,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
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
|
||||
@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -176,6 +176,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kClearOmniboxFocusAfterNavigation,
|
||||
&kCloseTabSuggestions,
|
||||
&kCloseTabSaveTabList,
|
||||
@@ -1381,7 +1382,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
&kCriticalPersistedTabData,
|
||||
&kCreateNewTabInitializeRenderer,
|
||||
&kCCTBackgroundTab,
|
||||
@@ -1137,5 +1138,10 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
|
||||
@@ -1155,5 +1156,10 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
|
||||
"WebApkTrampolineOnInitialIntent",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
@@ -1395,18 +1396,18 @@ 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
|
||||
@@ -175,6 +175,7 @@ BASE_DECLARE_FEATURE(kTabStripRedesign);
|
||||
@@ -177,6 +177,7 @@ BASE_DECLARE_FEATURE(kTabStripRedesign);
|
||||
BASE_DECLARE_FEATURE(kTabletToolbarReordering);
|
||||
BASE_DECLARE_FEATURE(kTabStripStartupRefactoring);
|
||||
BASE_DECLARE_FEATURE(kTabToGTSAnimation);
|
||||
+BASE_DECLARE_FEATURE(kBookmarksExportUseSaf);
|
||||
BASE_DECLARE_FEATURE(kTestDefaultDisabled);
|
||||
BASE_DECLARE_FEATURE(kTestDefaultEnabled);
|
||||
BASE_DECLARE_FEATURE(kToolbarMicIphAndroid);
|
||||
BASE_DECLARE_FEATURE(kThumbnailPlaceholder);
|
||||
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
|
||||
@@ -456,6 +456,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -472,6 +472,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String USE_CHIME_ANDROID_SDK = "UseChimeAndroidSdk";
|
||||
public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
|
||||
"UseLibunwindstackNativeUnwinderAndroid";
|
||||
@@ -1484,7 +1485,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
|
||||
/**
|
||||
* Whether Chrome is set as the default browser.
|
||||
@@ -996,6 +998,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -984,6 +986,7 @@ public final class ChromePreferenceKeys {
|
||||
AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
|
||||
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
|
||||
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
|
||||
@@ -1523,7 +1524,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
|
||||
@@ -406,6 +406,9 @@ static_library("common_lib") {
|
||||
@@ -414,6 +414,9 @@ static_library("common_lib") {
|
||||
sources += [
|
||||
"media/chrome_media_drm_bridge_client.cc",
|
||||
"media/chrome_media_drm_bridge_client.h",
|
||||
@@ -1715,7 +1716,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
|
||||
if (permissions[i].equals(storagePermission)
|
||||
|| permissions[i].equals(PermissionConstants.READ_MEDIA_IMAGES)
|
||||
|| permissions[i].equals(
|
||||
@@ -571,6 +578,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
@@ -629,6 +636,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
}
|
||||
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
|
||||
}
|
||||
@@ -1723,7 +1724,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
|
||||
return mimeTypes;
|
||||
}
|
||||
|
||||
@@ -899,6 +907,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
@@ -957,6 +965,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
return countAcceptTypesFor(superType) == mFileTypes.size();
|
||||
}
|
||||
|
||||
@@ -1750,7 +1751,7 @@ diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/st
|
||||
diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_file_dialog.h
|
||||
--- a/ui/shell_dialogs/select_file_dialog.h
|
||||
+++ b/ui/shell_dialogs/select_file_dialog.h
|
||||
@@ -210,6 +210,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
|
||||
@@ -211,6 +211,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
|
||||
const GURL* caller = nullptr);
|
||||
bool HasMultipleFileTypeChoices();
|
||||
|
||||
@@ -1773,8 +1774,8 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/s
|
||||
+}
|
||||
+
|
||||
SelectFileDialogImpl::~SelectFileDialogImpl() {
|
||||
}
|
||||
|
||||
JNIEnv* env = base::android::AttachCurrentThread();
|
||||
Java_SelectFileDialog_nativeDestroyed(env, java_object_);
|
||||
diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/select_file_dialog_android.h
|
||||
--- a/ui/shell_dialogs/select_file_dialog_android.h
|
||||
+++ b/ui/shell_dialogs/select_file_dialog_android.h
|
||||
|
||||
@@ -126,7 +126,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -104,6 +104,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
@@ -103,6 +103,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher;
|
||||
private Profile mProfile;
|
||||
|
||||
@@ -136,7 +136,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
PrivacyPreferencesManagerImpl privacyPrefManager =
|
||||
@@ -251,6 +254,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
@@ -250,6 +253,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
String key = preference.getKey();
|
||||
@@ -265,6 +271,14 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
@@ -264,6 +270,14 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
||||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
|
||||
@@ -161,7 +161,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -288,6 +302,16 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
@@ -287,6 +301,16 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
||||
UserPrefs.get(mProfile).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
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
|
||||
@@ -539,8 +539,8 @@ BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
|
||||
@@ -541,8 +541,8 @@ BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kCCTIntentFeatureOverrides,
|
||||
@@ -192,7 +192,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
|
||||
BASE_FEATURE(kCCTPageInsightsHub,
|
||||
"CCTPageInsightsHub",
|
||||
@@ -548,7 +548,7 @@ BASE_FEATURE(kCCTPageInsightsHub,
|
||||
@@ -550,7 +550,7 @@ BASE_FEATURE(kCCTPageInsightsHub,
|
||||
|
||||
BASE_FEATURE(kCCTPostMessageAPI,
|
||||
"CCTPostMessageAPI",
|
||||
@@ -220,7 +220,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
|
||||
@@ -4998,6 +4998,20 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -5015,6 +5015,20 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_NEAR_OOM_INTERVENTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can resume what it was doing.">
|
||||
Resume
|
||||
</message>
|
||||
|
||||
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -226,6 +226,8 @@ import java.util.Locale;
|
||||
@@ -230,6 +230,8 @@ import java.util.Locale;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
/**
|
||||
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
|
||||
* are accessible via a chrome specific tab switching UI.
|
||||
@@ -2263,6 +2265,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2260,6 +2262,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
} else if (id == R.id.close_tab) {
|
||||
getCurrentTabModel().closeTab(currentTab, true, false, true);
|
||||
RecordUserAction.record("MobileTabClosed");
|
||||
@@ -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
|
||||
@@ -3658,6 +3658,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3687,6 +3687,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
|
||||
Dark theme
|
||||
</message>
|
||||
|
||||
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -575,6 +575,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
|
||||
@@ -582,6 +582,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -5252,7 +5252,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -5242,7 +5242,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
|
||||
flag_descriptions::kForceTextDirectionDescription, kOsAll,
|
||||
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
|
||||
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -1271,6 +1271,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
|
||||
@@ -1332,6 +1332,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
|
||||
"Show deprecation notifications and disable functionality for Alt based "
|
||||
"six pack deprecations. The Search based versions continue to work.";
|
||||
|
||||
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -664,6 +664,9 @@ extern const char kDeprecateAltBasedSixPackDescription[];
|
||||
@@ -694,6 +694,9 @@ extern const char kDeprecateAltBasedSixPackDescription[];
|
||||
extern const char kDeprecateOldKeyboardShortcutsAcceleratorName[];
|
||||
extern const char kDeprecateOldKeyboardShortcutsAcceleratorDescription[];
|
||||
|
||||
@@ -99,7 +99,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
|
||||
@@ -82,6 +82,8 @@ extern uint32_t GetLoaderChunkSize();
|
||||
@@ -84,6 +84,8 @@ extern uint32_t GetLoaderChunkSize();
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
BASE_DECLARE_FEATURE(kCorsNonWildcardRequestHeadersSupport);
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1185,6 +1185,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
|
||||
@@ -1230,6 +1230,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
|
||||
switches::kForceDisplayColorProfile, "hdr10"},
|
||||
};
|
||||
|
||||
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
const FeatureEntry::Choice kMemlogModeChoices[] = {
|
||||
{flags_ui::kGenericExperimentChoiceDisabled, "", ""},
|
||||
{flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode,
|
||||
@@ -5155,6 +5160,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -5143,6 +5148,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(chrome::android::kShareSheetCustomActionsPolish)},
|
||||
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -2022,6 +2022,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
|
||||
@@ -2112,6 +2112,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
|
||||
"websites abusing the API will still eventually have their setTimeouts "
|
||||
"clamped.";
|
||||
|
||||
@@ -60,7 +60,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1131,6 +1131,9 @@ extern const char kLogJsConsoleMessagesDescription[];
|
||||
@@ -1182,6 +1182,9 @@ extern const char kLogJsConsoleMessagesDescription[];
|
||||
extern const char kUnthrottledNestedTimeoutName[];
|
||||
extern const char kUnthrottledNestedTimeoutDescription[];
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3908,6 +3908,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3909,6 +3909,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
chrome::android::kContextualSearchSuppressShortView,
|
||||
kContextualSearchSuppressShortViewVariations,
|
||||
"ContextualSearchSuppressShortView")},
|
||||
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -1347,6 +1347,11 @@ const char kEnableManagedConfigurationWebApiDescription[] =
|
||||
@@ -1408,6 +1408,11 @@ const char kEnableManagedConfigurationWebApiDescription[] =
|
||||
"Allows website to access a managed configuration provided by the device "
|
||||
"administrator for the origin.";
|
||||
|
||||
@@ -44,15 +44,15 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -733,6 +733,9 @@ extern const char kEnablePenetratingImageSelectionDescription[];
|
||||
@@ -766,6 +766,9 @@ extern const char kEnablePenetratingImageSelectionDescription[];
|
||||
extern const char kEnablePerfettoSystemTracingName[];
|
||||
extern const char kEnablePerfettoSystemTracingDescription[];
|
||||
|
||||
+extern const char kResumeBackgroundVideoName[];
|
||||
+extern const char kResumeBackgroundVideoDescription[];
|
||||
+
|
||||
extern const char kEnablePixelCanvasRecordingName[];
|
||||
extern const char kEnablePixelCanvasRecordingDescription[];
|
||||
extern const char kEnablePeripheralCustomizationName[];
|
||||
extern const char kEnablePeripheralCustomizationDescription[];
|
||||
|
||||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
|
||||
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -6477,6 +6477,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -6475,6 +6475,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
|
||||
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
|
||||
@@ -32,7 +32,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -3760,6 +3760,10 @@ const char kCCTTextFragmentLookupApiEnabledName[] =
|
||||
@@ -3821,6 +3821,10 @@ const char kCCTTextFragmentLookupApiEnabledName[] =
|
||||
const char kCCTTextFragmentLookupApiEnabledDescription[] =
|
||||
"Enable CCT API to lookup text fragments";
|
||||
|
||||
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -804,6 +804,9 @@ extern const char kEnableWasmStringrefName[];
|
||||
@@ -846,6 +846,9 @@ extern const char kEnableWasmStringrefName[];
|
||||
extern const char kEnableWasmStringrefDescription[];
|
||||
|
||||
extern const char kEnableWasmTieringName[];
|
||||
@@ -59,7 +59,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1083,6 +1083,7 @@ component("net") {
|
||||
@@ -1085,6 +1085,7 @@ component("net") {
|
||||
"//build:chromeos_buildflags",
|
||||
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
|
||||
"//net/http:transport_security_state_generated_files",
|
||||
@@ -97,7 +97,7 @@ diff --git a/net/base/features.h b/net/base/features.h
|
||||
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
||||
--- a/net/dns/host_resolver_manager.cc
|
||||
+++ b/net/dns/host_resolver_manager.cc
|
||||
@@ -108,6 +108,7 @@
|
||||
@@ -110,6 +110,7 @@
|
||||
#include "net/log/net_log_event_type.h"
|
||||
#include "net/log/net_log_source.h"
|
||||
#include "net/log/net_log_source_type.h"
|
||||
@@ -105,7 +105,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
||||
#include "net/log/net_log_with_source.h"
|
||||
#include "net/socket/client_socket_factory.h"
|
||||
#include "net/url_request/url_request_context.h"
|
||||
@@ -725,6 +726,9 @@ class HostResolverManager::RequestImpl
|
||||
@@ -677,6 +678,9 @@ class HostResolverManager::RequestImpl
|
||||
// request source is LOCAL_ONLY. This is due to LOCAL_ONLY requiring a
|
||||
// synchronous response, so it cannot wait on an async probe result and
|
||||
// cannot make assumptions about reachability.
|
||||
@@ -114,8 +114,8 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
||||
+ }
|
||||
if (parameters_.source == HostResolverSource::LOCAL_ONLY) {
|
||||
int rv = resolver_->StartIPv6ReachabilityCheck(
|
||||
source_net_log_, base::DoNothingAs<void(int)>());
|
||||
@@ -3944,6 +3948,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
|
||||
source_net_log_, GetClientSocketFactory(),
|
||||
@@ -3895,6 +3899,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,35 +7,37 @@ when flag is disabled no external intent will ever be allowed, for any URL.
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/browser/about_flags.cc | 3 +++
|
||||
chrome/browser/about_flags.cc | 5 +++++
|
||||
chrome/browser/flag_descriptions.cc | 6 ++++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
3 files changed, 12 insertions(+)
|
||||
3 files changed, 14 insertions(+)
|
||||
|
||||
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
|
||||
@@ -3848,6 +3848,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3849,6 +3849,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
|
||||
flag_descriptions::kUiPartialSwapDescription, kOsAll,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
|
||||
+ {"disable-external-intent-requests", flag_descriptions::kDisableExternalIntentRequestsName,
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ {"allow-external-intent-requests", flag_descriptions::kDisableExternalIntentRequestsName,
|
||||
+ flag_descriptions::kDisableExternalIntentRequestsDescription, kOsAll,
|
||||
+ SINGLE_DISABLE_VALUE_TYPE("disable-external-intent-requests")},
|
||||
+#endif
|
||||
{"disable-webrtc-hw-decoding", flag_descriptions::kWebrtcHwDecodingName,
|
||||
flag_descriptions::kWebrtcHwDecodingDescription, kOsAndroid | kOsCrOS,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWDecoding)},
|
||||
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
|
||||
@@ -4062,6 +4062,12 @@ const char kPolicyLogsPageAndroidDescription[] =
|
||||
@@ -4112,6 +4112,12 @@ const char kPolicyLogsPageAndroidDescription[] =
|
||||
"Enable the new chrome://policy-logs page containing logs for debugging "
|
||||
"policy related issues on Android.";
|
||||
|
||||
+const char kDisableExternalIntentRequestsName[] =
|
||||
+ "Never forward URL requests to external intents";
|
||||
+ "Allow forward URL requests to external intents";
|
||||
+const char kDisableExternalIntentRequestsDescription[] =
|
||||
+ "URL requests will never"
|
||||
+ "If disabled, URL requests will never"
|
||||
+ "allow for redirecting to an external intent.";
|
||||
+
|
||||
const char kQueryTilesName[] = "Show query tiles";
|
||||
@@ -44,7 +46,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -2383,6 +2383,9 @@ extern const char kQueryTilesNTPDescription[];
|
||||
@@ -2408,6 +2408,9 @@ extern const char kQueryTilesNTPDescription[];
|
||||
extern const char kQueryTilesOnStartName[];
|
||||
extern const char kQueryTilesOnStartDescription[];
|
||||
extern const char kQueryTilesSingleTierName[];
|
||||
|
||||
@@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -7898,6 +7898,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -7943,6 +7943,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
|
||||
#endif
|
||||
|
||||
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
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
|
||||
@@ -6822,6 +6822,9 @@ const char kLacrosMergeIcuDataFileDescription[] =
|
||||
@@ -6959,6 +6959,9 @@ const char kLacrosMergeIcuDataFileDescription[] =
|
||||
"Enables sharing common areas of icudtl.dat between Ash and Lacros.";
|
||||
#endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
|
||||
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -4149,6 +4149,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
|
||||
@@ -4227,6 +4227,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
|
||||
extern const char kWebUITabStripTabDragIntegrationDescription[];
|
||||
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
@@ -84,7 +84,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
|
||||
@@ -347,6 +347,8 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWarmUpNetworkProcess);
|
||||
@@ -344,6 +344,8 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWarmUpNetworkProcess);
|
||||
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebNfc);
|
||||
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
@@ -141,7 +141,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
|
||||
@@ -2476,6 +2476,10 @@
|
||||
@@ -2495,6 +2495,10 @@
|
||||
status: {"Android": "stable"},
|
||||
base_feature: "none",
|
||||
},
|
||||
|
||||
@@ -7,25 +7,26 @@ 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 | 5 +++++
|
||||
build/config/compiler/BUILD.gn | 6 +++++-
|
||||
build_overrides/build.gni | 3 +++
|
||||
2 files changed, 8 insertions(+)
|
||||
2 files changed, 8 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
|
||||
@@ -1748,6 +1748,11 @@ config("default_warnings") {
|
||||
@@ -1772,7 +1772,11 @@ config("default_warnings") {
|
||||
# TODO(crbug.com/1412713) Evaluate and possibly enable.
|
||||
"-Wno-deprecated-this-capture",
|
||||
]
|
||||
-
|
||||
+ if (skip_clangd_unsupported_options) {
|
||||
+ cflags -= [
|
||||
+ "-Wno-deprecated-builtins",
|
||||
+ ]
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
if (llvm_force_head_revision) {
|
||||
# TODO(https://crbug.com/1448905): Evaluate and possibly enable.
|
||||
cflags += [ "-Wno-builtin-macro-redefined" ]
|
||||
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
|
||||
--- a/build_overrides/build.gni
|
||||
+++ b/build_overrides/build.gni
|
||||
|
||||
@@ -56,13 +56,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../one_time_permissions_tracker.cc | 34 +++++++-
|
||||
.../one_time_permissions_tracker.h | 5 +-
|
||||
.../one_time_permissions_tracker_factory.cc | 2 +-
|
||||
.../permission_prompt_bubble_base_view.cc | 2 +-
|
||||
.../site_settings/PermissionInfo.java | 14 +++-
|
||||
.../site_settings/SingleWebsiteSettings.java | 10 +++
|
||||
.../WebsitePreferenceBridge.java | 6 +-
|
||||
.../android/website_preference_bridge.cc | 7 +-
|
||||
.../strings/android/browser_ui_strings.grd | 5 ++
|
||||
components/content_settings/android/BUILD.gn | 1 +
|
||||
.../core/browser/content_settings_utils.cc | 29 +++++++
|
||||
.../core/browser/content_settings_utils.cc | 36 +++++++++
|
||||
.../core/browser/content_settings_utils.h | 6 ++
|
||||
.../common/content_settings_constraints.h | 11 +++
|
||||
.../page_info/PageInfoController.java | 4 +-
|
||||
@@ -86,7 +87,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/permissions/permission_request.h | 18 ++++-
|
||||
.../permissions/permission_request_manager.cc | 45 +++++++----
|
||||
.../permissions/permission_request_manager.h | 11 ++-
|
||||
34 files changed, 515 insertions(+), 59 deletions(-)
|
||||
35 files changed, 523 insertions(+), 60 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
|
||||
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
|
||||
@@ -139,15 +140,14 @@ diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/br
|
||||
diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome/browser/permissions/one_time_permissions_tracker.cc
|
||||
--- a/chrome/browser/permissions/one_time_permissions_tracker.cc
|
||||
+++ b/chrome/browser/permissions/one_time_permissions_tracker.cc
|
||||
@@ -16,8 +16,35 @@
|
||||
@@ -18,8 +18,35 @@
|
||||
#include "components/permissions/features.h"
|
||||
#include "content/public/browser/visibility.h"
|
||||
#include "url/gurl.h"
|
||||
+#include "components/content_settings/core/browser/host_content_settings_map.h"
|
||||
+#include "components/content_settings/core/common/content_settings_utils.h"
|
||||
+#include "components/permissions/permissions_client.h"
|
||||
|
||||
-OneTimePermissionsTracker::OneTimePermissionsTracker() = default;
|
||||
+
|
||||
+namespace {
|
||||
+ // Remove all sessions content setting by origin and type
|
||||
+ void RemoveSessionSettings(HostContentSettingsMap* content_settings,
|
||||
@@ -170,13 +170,14 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
|
||||
-OneTimePermissionsTracker::OneTimePermissionsTracker() = default;
|
||||
+OneTimePermissionsTracker::OneTimePermissionsTracker(content::BrowserContext* context)
|
||||
+ : context_(context) {}
|
||||
OneTimePermissionsTracker::~OneTimePermissionsTracker() = default;
|
||||
|
||||
OneTimePermissionsTracker::OriginTrackEntry::OriginTrackEntry() = default;
|
||||
@@ -91,6 +118,11 @@ void OneTimePermissionsTracker::WebContentsUnloadedOrigin(
|
||||
@@ -93,6 +120,11 @@ void OneTimePermissionsTracker::WebContentsUnloadedOrigin(
|
||||
observer.OnLastPageFromOriginClosed(origin);
|
||||
}
|
||||
}
|
||||
@@ -191,15 +192,15 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome
|
||||
diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/browser/permissions/one_time_permissions_tracker.h
|
||||
--- a/chrome/browser/permissions/one_time_permissions_tracker.h
|
||||
+++ b/chrome/browser/permissions/one_time_permissions_tracker.h
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "base/observer_list.h"
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "base/timer/timer.h"
|
||||
#include "chrome/browser/permissions/one_time_permissions_tracker_observer.h"
|
||||
#include "components/content_settings/core/common/content_settings_pattern.h"
|
||||
+#include "chrome/browser/profiles/profile.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
#include "components/keyed_service/core/keyed_service.h"
|
||||
#include "content/public/browser/visibility.h"
|
||||
@@ -23,7 +24,7 @@ class OneTimePermissionsTracker : public KeyedService {
|
||||
@@ -24,7 +25,7 @@ class OneTimePermissionsTracker : public KeyedService {
|
||||
void (OneTimePermissionsTracker::*)(const url::Origin&);
|
||||
|
||||
public:
|
||||
@@ -208,7 +209,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/
|
||||
~OneTimePermissionsTracker() override;
|
||||
|
||||
OneTimePermissionsTracker(const OneTimePermissionsTracker&) = delete;
|
||||
@@ -118,7 +119,7 @@ class OneTimePermissionsTracker : public KeyedService {
|
||||
@@ -127,7 +128,7 @@ class OneTimePermissionsTracker : public KeyedService {
|
||||
base::ObserverList<OneTimePermissionsTrackerObserver> observer_list_;
|
||||
|
||||
std::map<url::Origin, OriginTrackEntry> origin_tracker_;
|
||||
@@ -220,13 +221,25 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/
|
||||
diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc b/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
|
||||
--- a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
|
||||
+++ b/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
|
||||
@@ -39,5 +39,5 @@ bool OneTimePermissionsTrackerFactory::ServiceIsCreatedWithBrowserContext()
|
||||
@@ -40,5 +40,5 @@ bool OneTimePermissionsTrackerFactory::ServiceIsCreatedWithBrowserContext()
|
||||
|
||||
KeyedService* OneTimePermissionsTrackerFactory::BuildServiceInstanceFor(
|
||||
content::BrowserContext* context) const {
|
||||
- return new OneTimePermissionsTracker();
|
||||
+ return new OneTimePermissionsTracker(context);
|
||||
}
|
||||
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
|
||||
@@ -336,7 +336,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallbacks(
|
||||
delegate_->Accept();
|
||||
return;
|
||||
case PermissionDialogButton::kAcceptOnce:
|
||||
- delegate_->AcceptThisTime();
|
||||
+ delegate_->AcceptThisTime(content_settings::LifetimeMode::Always);
|
||||
return;
|
||||
case PermissionDialogButton::kDeny:
|
||||
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
|
||||
@@ -281,7 +294,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
import org.chromium.components.embedder_support.util.Origin;
|
||||
import org.chromium.content_public.browser.BrowserContextHandle;
|
||||
import org.chromium.content_public.browser.ContentFeatureList;
|
||||
@@ -540,6 +541,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
@@ -541,6 +542,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
}
|
||||
}
|
||||
|
||||
@@ -293,7 +306,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();
|
||||
@@ -969,6 +975,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
@@ -970,6 +976,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
if (contentType == mHighlightedPermission) {
|
||||
switchPreference.setBackgroundColor(mHighlightColor);
|
||||
}
|
||||
@@ -352,7 +365,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
|
||||
insertionFunc(env, static_cast<int>(content_type), list,
|
||||
ConvertOriginToJavaString(env, origin), jembedder,
|
||||
- /*is_embargoed=*/false);
|
||||
+ /*is_embargoed=*/false, static_cast<int>(settings_it.metadata.session_model));
|
||||
+ /*is_embargoed=*/false, static_cast<int>(settings_it.metadata.session_model()));
|
||||
}
|
||||
|
||||
// Add any origins which have a default content setting value (thus skipped
|
||||
@@ -394,34 +407,41 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -182,6 +182,35 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration) {
|
||||
return base::Time::Now() + duration;
|
||||
@@ -175,6 +175,42 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) {
|
||||
return constraints.session_model() == SessionModel::Durable;
|
||||
}
|
||||
|
||||
+ContentSettingConstraints GetConstraintSessionExpiration(LifetimeMode lifetime_mode) {
|
||||
+ int lifetime;
|
||||
+ base::Time now;
|
||||
+ if (lifetime_mode == LifetimeMode::OnlyThisTime) {
|
||||
+ // note: this content settings will be discarded immediately
|
||||
+ // 1h is used as a magic constant to identify the one-time lifetime mode
|
||||
+ return {base::Time() + base::Hours(1), content_settings::SessionModel::UserSession};
|
||||
+ lifetime = 1;
|
||||
+ } else if (lifetime_mode == LifetimeMode::UntilOriginClosed) {
|
||||
+ return {base::Time::Now() + base::Hours(24), content_settings::SessionModel::UserSession};
|
||||
+ now = base::Time::Now();
|
||||
+ lifetime = 24;
|
||||
+ } else {
|
||||
+ return {base::Time(), content_settings::SessionModel::UserSession};
|
||||
+ lifetime = 0;
|
||||
+ }
|
||||
+ content_settings::ContentSettingConstraints c(now);
|
||||
+ c.set_lifetime(base::Hours(lifetime));
|
||||
+ c.set_session_model(content_settings::SessionModel::UserSession);
|
||||
+ return c;
|
||||
+}
|
||||
+
|
||||
+bool IsConstraintSessionExpiration(const ContentSettingPatternSource& source,
|
||||
+ LifetimeMode lifetime_mode) {
|
||||
+ if (source.metadata.session_model != content_settings::SessionModel::UserSession)
|
||||
+ if (source.metadata.session_model() != content_settings::SessionModel::UserSession)
|
||||
+ return false;
|
||||
+
|
||||
+ LifetimeMode type;
|
||||
+ if (source.metadata.expiration == base::Time()) {
|
||||
+ type = LifetimeMode::UntilBrowserClosed;
|
||||
+ } else if (source.metadata.expiration == (base::Time() + base::Hours(1))) {
|
||||
+ if (source.metadata.lifetime() == base::Hours(24)) {
|
||||
+ type = LifetimeMode::UntilOriginClosed;
|
||||
+ } else if (source.metadata.expiration() == (base::Time() + base::Hours(1))) {
|
||||
+ type = LifetimeMode::OnlyThisTime;
|
||||
+ } else {
|
||||
+ type = LifetimeMode::UntilOriginClosed;
|
||||
+ type = LifetimeMode::UntilBrowserClosed;
|
||||
+ }
|
||||
+
|
||||
+ return lifetime_mode == type;
|
||||
@@ -433,7 +453,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.h
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.h
|
||||
@@ -76,6 +76,12 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration);
|
||||
@@ -73,6 +73,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints);
|
||||
// Returns whether the given type supports tracking last_visit timestamps.
|
||||
bool CanTrackLastVisit(ContentSettingsType type);
|
||||
|
||||
@@ -472,8 +492,8 @@ diff --git a/components/content_settings/core/common/content_settings_constraint
|
||||
+};
|
||||
+
|
||||
// Constraints to be applied when setting a content setting.
|
||||
struct ContentSettingConstraints {
|
||||
// Specification of an |expiration| provides an upper bound on the time a
|
||||
class ContentSettingConstraints {
|
||||
public:
|
||||
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
|
||||
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
|
||||
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
|
||||
@@ -576,19 +596,19 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
|
||||
--- a/components/page_info/page_info.cc
|
||||
+++ b/components/page_info/page_info.cc
|
||||
@@ -1134,6 +1134,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
@@ -1141,6 +1141,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);
|
||||
+ permission_info.is_user_session =
|
||||
+ (info.metadata.session_model == content_settings::SessionModel::UserSession);
|
||||
permission_info.is_one_time = (info.metadata.session_model() ==
|
||||
content_settings::SessionModel::OneTime);
|
||||
+ permission_info.is_user_session =
|
||||
+ (info.metadata.session_model() == content_settings::SessionModel::UserSession);
|
||||
|
||||
if (info.primary_pattern == ContentSettingsPattern::Wildcard() &&
|
||||
info.secondary_pattern == ContentSettingsPattern::Wildcard()) {
|
||||
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
|
||||
--- a/components/page_info/page_info.h
|
||||
+++ b/components/page_info/page_info.h
|
||||
@@ -197,6 +197,7 @@ class PageInfo : private content_settings::CookieControlsView {
|
||||
@@ -197,6 +197,7 @@ class PageInfo : private content_settings::OldCookieControlsObserver {
|
||||
content_settings::SETTING_SOURCE_NONE;
|
||||
// Whether the permission is a one-time grant.
|
||||
bool is_one_time = false;
|
||||
@@ -983,7 +1003,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
|
||||
--- a/components/permissions/permission_context_base.cc
|
||||
+++ b/components/permissions/permission_context_base.cc
|
||||
@@ -248,6 +248,20 @@ PermissionContextBase::CreatePermissionRequest(
|
||||
@@ -250,6 +250,20 @@ PermissionContextBase::CreatePermissionRequest(
|
||||
std::move(delete_callback));
|
||||
}
|
||||
|
||||
@@ -1004,7 +1024,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
PermissionResult PermissionContextBase::GetPermissionStatus(
|
||||
content::RenderFrameHost* render_frame_host,
|
||||
const GURL& requesting_origin,
|
||||
@@ -427,7 +441,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
|
||||
@@ -429,7 +443,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
|
||||
const GURL& embedding_origin,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
@@ -1014,7 +1034,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
|
||||
content_setting == CONTENT_SETTING_BLOCK ||
|
||||
content_setting == CONTENT_SETTING_DEFAULT);
|
||||
@@ -442,13 +457,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
|
||||
@@ -444,13 +459,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
|
||||
// missing if a permission prompt was preignored and we already notified an
|
||||
// origin about it.
|
||||
if (request->second.second) {
|
||||
@@ -1033,7 +1053,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
}
|
||||
}
|
||||
|
||||
@@ -500,11 +516,27 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
@@ -502,11 +518,27 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
bool is_final_decision) {
|
||||
@@ -1062,7 +1082,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
}
|
||||
|
||||
if (is_final_decision) {
|
||||
@@ -534,6 +566,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
@@ -536,6 +568,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
const GURL& embedding_origin,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time) {
|
||||
@@ -1078,10 +1098,10 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
|
||||
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
|
||||
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
|
||||
@@ -542,6 +583,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
content_settings::ContentSettingConstraints constraints = {
|
||||
base::Time(), is_one_time ? content_settings::SessionModel::OneTime
|
||||
: content_settings::SessionModel::Durable};
|
||||
@@ -545,6 +586,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
constraints.set_session_model(is_one_time
|
||||
? content_settings::SessionModel::OneTime
|
||||
: content_settings::SessionModel::Durable);
|
||||
+ if (is_one_time)
|
||||
+ constraints = content_settings::GetConstraintSessionExpiration(lifetime_option);
|
||||
|
||||
@@ -1090,7 +1110,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
|
||||
--- a/components/permissions/permission_context_base.h
|
||||
+++ b/components/permissions/permission_context_base.h
|
||||
@@ -138,6 +138,15 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
@@ -143,6 +143,15 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
|
||||
// Updates stored content setting if persist is set, updates tab indicators
|
||||
// and runs the callback to finish the request.
|
||||
@@ -1106,7 +1126,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
|
||||
virtual void NotifyPermissionSet(const PermissionRequestID& id,
|
||||
const GURL& requesting_origin,
|
||||
const GURL& embedding_origin,
|
||||
@@ -159,6 +168,11 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
@@ -164,6 +173,11 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
// Store the decided permission as a content setting.
|
||||
// virtual since the permission might be stored with different restrictions
|
||||
// (for example for desktop notifications).
|
||||
@@ -1118,7 +1138,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
|
||||
virtual void UpdateContentSetting(const GURL& requesting_origin,
|
||||
const GURL& embedding_origin,
|
||||
ContentSetting content_setting,
|
||||
@@ -191,6 +205,14 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
@@ -196,6 +210,14 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
|
||||
base::OnceClosure delete_callback) const;
|
||||
|
||||
@@ -1133,7 +1153,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
|
||||
ContentSettingsType content_settings_type() const {
|
||||
return content_settings_type_;
|
||||
}
|
||||
@@ -217,7 +239,8 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
@@ -222,7 +244,8 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
const GURL& embedding_origin,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
@@ -1146,7 +1166,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
|
||||
diff --git a/components/permissions/permission_prompt.h b/components/permissions/permission_prompt.h
|
||||
--- a/components/permissions/permission_prompt.h
|
||||
+++ b/components/permissions/permission_prompt.h
|
||||
@@ -59,8 +59,9 @@ class PermissionPrompt {
|
||||
@@ -63,8 +63,9 @@ class PermissionPrompt {
|
||||
virtual GURL GetEmbeddingOrigin() const = 0;
|
||||
|
||||
virtual void Accept() = 0;
|
||||
@@ -1179,7 +1199,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
PermissionRequest::~PermissionRequest() {
|
||||
DCHECK(delete_callback_.is_null());
|
||||
}
|
||||
@@ -256,19 +268,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
@@ -263,19 +275,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
permissions::features::kPermissionStorageAccessAPI);
|
||||
}
|
||||
|
||||
@@ -1273,7 +1293,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
|
||||
--- a/components/permissions/permission_request_manager.cc
|
||||
+++ b/components/permissions/permission_request_manager.cc
|
||||
@@ -152,7 +152,7 @@ void PermissionRequestManager::AddRequest(
|
||||
@@ -155,7 +155,7 @@ void PermissionRequestManager::AddRequest(
|
||||
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kDenyPermissionPrompts)) {
|
||||
@@ -1282,7 +1302,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
request->RequestFinished();
|
||||
return;
|
||||
}
|
||||
@@ -228,7 +228,7 @@ void PermissionRequestManager::AddRequest(
|
||||
@@ -231,7 +231,7 @@ void PermissionRequestManager::AddRequest(
|
||||
if (auto_approval_origin) {
|
||||
if (url::Origin::Create(request->requesting_origin()) ==
|
||||
auto_approval_origin.value()) {
|
||||
@@ -1291,7 +1311,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
request->RequestFinished();
|
||||
return;
|
||||
@@ -563,7 +563,8 @@ void PermissionRequestManager::Accept() {
|
||||
@@ -566,7 +566,8 @@ void PermissionRequestManager::Accept() {
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::GRANTED);
|
||||
PermissionGrantedIncludingDuplicates(*requests_iter,
|
||||
@@ -1301,7 +1321,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
absl::optional<ContentSettingsType> content_settings_type =
|
||||
@@ -581,7 +582,7 @@ void PermissionRequestManager::Accept() {
|
||||
@@ -584,7 +585,7 @@ void PermissionRequestManager::Accept() {
|
||||
FinalizeCurrentRequests(PermissionAction::GRANTED);
|
||||
}
|
||||
|
||||
@@ -1310,7 +1330,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
if (ignore_callbacks_from_prompt_)
|
||||
return;
|
||||
DCHECK(view_);
|
||||
@@ -592,7 +593,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
@@ -595,7 +596,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::GRANTED_ONCE);
|
||||
PermissionGrantedIncludingDuplicates(*requests_iter,
|
||||
@@ -1320,7 +1340,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
|
||||
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
|
||||
@@ -600,6 +602,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
@@ -603,6 +605,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
}
|
||||
|
||||
void PermissionRequestManager::Deny() {
|
||||
@@ -1336,7 +1356,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
if (ignore_callbacks_from_prompt_)
|
||||
return;
|
||||
DCHECK(view_);
|
||||
@@ -622,7 +633,7 @@ void PermissionRequestManager::Deny() {
|
||||
@@ -625,7 +636,7 @@ void PermissionRequestManager::Deny() {
|
||||
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::DENIED);
|
||||
@@ -1345,7 +1365,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
|
||||
NotifyRequestDecided(PermissionAction::DENIED);
|
||||
@@ -1137,32 +1148,32 @@ PermissionRequestManager::VisitDuplicateRequests(
|
||||
@@ -1155,32 +1166,32 @@ PermissionRequestManager::VisitDuplicateRequests(
|
||||
|
||||
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
|
||||
PermissionRequest* request,
|
||||
@@ -1388,7 +1408,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
request);
|
||||
}
|
||||
|
||||
@@ -1411,7 +1422,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
|
||||
@@ -1429,7 +1440,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
|
||||
void PermissionRequestManager::DoAutoResponseForTesting() {
|
||||
switch (auto_response_for_test_) {
|
||||
case ACCEPT_ONCE:
|
||||
@@ -1411,8 +1431,8 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
|
||||
+ void DenyThisTime(content_settings::LifetimeMode lifetime_option) override;
|
||||
void Dismiss() override;
|
||||
void Ignore() override;
|
||||
void PreIgnoreQuietPrompt() override;
|
||||
@@ -355,9 +357,12 @@ class PermissionRequestManager
|
||||
void OpenHelpCenterLink(const ui::Event& event) override;
|
||||
@@ -356,9 +358,12 @@ class PermissionRequestManager
|
||||
|
||||
// Calls PermissionGranted on a request and all its duplicates.
|
||||
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
|
||||
|
||||
@@ -8,7 +8,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 24 ++++++++
|
||||
.../browser/bookmarks/BookmarkBridge.java | 61 +++++++++++++++++++
|
||||
.../browser/bookmarks/BookmarkUtils.java | 4 ++
|
||||
.../bookmarks/android/bookmark_bridge.cc | 17 ++++++
|
||||
.../bookmarks/android/bookmark_bridge.cc | 19 +++++-
|
||||
.../bookmarks/android/bookmark_bridge.h | 4 ++
|
||||
.../browser/bookmarks/bookmark_html_writer.cc | 8 ++-
|
||||
.../bookmarks/chrome_bookmark_client.cc | 2 +
|
||||
@@ -25,7 +25,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/bookmarks/browser/bookmark_node.h | 5 ++
|
||||
components/bookmarks/browser/model_loader.cc | 3 +-
|
||||
.../bookmark_specifics_conversions.cc | 1 +
|
||||
21 files changed, 200 insertions(+), 10 deletions(-)
|
||||
21 files changed, 201 insertions(+), 11 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
|
||||
@@ -54,7 +54,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
|
||||
@@ -78,6 +78,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
|
||||
@@ -80,6 +80,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
||||
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
@@ -62,7 +62,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;
|
||||
@@ -2285,6 +2286,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2282,6 +2283,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
|
||||
() -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false);
|
||||
RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||
@@ -71,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||
// Close only incognito tabs
|
||||
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
|
||||
@@ -2350,6 +2353,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2347,6 +2350,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
|
||||
}
|
||||
|
||||
@@ -130,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;
|
||||
@@ -381,6 +388,16 @@ class BookmarkBridge {
|
||||
@@ -379,6 +386,16 @@ class BookmarkBridge {
|
||||
mNativeBookmarkBridge, BookmarkBridge.this);
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* @return Id representing the special "other" folder from bookmark model.
|
||||
*/
|
||||
@@ -1004,6 +1021,49 @@ class BookmarkBridge {
|
||||
@@ -1002,6 +1019,49 @@ class BookmarkBridge {
|
||||
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* @param url The URL of the reading list item.
|
||||
* @return The reading list item with the URL, or null if no such reading list item.
|
||||
@@ -1222,6 +1282,7 @@ class BookmarkBridge {
|
||||
@@ -1220,6 +1280,7 @@ class BookmarkBridge {
|
||||
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
|
||||
List<BookmarkId> folderList, List<Integer> depthList);
|
||||
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
|
||||
@@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
||||
@@ -584,6 +584,7 @@ public class BookmarkUtils {
|
||||
@@ -575,6 +575,7 @@ public class BookmarkUtils {
|
||||
List<BookmarkId> topLevelFolders = new ArrayList<>();
|
||||
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
|
||||
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
|
||||
@@ -216,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
|
||||
|
||||
List<BookmarkId> specialFoldersIds =
|
||||
@@ -609,6 +610,9 @@ public class BookmarkUtils {
|
||||
@@ -600,6 +601,9 @@ public class BookmarkUtils {
|
||||
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
|
||||
topLevelFolders.add(mobileNodeId);
|
||||
}
|
||||
@@ -229,7 +229,14 @@ 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
|
||||
@@ -476,6 +476,11 @@ void BookmarkBridge::GetTopLevelFolderIds(
|
||||
@@ -470,12 +470,17 @@ void BookmarkBridge::GetTopLevelFolderIds(
|
||||
std::size_t special_count = top_level_folders.size();
|
||||
|
||||
if (get_normal) {
|
||||
- DCHECK_EQ(4u, bookmark_model_->root_node()->children().size());
|
||||
+ DCHECK_EQ(5u, bookmark_model_->root_node()->children().size());
|
||||
for (const auto& node : bookmark_model_->mobile_node()->children()) {
|
||||
if (node->is_folder())
|
||||
top_level_folders.push_back(node.get());
|
||||
}
|
||||
|
||||
@@ -350,7 +357,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
|
||||
@@ -3788,6 +3788,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3817,6 +3817,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
|
||||
Select tabs
|
||||
</message>
|
||||
@@ -576,7 +583,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
|
||||
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
|
||||
--- a/components/bookmarks/browser/bookmark_model.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_model.cc
|
||||
@@ -816,7 +816,7 @@ bool BookmarkModel::HasBookmarks() {
|
||||
@@ -817,7 +817,7 @@ bool BookmarkModel::HasBookmarks() {
|
||||
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return bookmark_bar_node_->children().empty() &&
|
||||
@@ -585,7 +592,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
|
||||
}
|
||||
|
||||
bool BookmarkModel::IsBookmarked(const GURL& url) {
|
||||
@@ -1122,6 +1122,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
@@ -1123,6 +1123,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();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user