Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cc1a82b970 |
+1
-2
@@ -1,2 +1 @@
|
|||||||
*.zip binary
|
*.zip binary
|
||||||
*.pdf binary
|
|
||||||
@@ -93,7 +93,6 @@ body:
|
|||||||
multiple: false
|
multiple: false
|
||||||
description: What version of Android are you running?
|
description: What version of Android are you running?
|
||||||
options:
|
options:
|
||||||
- Android 16
|
|
||||||
- Android 15
|
- Android 15
|
||||||
- Android 14
|
- Android 14
|
||||||
- Android 13
|
- Android 13
|
||||||
|
|||||||
@@ -148,36 +148,6 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
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
|
|
||||||
|
|
||||||
echo Custom Release $CHR_VERSION >body.txt
|
|
||||||
|
|
||||||
if [[ "$LATEST_WIN" == "$CHR_VERSION" ]]; then
|
|
||||||
echo Using Windows Release >body.txt
|
|
||||||
echo "\`\`\`" >>body.txt
|
|
||||||
curl -s 'https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Windows&num=10&offset=0' | \
|
|
||||||
jq --arg LATEST "$LATEST_WIN" '.[] | select( .version == $LATEST )' >>body.txt
|
|
||||||
echo "\`\`\`" >>body.txt
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$LATEST_ANDROID" == "$CHR_VERSION" ]]; then
|
|
||||||
echo Using Android Release >body.txt
|
|
||||||
echo "\`\`\`" >>body.txt
|
|
||||||
curl -s 'https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Android&num=10&offset=0' | \
|
|
||||||
jq --arg LATEST "$LATEST_ANDROID" '.[] | select( .version == $LATEST )' >>body.txt
|
|
||||||
echo "\`\`\`" >>body.txt
|
|
||||||
fi
|
|
||||||
$GH issue create -t "$CHR_VERSION: new chromium version" -F body.txt
|
|
||||||
|
|
||||||
- name: Update files under control
|
- name: Update files under control
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -226,4 +196,34 @@ jobs:
|
|||||||
title: '[AUTO][FILECONTROL] - version ${{ env.NEW_VERSION }}'
|
title: '[AUTO][FILECONTROL] - version ${{ env.NEW_VERSION }}'
|
||||||
body: ${{ env.MESSAGE }}
|
body: ${{ env.MESSAGE }}
|
||||||
delete-branch: true
|
delete-branch: true
|
||||||
branch-suffix: short-commit-hash
|
branch-suffix: short-commit-hash
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
echo Custom Release $CHR_VERSION >body.txt
|
||||||
|
|
||||||
|
if [[ "$LATEST_WIN" == "$CHR_VERSION" ]]; then
|
||||||
|
echo Using Windows Release >body.txt
|
||||||
|
echo "\`\`\`" >>body.txt
|
||||||
|
curl -s 'https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Windows&num=10&offset=0' | \
|
||||||
|
jq --arg LATEST "$LATEST_WIN" '.[] | select( .version == $LATEST )' >>body.txt
|
||||||
|
echo "\`\`\`" >>body.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$LATEST_ANDROID" == "$CHR_VERSION" ]]; then
|
||||||
|
echo Using Android Release >body.txt
|
||||||
|
echo "\`\`\`" >>body.txt
|
||||||
|
curl -s 'https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Android&num=10&offset=0' | \
|
||||||
|
jq --arg LATEST "$LATEST_ANDROID" '.[] | select( .version == $LATEST )' >>body.txt
|
||||||
|
echo "\`\`\`" >>body.txt
|
||||||
|
fi
|
||||||
|
$GH issue create -t "$CHR_VERSION: new chromium version" -F body.txt
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ jobs:
|
|||||||
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/chr_arm64:/home/lg/working_dir/chromium/src/out/chr_arm64
|
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/chr_arm64:/home/lg/working_dir/chromium/src/out/chr_arm64
|
||||||
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/chr_x64:/home/lg/working_dir/chromium/src/out/chr_x64
|
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/chr_x64:/home/lg/working_dir/chromium/src/out/chr_x64
|
||||||
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/x64_webview:/home/lg/working_dir/chromium/src/out/x64_webview
|
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/x64_webview:/home/lg/working_dir/chromium/src/out/x64_webview
|
||||||
|
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/arm64_webview:/home/lg/working_dir/chromium/src/out/arm64_webview
|
||||||
- /tmp/proxy:/tmp/proxy
|
- /tmp/proxy:/tmp/proxy
|
||||||
- /win_sdk:/win_sdk
|
- /win_sdk:/win_sdk
|
||||||
|
|
||||||
@@ -128,7 +129,7 @@ jobs:
|
|||||||
http_proxy=
|
http_proxy=
|
||||||
https_proxy=
|
https_proxy=
|
||||||
|
|
||||||
# setup folder permissions
|
# set out folder permissions
|
||||||
test -d chromium/src/out/chr_arm || sudo mkdir -p chromium/src/out/chr_arm && \
|
test -d chromium/src/out/chr_arm || sudo mkdir -p chromium/src/out/chr_arm && \
|
||||||
sudo chown lg chromium/src/out &&
|
sudo chown lg chromium/src/out &&
|
||||||
sudo chown lg chromium/src/out/chr_arm
|
sudo chown lg chromium/src/out/chr_arm
|
||||||
@@ -144,11 +145,11 @@ jobs:
|
|||||||
test -d chromium/src/out/x64_webview || sudo mkdir -p chromium/src/out/x64_webview && \
|
test -d chromium/src/out/x64_webview || sudo mkdir -p chromium/src/out/x64_webview && \
|
||||||
sudo chown lg chromium/src/out &&
|
sudo chown lg chromium/src/out &&
|
||||||
sudo chown lg chromium/src/out/x64_webview
|
sudo chown lg chromium/src/out/x64_webview
|
||||||
|
|
||||||
sudo chown lg /home/lg/working_dir
|
|
||||||
test -d /github/home/.config/depot_tools || sudo mkdir -p /github/home/.config/depot_tools
|
|
||||||
sudo chown lg /github/home/.config/depot_tools
|
|
||||||
|
|
||||||
|
test -d chromium/src/out/arm64_webview || sudo mkdir -p chromium/src/out/arm64_webview && \
|
||||||
|
sudo chown lg chromium/src/out &&
|
||||||
|
sudo chown lg chromium/src/out/arm64_webview
|
||||||
|
|
||||||
sudo mkdir -p /run/user/1000/
|
sudo mkdir -p /run/user/1000/
|
||||||
sudo chown lg /run/user/1000/
|
sudo chown lg /run/user/1000/
|
||||||
sudo chmod g-rxw /run/user/1000/
|
sudo chmod g-rxw /run/user/1000/
|
||||||
@@ -176,9 +177,27 @@ jobs:
|
|||||||
gn args out/x64_webview/ --list >out/x64_webview/gn_list
|
gn args out/x64_webview/ --list >out/x64_webview/gn_list
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/x64_webview system_webview_apk system_webview_shell --offline
|
ninja -C out/x64_webview system_webview_apk system_webview_shell
|
||||||
cp ../../cromite/build/RELEASE out/x64_webview
|
cp ../../cromite/build/RELEASE out/x64_webview
|
||||||
|
|
||||||
|
- name: Build Cromite System WebView arm64
|
||||||
|
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="target_os = \"android\" target_cpu = \"arm64\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) system_webview_package_name=\"com.android.webview\" enable_trybot_verification=false " out/arm64_webview
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::-------- gn args"
|
||||||
|
gn args out/arm64_webview/ --list --short
|
||||||
|
gn args out/arm64_webview/ --list >out/arm64_webview/gn_list
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
ninja -C out/arm64_webview system_webview_apk system_webview_shell
|
||||||
|
cp ../../cromite/build/RELEASE out/arm64_webview
|
||||||
|
|
||||||
- name: Prepare Build Container for vanilla chromium
|
- name: Prepare Build Container for vanilla chromium
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -205,7 +224,7 @@ jobs:
|
|||||||
gn args out/chr_x64/ --list >out/chr_x64/gn_list
|
gn args out/chr_x64/ --list >out/chr_x64/gn_list
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/chr_x64 chrome_public_apk --offline
|
ninja -C out/chr_x64 chrome_public_apk
|
||||||
|
|
||||||
cp ../../cromite/build/RELEASE out/chr_x64
|
cp ../../cromite/build/RELEASE out/chr_x64
|
||||||
|
|
||||||
@@ -224,7 +243,7 @@ jobs:
|
|||||||
gn args out/chr_arm64/ --list >out/chr_arm64/gn_list
|
gn args out/chr_arm64/ --list >out/chr_arm64/gn_list
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/chr_arm64 chrome_public_apk --offline
|
ninja -C out/chr_arm64 chrome_public_apk
|
||||||
|
|
||||||
cp ../../cromite/build/RELEASE out/chr_arm64
|
cp ../../cromite/build/RELEASE out/chr_arm64
|
||||||
|
|
||||||
@@ -243,6 +262,6 @@ jobs:
|
|||||||
gn args out/chr_arm/ --list >out/chr_arm/gn_list
|
gn args out/chr_arm/ --list >out/chr_arm/gn_list
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/chr_arm chrome_public_apk --offline
|
ninja -C out/chr_arm chrome_public_apk
|
||||||
|
|
||||||
cp ../../cromite/build/RELEASE out/chr_arm
|
cp ../../cromite/build/RELEASE out/chr_arm
|
||||||
|
|||||||
@@ -177,15 +177,14 @@ jobs:
|
|||||||
USELOCALIMAGE: true # CUSTOM RUNNER: permit use of local images
|
USELOCALIMAGE: true # CUSTOM RUNNER: permit use of local images
|
||||||
USEINTERNALNETWORK: true # CUSTOM RUNNER: create the docker network as internal
|
USEINTERNALNETWORK: true # CUSTOM RUNNER: create the docker network as internal
|
||||||
WORKSPACE: /home/lg/working_dir
|
WORKSPACE: /home/lg/working_dir
|
||||||
HOME: /home/lg/working_dir
|
|
||||||
# kythe
|
# kythe
|
||||||
KYTHE_CORPUS: chromium.googlesource.com/chromium/src
|
KYTHE_CORPUS: chromium.googlesource.com/chromium/src
|
||||||
KYTHE_ROOT_DIRECTORY: /home/lg/working_dir/chromium/src
|
KYTHE_ROOT_DIRECTORY: /home/lg/working_dir/chromium/src
|
||||||
KYTHE_OUTPUT_DIRECTORY: /home/lg/working_dir/chromium/src/out/arm64/kythe
|
KYTHE_OUTPUT_DIRECTORY: /home/lg/working_dir/chromium/src/out/arm64/kythe
|
||||||
# cross build (change also release.yaml)
|
# cross build
|
||||||
DEPOT_TOOLS_WIN_TOOLCHAIN_BASE_URL: /win_sdk/sdks/Win11SDK_10.0.26100.0/
|
DEPOT_TOOLS_WIN_TOOLCHAIN_BASE_URL: /win_sdk/sdks/Win11SDK_10.0.22621.2428/
|
||||||
WINDOWSSDKDIR: "/win_sdk/sdks/Win11SDK_10.0.26100.0/Windows Kits/10/"
|
WINDOWSSDKDIR: "/win_sdk/sdks/Win11SDK_10.0.22621.2428/Windows Kits/10/"
|
||||||
GYP_MSVS_OVERRIDE_PATH: /win_sdk/sdks/Win11SDK_10.0.26100.0/
|
GYP_MSVS_OVERRIDE_PATH: /win_sdk/sdks/Win11SDK_10.0.22621.2428/
|
||||||
# compile in debug mode
|
# compile in debug mode
|
||||||
TARGET_ISDEBUG: ${{ github.event.inputs.debug }}
|
TARGET_ISDEBUG: ${{ github.event.inputs.debug }}
|
||||||
TARGET_OS: ${{ github.event.inputs.target_os }}
|
TARGET_OS: ${{ github.event.inputs.target_os }}
|
||||||
@@ -198,7 +197,6 @@ jobs:
|
|||||||
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/x64:/home/lg/working_dir/chromium/src/out/x64
|
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/x64:/home/lg/working_dir/chromium/src/out/x64
|
||||||
- /storage/images/${{ github.event.inputs.sha }}/linux/${{ github.event.inputs.debug }}/lin64:/home/lg/working_dir/chromium/src/out/lin64
|
- /storage/images/${{ github.event.inputs.sha }}/linux/${{ github.event.inputs.debug }}/lin64:/home/lg/working_dir/chromium/src/out/lin64
|
||||||
- /storage/images/${{ github.event.inputs.sha }}/win/x64:/home/lg/working_dir/chromium/src/out/win64
|
- /storage/images/${{ github.event.inputs.sha }}/win/x64:/home/lg/working_dir/chromium/src/out/win64
|
||||||
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/arm64_webview:/home/lg/working_dir/chromium/src/out/arm64_webview
|
|
||||||
- /tmp/proxy:/tmp/proxy
|
- /tmp/proxy:/tmp/proxy
|
||||||
- /win_sdk:/win_sdk
|
- /win_sdk:/win_sdk
|
||||||
|
|
||||||
@@ -216,7 +214,7 @@ jobs:
|
|||||||
http_proxy=
|
http_proxy=
|
||||||
https_proxy=
|
https_proxy=
|
||||||
|
|
||||||
# setup folder permissions
|
# set out folder permissions
|
||||||
test -d chromium/src/out/arm || sudo mkdir -p chromium/src/out/arm && \
|
test -d chromium/src/out/arm || sudo mkdir -p chromium/src/out/arm && \
|
||||||
sudo chown lg chromium/src/out &&
|
sudo chown lg chromium/src/out &&
|
||||||
sudo chown lg chromium/src/out/arm
|
sudo chown lg chromium/src/out/arm
|
||||||
@@ -236,14 +234,6 @@ jobs:
|
|||||||
test -d chromium/src/out/lin64 || sudo mkdir -p chromium/src/out/lin64 && \
|
test -d chromium/src/out/lin64 || sudo mkdir -p chromium/src/out/lin64 && \
|
||||||
sudo chown lg chromium/src/out &&
|
sudo chown lg chromium/src/out &&
|
||||||
sudo chown lg chromium/src/out/lin64
|
sudo chown lg chromium/src/out/lin64
|
||||||
|
|
||||||
test -d chromium/src/out/arm64_webview || sudo mkdir -p chromium/src/out/arm64_webview && \
|
|
||||||
sudo chown lg chromium/src/out &&
|
|
||||||
sudo chown lg chromium/src/out/arm64_webview
|
|
||||||
|
|
||||||
sudo chown lg /home/lg/working_dir
|
|
||||||
test -d /github/home/.config/depot_tools || sudo mkdir -p /github/home/.config/depot_tools
|
|
||||||
sudo chown lg /github/home/.config/depot_tools
|
|
||||||
|
|
||||||
# make kythe output directory
|
# make kythe output directory
|
||||||
test -d $KYTHE_OUTPUT_DIRECTORY || mkdir -p $KYTHE_OUTPUT_DIRECTORY
|
test -d $KYTHE_OUTPUT_DIRECTORY || mkdir -p $KYTHE_OUTPUT_DIRECTORY
|
||||||
@@ -260,9 +250,6 @@ jobs:
|
|||||||
gpg --homedir ./ -d --passphrase "${{ secrets.KEYSTORE_PASSPHRASE }}" --batch cromite.keystore.asc > cromite.keystore
|
gpg --homedir ./ -d --passphrase "${{ secrets.KEYSTORE_PASSPHRASE }}" --batch cromite.keystore.asc > cromite.keystore
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
# bootstrap python3 for gn
|
|
||||||
echo ../../../../../usr/bin >$WORKSPACE/depot_tools/python3_bin_reldir.txt
|
|
||||||
|
|
||||||
- name: Build Cromite Android x64
|
- name: Build Cromite 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') }}
|
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
|
shell: bash
|
||||||
@@ -271,16 +258,16 @@ jobs:
|
|||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
echo "::group::-------- gn gen"
|
echo "::group::-------- gn gen"
|
||||||
gn gen --args="target_os = \"android\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"x64\" " out/x64 || true
|
gn gen --args="target_os = \"android\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"x64\" " out/x64
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::-------- gn args"
|
echo "::group::-------- gn args"
|
||||||
gn args out/x64/ --list --short || true
|
gn args out/x64/ --list --short
|
||||||
gn args out/x64/ --list >out/x64/gn_list || true
|
gn args out/x64/ --list >out/x64/gn_list
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/x64 chrome_public_bundle --offline
|
ninja -C out/x64 chrome_public_bundle
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/x64 chrome_public_apk --offline
|
ninja -C out/x64 chrome_public_apk
|
||||||
|
|
||||||
cp ../../cromite/build/RELEASE out/x64
|
cp ../../cromite/build/RELEASE out/x64
|
||||||
|
|
||||||
@@ -300,15 +287,15 @@ jobs:
|
|||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
echo "::group::-------- gn gen"
|
echo "::group::-------- gn gen"
|
||||||
gn gen --args="target_os = \"win\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"x64\" " out/win64 || true
|
gn gen --args="target_os = \"win\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"x64\" " out/win64
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::-------- gn args"
|
echo "::group::-------- gn args"
|
||||||
gn args out/win64/ --list --short || true
|
gn args out/win64/ --list --short
|
||||||
gn args out/win64/ --list >out/win64/gn_list || true
|
gn args out/win64/ --list >out/win64/gn_list
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/win64 chrome --offline
|
ninja -C out/win64 chrome
|
||||||
|
|
||||||
cp ../../cromite/build/RELEASE out/win64
|
cp ../../cromite/build/RELEASE out/win64
|
||||||
|
|
||||||
@@ -328,16 +315,16 @@ jobs:
|
|||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
echo "::group::-------- gn gen"
|
echo "::group::-------- gn gen"
|
||||||
gn gen --args="target_os = \"android\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"arm64\" " out/arm64 || true
|
gn gen --args="target_os = \"android\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"arm64\" " out/arm64
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::-------- gn args"
|
echo "::group::-------- gn args"
|
||||||
gn args out/arm64/ --list --short || true
|
gn args out/arm64/ --list --short
|
||||||
gn args out/arm64/ --list >out/arm64/gn_list || true
|
gn args out/arm64/ --list >out/arm64/gn_list
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/arm64 chrome_public_bundle --offline
|
ninja -C out/arm64 chrome_public_bundle
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/arm64 chrome_public_apk --offline
|
ninja -C out/arm64 chrome_public_apk
|
||||||
|
|
||||||
cp ../../cromite/build/RELEASE out/arm64
|
cp ../../cromite/build/RELEASE out/arm64
|
||||||
|
|
||||||
@@ -357,7 +344,7 @@ jobs:
|
|||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
echo "::group::-------- generating breakpad symbols"
|
echo "::group::-------- generating breakpad symbols"
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/arm64 minidump_stackwalk dump_syms --offline
|
ninja -C out/arm64 minidump_stackwalk dump_syms
|
||||||
components/crash/content/tools/generate_breakpad_symbols.py --build-dir=out/arm64 \
|
components/crash/content/tools/generate_breakpad_symbols.py --build-dir=out/arm64 \
|
||||||
--symbols-dir=out/arm64/symbols/ --binary=out/arm64/lib.unstripped/libchrome.so \
|
--symbols-dir=out/arm64/symbols/ --binary=out/arm64/lib.unstripped/libchrome.so \
|
||||||
--platform=android --clear --verbose
|
--platform=android --clear --verbose
|
||||||
@@ -373,7 +360,7 @@ jobs:
|
|||||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
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
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
vpython3 tools/binary_size/libsupersize/main.py archive out/arm64/chrome.size --apk-file out/arm64/apks/ChromePublic.apk -v
|
tools/binary_size/supersize archive out/arm64/chrome.size --apk-file out/arm64/apks/ChromePublic.apk -v
|
||||||
|
|
||||||
- name: Build Cromite Android arm
|
- name: Build Cromite Android arm
|
||||||
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm' || github.event.inputs.build == 'all') }}
|
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm' || github.event.inputs.build == 'all') }}
|
||||||
@@ -383,16 +370,16 @@ jobs:
|
|||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
echo "::group::-------- gn gen"
|
echo "::group::-------- gn gen"
|
||||||
gn gen --args="target_os = \"android\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"arm\" " out/arm || true
|
gn gen --args="target_os = \"android\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"arm\" " out/arm
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::-------- gn args"
|
echo "::group::-------- gn args"
|
||||||
gn args out/arm/ --list --short || true
|
gn args out/arm/ --list --short
|
||||||
gn args out/arm/ --list >out/arm/gn_list || true
|
gn args out/arm/ --list >out/arm/gn_list
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/arm chrome_public_bundle --offline
|
ninja -C out/arm chrome_public_bundle
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/arm chrome_public_apk --offline
|
ninja -C out/arm chrome_public_apk
|
||||||
|
|
||||||
cp ../../cromite/build/RELEASE out/arm
|
cp ../../cromite/build/RELEASE out/arm
|
||||||
|
|
||||||
@@ -412,15 +399,15 @@ jobs:
|
|||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
echo "::group::-------- gn gen"
|
echo "::group::-------- gn gen"
|
||||||
gn gen --args="target_os = \"linux\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"x64\" " out/lin64 || true
|
gn gen --args="target_os = \"linux\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"x64\" " out/lin64
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::-------- gn args"
|
echo "::group::-------- gn args"
|
||||||
gn args out/lin64/ --list --short || true
|
gn args out/lin64/ --list --short
|
||||||
gn args out/lin64/ --list >out/lin64/gn_list || true
|
gn args out/lin64/ --list >out/lin64/gn_list
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/lin64 chrome chrome_sandbox --offline
|
ninja -C out/lin64 chrome chrome_sandbox
|
||||||
|
|
||||||
cp ../../cromite/build/RELEASE out/lin64
|
cp ../../cromite/build/RELEASE out/lin64
|
||||||
|
|
||||||
@@ -432,24 +419,6 @@ jobs:
|
|||||||
$WORKSPACE/ninjatracing/ninjatracing -a $WORKSPACE/chromium/src/out/lin64/.ninja_log >$WORKSPACE/chromium/src/out/lin64/ninja_log_trace.json
|
$WORKSPACE/ninjatracing/ninjatracing -a $WORKSPACE/chromium/src/out/lin64/.ninja_log >$WORKSPACE/chromium/src/out/lin64/ninja_log_trace.json
|
||||||
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/lin64/ninja_log_trace.json
|
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/lin64/ninja_log_trace.json
|
||||||
|
|
||||||
- name: Build Cromite System WebView arm64
|
|
||||||
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="target_os = \"android\" target_cpu = \"arm64\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) system_webview_package_name=\"com.android.webview\" enable_trybot_verification=false " out/arm64_webview || true
|
|
||||||
echo "::endgroup::"
|
|
||||||
|
|
||||||
echo "::group::-------- gn args"
|
|
||||||
gn args out/arm64_webview/ --list --short || true
|
|
||||||
gn args out/arm64_webview/ --list >out/arm64_webview/gn_list || true
|
|
||||||
echo "::endgroup::"
|
|
||||||
|
|
||||||
vpython3 /home/lg/working_dir/depot_tools/siso.py ninja -C out/arm64_webview system_webview_apk system_webview_shell --offline
|
|
||||||
cp ../../cromite/build/RELEASE out/arm64_webview
|
|
||||||
|
|
||||||
- name: Generate clangd index for Android arm64
|
- name: Generate clangd index for Android arm64
|
||||||
if: ${{ github.event.inputs.clangd == 'true' }}
|
if: ${{ github.event.inputs.clangd == 'true' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -462,5 +431,5 @@ jobs:
|
|||||||
gn gen --args="import(\"/home/lg/working_dir/cromite/build/cromite.gn_args\") $(cat ../../build_args.gni) skip_clangd_unsupported_options = true" out/clangd && \
|
gn gen --args="import(\"/home/lg/working_dir/cromite/build/cromite.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 \
|
$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 && \
|
-t compdb cc cxx objc objcxx >$WORKSPACE/chromium/src/out/clangd/compile_commands.json && \
|
||||||
/home/lg/working_dir/clangd_snapshot_20250518/bin/clangd-indexer --executor=all-TUs out/clangd/compile_commands.json >out/arm64/cromite.idx && \
|
/home/lg/working_dir/clangd_snapshot_20211205/bin/clangd-indexer --executor=all-TUs out/clangd/compile_commands.json >out/arm64/cromite.idx && \
|
||||||
rm -rf out/clangd
|
rm -rf out/clangd
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
name: 'Check NIST database'
|
name: 'Check NIST database'
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '30 1 * * *'
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ jobs:
|
|||||||
OUTPUTFILE_X64: /storage/images/${{ github.event.inputs.sha }}/android/false/x64/
|
OUTPUTFILE_X64: /storage/images/${{ github.event.inputs.sha }}/android/false/x64/
|
||||||
OUTPUTFILE_WIN: /storage/images/${{ github.event.inputs.sha }}/win/x64/
|
OUTPUTFILE_WIN: /storage/images/${{ github.event.inputs.sha }}/win/x64/
|
||||||
OUTPUTFILE_LIN: /storage/images/${{ github.event.inputs.sha }}/linux/false/lin64/
|
OUTPUTFILE_LIN: /storage/images/${{ github.event.inputs.sha }}/linux/false/lin64/
|
||||||
OUTPUTFILE_WV_ARM64: /storage/images/${{ github.event.inputs.sha }}/android/false/arm64_webview/
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Login to Docker Hub
|
- name: Login to Docker Hub
|
||||||
@@ -131,9 +130,10 @@ jobs:
|
|||||||
cp $OUTPUTFILE_WIN/chrome_proxy.exe chrome-win/
|
cp $OUTPUTFILE_WIN/chrome_proxy.exe chrome-win/
|
||||||
cp $OUTPUTFILE_WIN/chrome_pwa_launcher.exe chrome-win/
|
cp $OUTPUTFILE_WIN/chrome_pwa_launcher.exe chrome-win/
|
||||||
cp $OUTPUTFILE_WIN/chrome_wer.dll chrome-win/
|
cp $OUTPUTFILE_WIN/chrome_wer.dll chrome-win/
|
||||||
cp "/win_sdk/sdks/Win11SDK_10.0.26100.0/Windows Kits/10/Redist/D3D/x64/d3dcompiler_47.dll" chrome-win/
|
cp "/win_sdk/10.0.22621.0/Windows Kits/10/Redist/D3D/x64/d3dcompiler_47.dll" chrome-win/
|
||||||
cp $OUTPUTFILE_WIN/elevation_service.exe chrome-win/
|
cp $OUTPUTFILE_WIN/elevation_service.exe chrome-win/
|
||||||
cp "$OUTPUTFILE_WIN/First Run" chrome-win/
|
cp "$OUTPUTFILE_WIN/First Run" chrome-win/
|
||||||
|
cp $OUTPUTFILE_WIN/headless_lib_data.pak chrome-win/
|
||||||
cp $OUTPUTFILE_WIN/icudtl.dat chrome-win/
|
cp $OUTPUTFILE_WIN/icudtl.dat chrome-win/
|
||||||
cp $OUTPUTFILE_WIN/libEGL.dll chrome-win/
|
cp $OUTPUTFILE_WIN/libEGL.dll chrome-win/
|
||||||
cp $OUTPUTFILE_WIN/libGLESv2.dll chrome-win/
|
cp $OUTPUTFILE_WIN/libGLESv2.dll chrome-win/
|
||||||
@@ -155,10 +155,6 @@ jobs:
|
|||||||
$GH release upload $VERSION-$CROMITE_SHA chrome-win.zip
|
$GH release upload $VERSION-$CROMITE_SHA chrome-win.zip
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
TIMESTAMP=$(date +%s -r chrome-win.zip)
|
|
||||||
echo >updateurl.txt "browser=chromium;os=windows;architecture=64-bit;timestamp=$TIMESTAMP;editor=uazo;channel=stable;repository=https://github.com/uazo/cromite/releases;download=https://github.com/uazo/cromite/releases/latest/download/chrome-win.zip;version=$(cat $OUTPUTFILE_WIN/RELEASE);revision=1;commit=$CROMITE_SHA"
|
|
||||||
$GH release upload $VERSION-$CROMITE_SHA updateurl.txt
|
|
||||||
|
|
||||||
## linux
|
## linux
|
||||||
echo "::group::-------- linux x64"
|
echo "::group::-------- linux x64"
|
||||||
mkdir chrome-lin/
|
mkdir chrome-lin/
|
||||||
@@ -178,6 +174,8 @@ jobs:
|
|||||||
cp $OUTPUTFILE_LIN/product_logo_48.png chrome-lin/
|
cp $OUTPUTFILE_LIN/product_logo_48.png chrome-lin/
|
||||||
cp $OUTPUTFILE_LIN/resources.pak chrome-lin/
|
cp $OUTPUTFILE_LIN/resources.pak chrome-lin/
|
||||||
cp $OUTPUTFILE_LIN/snapshot_blob.bin chrome-lin/
|
cp $OUTPUTFILE_LIN/snapshot_blob.bin chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/xdg-mime chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/xdg-settings chrome-lin/
|
||||||
cp $OUTPUTFILE_LIN/chrome_sandbox chrome-lin/
|
cp $OUTPUTFILE_LIN/chrome_sandbox chrome-lin/
|
||||||
|
|
||||||
tar -czvf chrome-lin64.tar.gz chrome-lin/
|
tar -czvf chrome-lin64.tar.gz chrome-lin/
|
||||||
@@ -186,7 +184,6 @@ jobs:
|
|||||||
$GH release upload $VERSION-$CROMITE_SHA chrome-lin64.tar.gz
|
$GH release upload $VERSION-$CROMITE_SHA chrome-lin64.tar.gz
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
# android arm64 symbols
|
|
||||||
echo "::group::-------- arm64 symbols"
|
echo "::group::-------- arm64 symbols"
|
||||||
zip arm64_symbols.zip ${{ env.OUTPUTFILE_ARM64 }}/dump_syms \
|
zip arm64_symbols.zip ${{ env.OUTPUTFILE_ARM64 }}/dump_syms \
|
||||||
${{ env.OUTPUTFILE_ARM64 }}/minidump_stackwalk \
|
${{ env.OUTPUTFILE_ARM64 }}/minidump_stackwalk \
|
||||||
@@ -194,18 +191,9 @@ jobs:
|
|||||||
$GH release upload $VERSION-$CROMITE_SHA arm64_symbols.zip
|
$GH release upload $VERSION-$CROMITE_SHA arm64_symbols.zip
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
# android arm64
|
TIMESTAMP=$(date +%s -r chrome-win.zip)
|
||||||
echo "::group::-------- android systemwebview arm64"
|
echo >updateurl.txt "browser=chromium;os=windows;architecture=64-bit;timestamp=$TIMESTAMP;editor=uazo;channel=stable;repository=https://github.com/uazo/cromite/releases;download=https://github.com/uazo/cromite/releases/latest/download/chrome-win.zip;version=$(cat $OUTPUTFILE_WIN/RELEASE);revision=1;commit=$CROMITE_SHA"
|
||||||
sudo cp ${{ env.OUTPUTFILE_WV_ARM64 }}/apks/SystemWebView.apk arm64_SystemWebView.apk
|
$GH release upload $VERSION-$CROMITE_SHA updateurl.txt
|
||||||
sudo chown runner arm64_SystemWebView.apk
|
|
||||||
|
|
||||||
sudo cp ${{ env.OUTPUTFILE_WV_ARM64 }}/apks/SystemWebViewShell.apk arm64_SystemWebViewShell.apk
|
|
||||||
sudo chown runner arm64_SystemWebViewShell.apk
|
|
||||||
|
|
||||||
echo Uploading arm64_SystemWebView
|
|
||||||
$GH release upload $VERSION-$CROMITE_SHA arm64_SystemWebView.apk
|
|
||||||
$GH release upload $VERSION-$CROMITE_SHA arm64_SystemWebViewShell.apk
|
|
||||||
echo "::endgroup::"
|
|
||||||
|
|
||||||
$GH release edit $VERSION-$CROMITE_SHA -t $VERSION-$CROMITE_SHA
|
$GH release edit $VERSION-$CROMITE_SHA -t $VERSION-$CROMITE_SHA
|
||||||
|
|
||||||
@@ -213,4 +201,7 @@ jobs:
|
|||||||
$GH release edit $VERSION-$CROMITE_SHA --draft=false
|
$GH release edit $VERSION-$CROMITE_SHA --draft=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
VERSION=$(cat ${{ env.OUTPUTFILE_ARM64 }}/RELEASE)
|
||||||
|
docker push uazo/cromite:$VERSION-$CROMITE_SHA
|
||||||
|
docker push uazo/cromite-build:$VERSION-$CROMITE_SHA
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ jobs:
|
|||||||
runs-on: ${{ github.event.inputs.type }}
|
runs-on: ${{ github.event.inputs.type }}
|
||||||
env:
|
env:
|
||||||
IS_DRAFT: ${{ github.event.inputs.draft }}
|
IS_DRAFT: ${{ github.event.inputs.draft }}
|
||||||
|
OUTPUTFILE_ARM64: /storage/images/${{ github.event.inputs.sha }}/android/false/arm64_webview/
|
||||||
OUTPUTFILE_X64: /storage/images/${{ github.event.inputs.sha }}/android/false/x64_webview/
|
OUTPUTFILE_X64: /storage/images/${{ github.event.inputs.sha }}/android/false/x64_webview/
|
||||||
OUTPUTFILE_CHR_ARM64: /storage/images/${{ github.event.inputs.sha }}/android/false/chr_arm64/
|
OUTPUTFILE_CHR_ARM64: /storage/images/${{ github.event.inputs.sha }}/android/false/chr_arm64/
|
||||||
OUTPUTFILE_CHR_ARM: /storage/images/${{ github.event.inputs.sha }}/android/false/chr_arm/
|
OUTPUTFILE_CHR_ARM: /storage/images/${{ github.event.inputs.sha }}/android/false/chr_arm/
|
||||||
@@ -47,7 +48,7 @@ jobs:
|
|||||||
- name: Create release
|
- name: Create release
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
VERSION=v$(cat ${{ env.OUTPUTFILE_X64 }}/RELEASE)
|
VERSION=v$(cat ${{ env.OUTPUTFILE_ARM64 }}/RELEASE)
|
||||||
|
|
||||||
cd cromite/tools
|
cd cromite/tools
|
||||||
|
|
||||||
@@ -57,6 +58,19 @@ jobs:
|
|||||||
|
|
||||||
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
|
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
|
||||||
|
|
||||||
|
# android arm64
|
||||||
|
echo "::group::-------- android systemwebview arm64"
|
||||||
|
sudo cp ${{ env.OUTPUTFILE_ARM64 }}/apks/SystemWebView.apk arm64_SystemWebView.apk
|
||||||
|
sudo chown runner arm64_SystemWebView.apk
|
||||||
|
|
||||||
|
sudo cp ${{ env.OUTPUTFILE_ARM64 }}/apks/SystemWebViewShell.apk arm64_SystemWebViewShell.apk
|
||||||
|
sudo chown runner arm64_SystemWebViewShell.apk
|
||||||
|
|
||||||
|
echo Uploading arm64_SystemWebView
|
||||||
|
$GH release upload $VERSION-$CROMITE_SHA arm64_SystemWebView.apk
|
||||||
|
$GH release upload $VERSION-$CROMITE_SHA arm64_SystemWebViewShell.apk
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
# android x64
|
# android x64
|
||||||
echo "::group::-------- android systemwebview x64"
|
echo "::group::-------- android systemwebview x64"
|
||||||
sudo cp ${{ env.OUTPUTFILE_X64 }}/apks/SystemWebView.apk x64_SystemWebView.apk
|
sudo cp ${{ env.OUTPUTFILE_X64 }}/apks/SystemWebView.apk x64_SystemWebView.apk
|
||||||
|
|||||||
@@ -2,11 +2,6 @@ name: Update fdroid repo
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
|
||||||
type:
|
|
||||||
description: 'runner? [dev/ci]'
|
|
||||||
required: true
|
|
||||||
default: 'ci'
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
REMOVEDOCKERSUPPORT: true
|
REMOVEDOCKERSUPPORT: true
|
||||||
@@ -15,7 +10,7 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-fdroid:
|
update-fdroid:
|
||||||
runs-on: ${{ github.event.inputs.type }}
|
runs-on: ci2
|
||||||
|
|
||||||
container:
|
container:
|
||||||
image: uazo/fdroidserver:latest
|
image: uazo/fdroidserver:latest
|
||||||
@@ -37,9 +32,9 @@ jobs:
|
|||||||
apt update
|
apt update
|
||||||
|
|
||||||
DEBIAN_FRONTEND=noninteractive apt update && apt install -y wget unzip
|
DEBIAN_FRONTEND=noninteractive apt update && apt install -y wget unzip
|
||||||
wget https://github.com/rclone/rclone/releases/download/v1.72.0/rclone-v1.72.0-linux-amd64.zip
|
wget https://github.com/rclone/rclone/releases/download/v1.64.0/rclone-v1.64.0-linux-amd64.zip
|
||||||
unzip rclone-v1.72.0-linux-amd64.zip
|
unzip rclone-v1.64.0-linux-amd64.zip
|
||||||
export rclone=rclone-v1.72.0-linux-amd64/rclone
|
export rclone=rclone-v1.64.0-linux-amd64/rclone
|
||||||
|
|
||||||
mkdir -p ~/.config/rclone
|
mkdir -p ~/.config/rclone
|
||||||
echo "${{ secrets.RCLONE_CONF }}" > ~/.config/rclone/rclone.conf
|
echo "${{ secrets.RCLONE_CONF }}" > ~/.config/rclone/rclone.conf
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
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 a [Chromium](https://www.chromium.org/Home) fork based on [Bromite](https://github.com/bromite/bromite) with built-in support for ad blocking and an eye for privacy.
|
||||||
|
|
||||||
Cromite is available for Android arm64-v8a, arm32-v7a and x86_64, Android 10 and above, Windows and Linux 64bit.
|
Cromite is available for Android arm64-v8a, arm32-v7a and x86_64, Oreo and above (Minimum v8.0, API level 26), Windows and Linux 64bit.
|
||||||
|
|
||||||
# Goals
|
# Goals
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ ChromiumUpdateUrl=https://github.com/uazo/cromite/releases/latest/download/updat
|
|||||||
# Command line for Chromium (string):
|
# Command line for Chromium (string):
|
||||||
# note --user-data-dir= works better if path is absolute
|
# note --user-data-dir= works better if path is absolute
|
||||||
# See here: http://peter.sh/experiments/chromium-command-line-switches/
|
# See here: http://peter.sh/experiments/chromium-command-line-switches/
|
||||||
ChromiumCommandLine=--user-data-dir="%LOCALAPPDATA%\Cromite\User Data" --no-default-browser-check
|
ChromiumCommandLine=--user-data-dir="C:\Users\<my user>\AppData\Local\Cromite\User Data" --no-default-browser-check
|
||||||
|
|
||||||
# to enable full logging in c:\temp\log.txt (daily rotate, no automatic deletion)
|
# 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
|
# ChromiumCommandLine=--enable-logging --v=0 --log-file=C:\temp\log.txt --user-data-dir=".\User Data" --no-default-browser-check
|
||||||
@@ -133,7 +133,6 @@ you can activate (highly recommended) the 'RendererAppContainer' flag from the c
|
|||||||
```
|
```
|
||||||
--enable-features=RendererAppContainer
|
--enable-features=RendererAppContainer
|
||||||
```
|
```
|
||||||
In this case, it is also necessary to run icacls as indicated above.
|
|
||||||
|
|
||||||
### Auto-update setup for linux
|
### Auto-update setup for linux
|
||||||
working in progress in https://github.com/uazo/cromite/issues/771
|
working in progress in https://github.com/uazo/cromite/issues/771
|
||||||
@@ -186,14 +185,7 @@ thanks to [austinhuang0131](https://github.com/austinhuang0131) for the svg icon
|
|||||||
|
|
||||||
# Donate
|
# Donate
|
||||||
|
|
||||||
If you want, you can donate to support cromite development through [paypal](https://www.paypal.com/pools/c/9e5lO2OIzb).
|
If you want, you can donate to support cromite development through [paypal](https://www.paypal.com/pools/c/9cwNgAQhRL).
|
||||||
|
|
||||||
Current link:
|
|
||||||
- https://www.paypal.com/pools/c/9hEHZ6tElk
|
|
||||||
|
|
||||||
Historical fundraisings links:
|
|
||||||
- https://www.paypal.com/pools/c/9cwNgAQhRL
|
|
||||||
- https://www.paypal.com/pools/c/9e5lO2OIzb
|
|
||||||
|
|
||||||
# License
|
# License
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
148.0.7778.168
|
134.0.6998.178
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
)]}' {
|
|
||||||
"response": {
|
|
||||||
"server": "prod",
|
|
||||||
"protocol": "4.0",
|
|
||||||
"apps": [
|
|
||||||
{
|
|
||||||
"appid": "gcmjkmgdlgnkkcocmoeiminaijmmjnii",
|
|
||||||
"status": "ok",
|
|
||||||
"updatecheck": {
|
|
||||||
"status": "ok",
|
|
||||||
"nextversion": "1.0.0",
|
|
||||||
"pipelines": [
|
|
||||||
{
|
|
||||||
"operations": [
|
|
||||||
{
|
|
||||||
"type": "download",
|
|
||||||
"urls": [ { "url": "https://www.cromite.org/components/fonts_component.zip" } ],
|
|
||||||
"out": { "sha256": "22639FA1B21D9D95E6343A6A58028B224903D23BA404537584A22236FCFC3482" },
|
|
||||||
"size": 60716451
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "crx3",
|
|
||||||
"in": { "sha256": "22639FA1B21D9D95E6343A6A58028B224903D23BA404537584A22236FCFC3482" }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+25
-20
@@ -1,12 +1,17 @@
|
|||||||
android_channel="stable"
|
android_channel="stable"
|
||||||
blink_symbol_level=1
|
blink_symbol_level=1
|
||||||
build_contextual_search=false
|
build_contextual_search=false
|
||||||
|
build_with_tflite_lib=false
|
||||||
chrome_pgo_phase=0
|
chrome_pgo_phase=0
|
||||||
dcheck_always_on=false
|
dcheck_always_on=false
|
||||||
|
dfmify_dev_ui=false
|
||||||
|
disable_android_lint=true
|
||||||
disable_fieldtrial_testing_config=true
|
disable_fieldtrial_testing_config=true
|
||||||
|
enable_gvr_services=false
|
||||||
enable_hangout_services_extension=false
|
enable_hangout_services_extension=false
|
||||||
enable_iterator_debugging=false
|
enable_iterator_debugging=false
|
||||||
enable_mdns=false
|
enable_mdns=false
|
||||||
|
enable_nacl=false
|
||||||
enable_remoting=false
|
enable_remoting=false
|
||||||
enable_reporting=false
|
enable_reporting=false
|
||||||
enable_vr=false
|
enable_vr=false
|
||||||
@@ -19,8 +24,11 @@ rtc_build_examples=false
|
|||||||
symbol_level=1
|
symbol_level=1
|
||||||
treat_warnings_as_errors=true
|
treat_warnings_as_errors=true
|
||||||
use_debug_fission=true
|
use_debug_fission=true
|
||||||
|
use_errorprone_java_compiler=false
|
||||||
use_official_google_api_keys=false
|
use_official_google_api_keys=false
|
||||||
use_rtti=false
|
use_rtti=false
|
||||||
|
use_sysroot=false
|
||||||
|
webview_includes_weblayer=false
|
||||||
enable_arcore=false
|
enable_arcore=false
|
||||||
enable_openxr=false
|
enable_openxr=false
|
||||||
enable_cardboard=false
|
enable_cardboard=false
|
||||||
@@ -60,15 +68,30 @@ if (target_os == "android" || target_os == "win") {
|
|||||||
|
|
||||||
# disable passthrough audio codecs
|
# disable passthrough audio codecs
|
||||||
enable_platform_dts_audio = false
|
enable_platform_dts_audio = false
|
||||||
|
enable_passthrough_audio_codecs = false
|
||||||
|
|
||||||
|
# Do not compile libmonochrome.so with RELR relocations
|
||||||
|
# since supported only on API 28+
|
||||||
|
use_relr_relocations=false
|
||||||
|
|
||||||
# disabled the use of the context snapshot
|
# disabled the use of the context snapshot
|
||||||
# see https://github.com/uazo/cromite/pull/317 for context
|
# see https://github.com/uazo/cromite/pull/317 for context
|
||||||
use_v8_context_snapshot = false
|
use_v8_context_snapshot = false
|
||||||
|
|
||||||
|
# enable libjxl support by default
|
||||||
|
enable_jxl_decoder = false
|
||||||
|
|
||||||
|
# disable minikin engine
|
||||||
|
# see https://github.com/uazo/cromite/issues/697
|
||||||
|
use_minikin_hyphenation = false
|
||||||
|
|
||||||
# disable automatic update of sync-related cookies
|
# disable automatic update of sync-related cookies
|
||||||
# initial commit: https://source.chromium.org/chromium/chromium/src/+/fd9a841f7a63b9f5510f6b713d9c833d259c63ad
|
# initial commit: https://source.chromium.org/chromium/chromium/src/+/fd9a841f7a63b9f5510f6b713d9c833d259c63ad
|
||||||
enable_bound_session_credentials = false
|
enable_bound_session_credentials = false
|
||||||
|
|
||||||
|
# Use LogErrorNotReached() for NOTREACHED_IN_MIGRATION()
|
||||||
|
enable_log_error_not_reached = true
|
||||||
|
|
||||||
# Allows building without //third_party/unrar included, for license reasons
|
# Allows building without //third_party/unrar included, for license reasons
|
||||||
safe_browsing_use_unrar = false
|
safe_browsing_use_unrar = false
|
||||||
|
|
||||||
@@ -79,9 +102,6 @@ enable_request_header_integrity = false
|
|||||||
# Disable precompiled headers because they are incompatible with the unsafe_buffers configuration
|
# Disable precompiled headers because they are incompatible with the unsafe_buffers configuration
|
||||||
enable_precompiled_headers = false
|
enable_precompiled_headers = false
|
||||||
|
|
||||||
# Disable TFLite with XNNPACK
|
|
||||||
build_tflite_with_xnnpack = false
|
|
||||||
|
|
||||||
declare_args() {
|
declare_args() {
|
||||||
_is_debug_build = ""
|
_is_debug_build = ""
|
||||||
build_webview = false
|
build_webview = false
|
||||||
@@ -99,11 +119,6 @@ if (target_os == "android") {
|
|||||||
|
|
||||||
chrome_pgo_phase = 2 # enable pgo
|
chrome_pgo_phase = 2 # enable pgo
|
||||||
|
|
||||||
use_errorprone_java_compiler = false
|
|
||||||
|
|
||||||
# do not split Developer UI split into a separate Dynamic Feature Module
|
|
||||||
dfmify_dev_ui = false
|
|
||||||
|
|
||||||
if (getenv("USE_KEYSTORE") != "") {
|
if (getenv("USE_KEYSTORE") != "") {
|
||||||
android_keystore_path = "/home/lg/working_dir/cromite.keystore"
|
android_keystore_path = "/home/lg/working_dir/cromite.keystore"
|
||||||
android_keystore_name = "cromite"
|
android_keystore_name = "cromite"
|
||||||
@@ -112,8 +127,6 @@ if (target_os == "android") {
|
|||||||
|
|
||||||
cromite_pref_hash_seed_bin = getenv("CROMITE_PREF_HASH_SEED_BIN")
|
cromite_pref_hash_seed_bin = getenv("CROMITE_PREF_HASH_SEED_BIN")
|
||||||
|
|
||||||
disable_android_lint = true
|
|
||||||
|
|
||||||
_is_debug_build = getenv("TARGET_ISDEBUG")
|
_is_debug_build = getenv("TARGET_ISDEBUG")
|
||||||
if (_is_debug_build == "true") {
|
if (_is_debug_build == "true") {
|
||||||
# print("Debug build on")
|
# print("Debug build on")
|
||||||
@@ -123,17 +136,7 @@ if (target_os == "android") {
|
|||||||
symbol_level = 1
|
symbol_level = 1
|
||||||
strip_debug_info = false
|
strip_debug_info = false
|
||||||
generate_linker_map = false
|
generate_linker_map = false
|
||||||
|
|
||||||
# Disable static analysis
|
|
||||||
android_static_analysis = "off"
|
|
||||||
|
|
||||||
# Turns off all V8 debug features. Disables running V8 in a pseudo debug mode
|
|
||||||
# bypass build error -5 in clang_x64/mksnapshot
|
|
||||||
v8_enable_debugging_features = false
|
|
||||||
v8_dcheck_always_on = false
|
|
||||||
} else {
|
} else {
|
||||||
include_both_v8_snapshots = false
|
|
||||||
include_both_v8_snapshots_android_secondary_abi = false
|
|
||||||
generate_linker_map = true
|
generate_linker_map = true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,6 +155,7 @@ if (target_os == "win") {
|
|||||||
enable_pdf = true
|
enable_pdf = true
|
||||||
pdf_is_complete_lib = true
|
pdf_is_complete_lib = true
|
||||||
enable_plugins = true
|
enable_plugins = true
|
||||||
|
enable_ppapi = false
|
||||||
|
|
||||||
chrome_pgo_phase = 2 # enable pgo
|
chrome_pgo_phase = 2 # enable pgo
|
||||||
|
|
||||||
@@ -167,6 +171,7 @@ if (target_os == "linux") {
|
|||||||
enable_pdf = true
|
enable_pdf = true
|
||||||
pdf_is_complete_lib = true
|
pdf_is_complete_lib = true
|
||||||
enable_plugins = true
|
enable_plugins = true
|
||||||
|
enable_ppapi = false
|
||||||
|
|
||||||
use_sysroot = true
|
use_sysroot = true
|
||||||
chrome_pgo_phase = 2 # enable pgo
|
chrome_pgo_phase = 2 # enable pgo
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
Do-not-link-with-libatomic.patch
|
Do-not-link-with-libatomic.patch
|
||||||
Force-use-vpython3-for-all-scripts.patch
|
Do-not-check-for-the-presence-of-use-remoteexec.patch
|
||||||
bromite-build-utils.patch
|
bromite-build-utils.patch
|
||||||
Add-cromite-flags-support.patch
|
Add-cromite-flags-support.patch
|
||||||
Permit-PGO-for-debug-builds.patch
|
|
||||||
Fix-chromium-vanilla.patch
|
Fix-chromium-vanilla.patch
|
||||||
Final-patch-for-chromium-vanilla.patch
|
Final-patch-for-chromium-vanilla.patch
|
||||||
Restore-chrome-password-store.patch
|
|
||||||
Remove-EV-certificates.patch
|
Remove-EV-certificates.patch
|
||||||
do-not-hide-.orig-files.patch
|
do-not-hide-.orig-files.patch
|
||||||
do-not-add-suffix-to-package-name.patch
|
do-not-add-suffix-to-package-name.patch
|
||||||
|
exit-on-failure-of-inclusion.patch
|
||||||
Move-some-account-settings-back-to-privacy-settings.patch
|
Move-some-account-settings-back-to-privacy-settings.patch
|
||||||
kill-Vision.patch
|
kill-Vision.patch
|
||||||
kill-Location-fall-back-to-system.patch
|
kill-Location-fall-back-to-system.patch
|
||||||
@@ -91,12 +91,15 @@ Disable-feeds-support-by-default.patch
|
|||||||
Disable-DRM-media-origin-IDs-preprovisioning.patch
|
Disable-DRM-media-origin-IDs-preprovisioning.patch
|
||||||
Disable-smart-selection-by-default.patch
|
Disable-smart-selection-by-default.patch
|
||||||
Guard-for-user-agent-reduction.patch
|
Guard-for-user-agent-reduction.patch
|
||||||
|
AImageReader-CFI-crash-mitigations.patch
|
||||||
Add-menu-item-to-view-source.patch
|
Add-menu-item-to-view-source.patch
|
||||||
Revert-removal-of-execution-context-address-space.patch
|
Revert-removal-of-execution-context-address-space.patch
|
||||||
Block-gateway-attacks-via-websockets.patch
|
Block-gateway-attacks-via-websockets.patch
|
||||||
|
Enable-prefetch-privacy-changes-by-default.patch
|
||||||
Enable-darken-websites-checkbox-in-themes.patch
|
Enable-darken-websites-checkbox-in-themes.patch
|
||||||
Remove-blocklisted-URLs-upon-bookmark-creation.patch
|
Remove-blocklisted-URLs-upon-bookmark-creation.patch
|
||||||
Disable-the-DIAL-repeating-discovery.patch
|
Disable-the-DIAL-repeating-discovery.patch
|
||||||
|
Block-qjz9zk-or-trk-requests.patch
|
||||||
Hardening-against-incognito-mode-detection.patch
|
Hardening-against-incognito-mode-detection.patch
|
||||||
Restore-Simplified-NTP-launch.patch
|
Restore-Simplified-NTP-launch.patch
|
||||||
Add-option-to-use-home-page-as-NTP.patch
|
Add-option-to-use-home-page-as-NTP.patch
|
||||||
@@ -153,7 +156,9 @@ Enable-Certificate-Transparency.patch
|
|||||||
Invalidate-components-public-key.patch
|
Invalidate-components-public-key.patch
|
||||||
Improve-plain-text-rendering-on-mobile.patch
|
Improve-plain-text-rendering-on-mobile.patch
|
||||||
Remove-segmentation-platform.patch
|
Remove-segmentation-platform.patch
|
||||||
|
Follow-only-system-dark-mode.patch
|
||||||
Remove-window-name-on-cross-origin-navigation.patch
|
Remove-window-name-on-cross-origin-navigation.patch
|
||||||
|
Remove-preload-of-com.google.android.gms.fonts.patch
|
||||||
Partition-Blink-memory-cache.patch
|
Partition-Blink-memory-cache.patch
|
||||||
Remove-navigator.connection-info.patch
|
Remove-navigator.connection-info.patch
|
||||||
Disable-PrivacyGuide.patch
|
Disable-PrivacyGuide.patch
|
||||||
@@ -165,6 +170,7 @@ Remove-HTTP-referrals-in-cross-origin-navigation.patch
|
|||||||
Enable-third-party-storage-partitioning.patch
|
Enable-third-party-storage-partitioning.patch
|
||||||
Restore-adaptive-button-in-top-toolbar-customization.patch
|
Restore-adaptive-button-in-top-toolbar-customization.patch
|
||||||
Add-kill-switch-for-unsupported-clangd-flags.patch
|
Add-kill-switch-for-unsupported-clangd-flags.patch
|
||||||
|
|
||||||
WIN-enable-pdf-plugin.patch
|
WIN-enable-pdf-plugin.patch
|
||||||
WIN-disable-annotate-downloads.patch
|
WIN-disable-annotate-downloads.patch
|
||||||
Enable-HighEfficiencyMode-by-default.patch
|
Enable-HighEfficiencyMode-by-default.patch
|
||||||
@@ -174,6 +180,7 @@ WIN-Disable-updater.patch
|
|||||||
WIN-Disable-first-run.patch
|
WIN-Disable-first-run.patch
|
||||||
WIN-Add-some-prefs-to-secure-preferences.patch
|
WIN-Add-some-prefs-to-secure-preferences.patch
|
||||||
WIN-Disable-search-for-image.patch
|
WIN-Disable-search-for-image.patch
|
||||||
|
|
||||||
AudioBuffer-AnalyserNode-fp-mitigations.patch
|
AudioBuffer-AnalyserNode-fp-mitigations.patch
|
||||||
add-browser-policy.patch
|
add-browser-policy.patch
|
||||||
Always-open-browser-controls-in-new-tab.patch
|
Always-open-browser-controls-in-new-tab.patch
|
||||||
@@ -236,6 +243,8 @@ Partition-MediaDeviceId-by-default.patch
|
|||||||
Keep-disabled-FetchLaterAPI.patch
|
Keep-disabled-FetchLaterAPI.patch
|
||||||
Disable-ranker-url-fetcher.patch
|
Disable-ranker-url-fetcher.patch
|
||||||
Disable-prefers-reduced-transparency-media-query.patch
|
Disable-prefers-reduced-transparency-media-query.patch
|
||||||
|
libjxl-0-8-2.patch
|
||||||
|
Add-support-to-jxl.patch
|
||||||
Block-Intents-While-Locked.patch
|
Block-Intents-While-Locked.patch
|
||||||
Keep-Manta-Service-Disabled.patch
|
Keep-Manta-Service-Disabled.patch
|
||||||
Disable-Service-and-Shared-workers-on-3P-iframe.patch
|
Disable-Service-and-Shared-workers-on-3P-iframe.patch
|
||||||
@@ -244,7 +253,7 @@ Always-allow-inspect-fallback.patch
|
|||||||
Add-PartialLowEndModeOnMidRangeDevices-flag.patch
|
Add-PartialLowEndModeOnMidRangeDevices-flag.patch
|
||||||
Use-list-mode-for-tab-switcher.patch
|
Use-list-mode-for-tab-switcher.patch
|
||||||
Chrome-web-store-protection.patch
|
Chrome-web-store-protection.patch
|
||||||
Enables-keyword-based-site-search-on-Android-devices.patch
|
Enable-search-engine-settings-desktop-ui.patch
|
||||||
Disable-Android-AppRestrictions.patch
|
Disable-Android-AppRestrictions.patch
|
||||||
Customize-selection-popup.patch
|
Customize-selection-popup.patch
|
||||||
Enables-deactivation-of-the-js-debugger-statement.patch
|
Enables-deactivation-of-the-js-debugger-statement.patch
|
||||||
@@ -266,6 +275,7 @@ Enable-Global-Privacy-Control.patch
|
|||||||
Enable-Do-Not-Track-by-default.patch
|
Enable-Do-Not-Track-by-default.patch
|
||||||
Media-fingerprinting-mitigations.patch
|
Media-fingerprinting-mitigations.patch
|
||||||
Use-BoringSSL-for-RandBytes.patch
|
Use-BoringSSL-for-RandBytes.patch
|
||||||
|
Restore-chrome-password-store.patch
|
||||||
Disable-support-for-pointer-device-id.patch
|
Disable-support-for-pointer-device-id.patch
|
||||||
Disable-CSS-blink-feature-support.patch
|
Disable-CSS-blink-feature-support.patch
|
||||||
Close-Sessions-On-Ip-Change.patch
|
Close-Sessions-On-Ip-Change.patch
|
||||||
@@ -280,54 +290,26 @@ Disable-Posture-API.patch
|
|||||||
PublicKeyCredential-fingerprinting-mitigations.patch
|
PublicKeyCredential-fingerprinting-mitigations.patch
|
||||||
Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch
|
Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch
|
||||||
Enable-Cert-Management-UI.patch
|
Enable-Cert-Management-UI.patch
|
||||||
|
Enable-ProcessBoundStringEncryption-by-default.patch
|
||||||
Prevent-mouse-wheel-fingerprinting-on-Windows.patch
|
Prevent-mouse-wheel-fingerprinting-on-Windows.patch
|
||||||
Enable-component-updater.patch
|
Enable-component-updater.patch
|
||||||
Android-fonts-fingerprinting-mitigation.patch
|
Android-fonts-fingerprinting-mitigation.patch
|
||||||
Disable-Android-Tab-Declutter.patch
|
|
||||||
Disable-CSSDynamicRangeLimit.patch
|
|
||||||
Disable-prefers-reduced-motion.patch
|
|
||||||
Disable-css-preferred-text-scale.patch
|
|
||||||
Disable-Viewport-Segments.patch
|
|
||||||
Keep-disabled-cache-sharing-for-pervasive-scripts.patch
|
|
||||||
High-Resolution-Timing-Mitigation.patch
|
|
||||||
Enable-snackbar-swipe.patch
|
|
||||||
Add-cromite-test-support.patch
|
|
||||||
Android-Pixel-Perfect-Mode.patch
|
|
||||||
Set-caret-blink-interval-to-default.patch
|
|
||||||
Set-the-screen-frame-rate-to-60-Hz.patch
|
|
||||||
Disable-Device-Attributes-API.patch
|
|
||||||
Add-setting-to-enable-Credman-for-passkeys.patch
|
|
||||||
Temp-disable-UseContextSnapshot.patch
|
|
||||||
Enable-ClientHello-Segmentation.patch
|
|
||||||
Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch
|
|
||||||
Supporting-Dangling-Ptr-Detection-via-BackupRefPtr.patch
|
|
||||||
Disable-device-bound-session.patch
|
|
||||||
Keep-disabled-CpuPerformance.patch
|
|
||||||
Immediately-destroy-shared-workers-when-closing-the-page.patch
|
|
||||||
Disable-minikin-hyphenation.patch
|
|
||||||
Disable-integration-with-Gemini.patch
|
|
||||||
Disable-AppRating.patch
|
|
||||||
Enable-Android-DevTools-Frontend.patch
|
|
||||||
|
|
||||||
# temporary or wip patches
|
# temporary or wip patches
|
||||||
|
Temp-PerformanceNavigationTiming-privacy-fix.patch
|
||||||
Temp-disable-predictive-back-gesture.patch
|
Temp-disable-predictive-back-gesture.patch
|
||||||
TEMP-Add-a-log-to-track-strange-behavior.patch
|
TEMP-Add-a-log-to-track-strange-behavior.patch
|
||||||
Temp-guard-FileSystemAccessPersistentPermissions.patch
|
Temp-guard-FileSystemAccessPersistentPermissions.patch
|
||||||
Never-treat-Proguard-warnings-as-errors.patch
|
Never-treat-Proguard-warnings-as-errors.patch
|
||||||
Temp-disable-experimental-web-platform-features.patch
|
Temp-disable-experimental-web-platform-features.patch
|
||||||
Block-leakage-of-urls-in-sandbox-iframes.patch
|
Block-leakage-of-urls-in-sandbox-iframes.patch
|
||||||
|
Temporarily-disable-Tab-Group-Sync-Android.patch
|
||||||
Fix-chromium-build-bugs.patch
|
Fix-chromium-build-bugs.patch
|
||||||
Try-to-fix-2082.patch
|
|
||||||
Temp-use-PREVIEW-for-IDCompositionDevice5.patch
|
|
||||||
|
|
||||||
# adblock patches
|
# adblock patches
|
||||||
eyeo-133.0.6943.49-base.patch
|
eyeo-beta-118.0.5993.48-base.patch
|
||||||
eyeo-133.0.6943.49-chrome_integration.patch
|
eyeo-beta-118.0.5993.48-chrome_integration.patch
|
||||||
eyeo-133.0.6943.49-android_api.patch
|
eyeo-beta-118.0.5993.48-android_api.patch
|
||||||
eyeo-133.0.6943.49-android_settings.patch
|
eyeo-beta-118.0.5993.48-android_settings.patch
|
||||||
eyeo-133.0.6943.49-extension_api.patch
|
eyeo-beta-118.0.5993.48-extension_api.patch
|
||||||
Eyeo-Adblock-for-Cromite.patch
|
Eyeo-Adblock-for-Cromite.patch
|
||||||
|
|
||||||
# extension patches
|
|
||||||
Experimental-support-for-extensions-on-Android.patch
|
|
||||||
Enable-extension-in-incognito.patch
|
|
||||||
|
|||||||
@@ -0,0 +1,252 @@
|
|||||||
|
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||||
|
Date: Tue, 5 May 2020 07:22:20 +0200
|
||||||
|
Subject: AImageReader CFI crash mitigations
|
||||||
|
|
||||||
|
Revert "gpu/android: Remove setup for disabling AImageReader."
|
||||||
|
This reverts commit dcd5a39518246eb999f1cc63bf1ec95d93fd5b2f.
|
||||||
|
|
||||||
|
Revert "Remove flags to enable/disable AImageReader."
|
||||||
|
This reverts commit 463fa0f2e3b9e418bc26e2c8954463f0b0f76634.
|
||||||
|
|
||||||
|
Restore GPU bug blacklist for AImageReader on ARM and Qualcomm CPUs
|
||||||
|
|
||||||
|
Restore the AImageReader blacklist for ARM/Qualcomm chipsets which causes
|
||||||
|
crashes on Android 9 and 10 (at different code locations).
|
||||||
|
|
||||||
|
See discussions at:
|
||||||
|
* https://github.com/bromite/bromite/issues/445
|
||||||
|
* https://github.com/bromite/bromite/issues/814
|
||||||
|
* https://github.com/bromite/bromite/issues/1005
|
||||||
|
|
||||||
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
|
---
|
||||||
|
base/android/android_image_reader_compat.cc | 16 ++++++++++++++++
|
||||||
|
base/android/android_image_reader_compat.h | 14 ++++++++++++++
|
||||||
|
chrome/browser/flag-metadata.json | 4 ++++
|
||||||
|
.../AImageReader-CFI-crash-mitigations.inc | 4 ++++
|
||||||
|
.../AImageReader-CFI-crash-mitigations.inc | 1 +
|
||||||
|
gpu/config/gpu_driver_bug_list.json | 16 ++++++++++++++++
|
||||||
|
gpu/config/gpu_finch_features.cc | 5 +++++
|
||||||
|
gpu/config/gpu_finch_features.h | 1 +
|
||||||
|
gpu/config/gpu_util.cc | 8 ++++++++
|
||||||
|
gpu/config/gpu_workaround_list.txt | 1 +
|
||||||
|
gpu/ipc/service/gpu_init.cc | 8 ++++++++
|
||||||
|
gpu/ipc/service/stream_texture_android.cc | 10 +++++++++-
|
||||||
|
12 files changed, 87 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
create mode 100644 cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
|
||||||
|
diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
|
||||||
|
--- a/base/android/android_image_reader_compat.cc
|
||||||
|
+++ b/base/android/android_image_reader_compat.cc
|
||||||
|
@@ -7,7 +7,23 @@
|
||||||
|
namespace base {
|
||||||
|
namespace android {
|
||||||
|
|
||||||
|
+AndroidImageReader& AndroidImageReader::GetInstance() {
|
||||||
|
+ // C++11 static local variable initialization is
|
||||||
|
+ // thread-safe.
|
||||||
|
+ static AndroidImageReader instance;
|
||||||
|
+ return instance;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void AndroidImageReader::DisableSupport() {
|
||||||
|
+ disable_support_ = true;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+bool AndroidImageReader::IsSupported() {
|
||||||
|
+ return !disable_support_;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
bool EnableAndroidImageReader() {
|
||||||
|
+ if (!AndroidImageReader::GetInstance().IsSupported()) return false;
|
||||||
|
// Currently we want to enable AImageReader only for android P+ devices.
|
||||||
|
if (__builtin_available(android 28, *)) {
|
||||||
|
return true;
|
||||||
|
diff --git a/base/android/android_image_reader_compat.h b/base/android/android_image_reader_compat.h
|
||||||
|
--- a/base/android/android_image_reader_compat.h
|
||||||
|
+++ b/base/android/android_image_reader_compat.h
|
||||||
|
@@ -10,6 +10,20 @@
|
||||||
|
namespace base {
|
||||||
|
namespace android {
|
||||||
|
|
||||||
|
+class BASE_EXPORT AndroidImageReader {
|
||||||
|
+ public:
|
||||||
|
+ // Thread safe GetInstance.
|
||||||
|
+ static AndroidImageReader& GetInstance();
|
||||||
|
+
|
||||||
|
+ bool IsSupported();
|
||||||
|
+
|
||||||
|
+ // Disable image reader support.
|
||||||
|
+ void DisableSupport();
|
||||||
|
+
|
||||||
|
+ private:
|
||||||
|
+ bool disable_support_ = false;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
// Check if the image reader usage is supported.
|
||||||
|
BASE_EXPORT bool EnableAndroidImageReader();
|
||||||
|
|
||||||
|
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
|
||||||
|
@@ -3224,6 +3224,10 @@
|
||||||
|
"name": "enable-identity-in-auth-error",
|
||||||
|
"owners": [ "jlebel@chromium.org", "chrome-signin-team@google.com" ],
|
||||||
|
"expiry_milestone": 135
|
||||||
|
+ },{
|
||||||
|
+ "name": "enable-image-reader", // Bromite: do not expire
|
||||||
|
+ "owners": [ "vikassoni@chromium.org", "liberato@chromium.org" ], // flag
|
||||||
|
+ "expiry_milestone": -1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "enable-immersive-fullscreen-toolbar",
|
||||||
|
diff --git a/cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc b/cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
|
+// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
|
||||||
|
+CROMITE_FEATURE(kAImageReaderVideoOutput,
|
||||||
|
+ "AImageReaderVideoOutput",
|
||||||
|
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
|
diff --git a/cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc b/cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+MEDIA_EXPORT BASE_DECLARE_FEATURE(kAImageReaderVideoOutput);
|
||||||
|
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
|
||||||
|
@@ -2593,6 +2593,22 @@
|
||||||
|
"no_downscaled_overlay_promotion"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
+ {
|
||||||
|
+ "id":335,
|
||||||
|
+ "cr_bugs": [1051705],
|
||||||
|
+ "description": "Disable AImageReader on ARM GPUs",
|
||||||
|
+ "os": {
|
||||||
|
+ "type": "android",
|
||||||
|
+ "version": {
|
||||||
|
+ "op": "<",
|
||||||
|
+ "value": "10"
|
||||||
|
+ }
|
||||||
|
+ },
|
||||||
|
+ "gl_vendor": "ARM.*|Qualcomm.*",
|
||||||
|
+ "features": [
|
||||||
|
+ "disable_aimagereader"
|
||||||
|
+ ]
|
||||||
|
+ },
|
||||||
|
{
|
||||||
|
"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
|
||||||
|
@@ -59,6 +59,11 @@ BASE_FEATURE(kAggressiveShaderCacheLimits,
|
||||||
|
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
|
|
||||||
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
|
+// Use android AImageReader when playing videos with MediaPlayer.
|
||||||
|
+CROMITE_FEATURE(kAImageReaderMediaPlayer,
|
||||||
|
+ "AImageReaderMediaPlayer",
|
||||||
|
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
|
+
|
||||||
|
// Use android SurfaceControl API for managing display compositor's buffer queue
|
||||||
|
// and using overlays on Android. Also used by webview to disable surface
|
||||||
|
// SurfaceControl.
|
||||||
|
diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
|
||||||
|
--- a/gpu/config/gpu_finch_features.h
|
||||||
|
+++ b/gpu/config/gpu_finch_features.h
|
||||||
|
@@ -26,6 +26,7 @@ GPU_EXPORT BASE_DECLARE_FEATURE(kUseGles2ForOopR);
|
||||||
|
GPU_EXPORT BASE_DECLARE_FEATURE(kAggressiveShaderCacheLimits);
|
||||||
|
|
||||||
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
|
+GPU_EXPORT BASE_DECLARE_FEATURE(kAImageReaderMediaPlayer);
|
||||||
|
GPU_EXPORT BASE_DECLARE_FEATURE(kAndroidSurfaceControl);
|
||||||
|
GPU_EXPORT BASE_DECLARE_FEATURE(kWebViewSurfaceControl);
|
||||||
|
GPU_EXPORT BASE_DECLARE_FEATURE(kWebViewSurfaceControlForTV);
|
||||||
|
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
|
||||||
|
--- a/gpu/config/gpu_util.cc
|
||||||
|
+++ b/gpu/config/gpu_util.cc
|
||||||
|
@@ -126,6 +126,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
|
||||||
|
#if !BUILDFLAG(IS_ANDROID)
|
||||||
|
return kGpuFeatureStatusDisabled;
|
||||||
|
#else
|
||||||
|
+ if (blocklisted_features.count(GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL))
|
||||||
|
+ return kGpuFeatureStatusBlocklisted;
|
||||||
|
+
|
||||||
|
if (!gpu_preferences.enable_android_surface_control)
|
||||||
|
return kGpuFeatureStatusDisabled;
|
||||||
|
|
||||||
|
@@ -375,6 +378,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info,
|
||||||
|
kGpuFeatureStatusSoftware;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ if (gpu_feature_info->IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
|
||||||
|
+ gpu_feature_info->status_values[GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL] =
|
||||||
|
+ kGpuFeatureStatusBlocklisted;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Estimates roughly user total disk space by counting in the drives where
|
||||||
|
diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
|
||||||
|
--- a/gpu/config/gpu_workaround_list.txt
|
||||||
|
+++ b/gpu/config/gpu_workaround_list.txt
|
||||||
|
@@ -6,6 +6,7 @@ check_egl_fence_before_wait
|
||||||
|
check_ycbcr_studio_g22_left_p709_for_nv12_support
|
||||||
|
disable_2d_canvas_auto_flush
|
||||||
|
disable_accelerated_av1_decode
|
||||||
|
+disable_aimagereader
|
||||||
|
disable_accelerated_av1_encode
|
||||||
|
disable_accelerated_h264_decode
|
||||||
|
disable_accelerated_h264_encode
|
||||||
|
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
|
||||||
|
@@ -70,6 +70,7 @@
|
||||||
|
|
||||||
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
|
#include "ui/gfx/android/android_surface_control_compat.h"
|
||||||
|
+#include "base/android/android_image_reader_compat.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if BUILDFLAG(ENABLE_VULKAN)
|
||||||
|
@@ -715,6 +716,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||||
|
}
|
||||||
|
#endif // BUILDFLAG(IS_WIN)
|
||||||
|
|
||||||
|
+#if BUILDFLAG(IS_ANDROID)
|
||||||
|
+ // Disable AImageReader if the workaround is enabled.
|
||||||
|
+ if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
|
||||||
|
+ base::android::AndroidImageReader::GetInstance().DisableSupport();
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
if (gpu_feature_info_.status_values[GPU_FEATURE_TYPE_VULKAN] !=
|
||||||
|
kGpuFeatureStatusEnabled ||
|
||||||
|
!InitializeVulkan()) {
|
||||||
|
diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_texture_android.cc
|
||||||
|
--- a/gpu/ipc/service/stream_texture_android.cc
|
||||||
|
+++ b/gpu/ipc/service/stream_texture_android.cc
|
||||||
|
@@ -50,7 +50,15 @@ std::unique_ptr<ui::ScopedMakeCurrent> MakeCurrent(
|
||||||
|
}
|
||||||
|
|
||||||
|
TextureOwner::Mode GetTextureOwnerMode() {
|
||||||
|
- return base::android::EnableAndroidImageReader()
|
||||||
|
+ const bool a_image_reader_supported =
|
||||||
|
+ base::android::AndroidImageReader::GetInstance().IsSupported();
|
||||||
|
+
|
||||||
|
+ // TODO(vikassoni) : Currently we have 2 different flags to enable/disable
|
||||||
|
+ // AImageReader - one for MCVD and other for MediaPlayer here. Merge those 2
|
||||||
|
+ // flags into a single flag. Keeping the 2 flags separate for now since finch
|
||||||
|
+ // experiment using this flag is in progress.
|
||||||
|
+ return a_image_reader_supported && base::android::EnableAndroidImageReader() &&
|
||||||
|
+ base::FeatureList::IsEnabled(features::kAImageReaderMediaPlayer)
|
||||||
|
? TextureOwner::Mode::kAImageReaderInsecure
|
||||||
|
: TextureOwner::Mode::kSurfaceTextureInsecure;
|
||||||
|
}
|
||||||
|
--
|
||||||
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
@@ -256,6 +256,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
|
@@ -225,6 +225,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
|
||||||
import org.chromium.content_public.browser.SelectionPopupController;
|
import org.chromium.content_public.browser.SelectionPopupController;
|
||||||
import org.chromium.content_public.browser.WebContents;
|
import org.chromium.content_public.browser.WebContents;
|
||||||
import org.chromium.content_public.common.ContentSwitches;
|
import org.chromium.content_public.common.ContentSwitches;
|
||||||
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||||||
import org.chromium.printing.PrintManagerDelegateImpl;
|
import org.chromium.printing.PrintManagerDelegateImpl;
|
||||||
import org.chromium.printing.PrintingController;
|
import org.chromium.printing.PrintingController;
|
||||||
import org.chromium.printing.PrintingControllerImpl;
|
import org.chromium.printing.PrintingControllerImpl;
|
||||||
@@ -1137,6 +1138,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
@@ -968,6 +969,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||||
super.onStartWithNative();
|
super.onStartWithNative();
|
||||||
|
|
||||||
ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier());
|
ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier());
|
||||||
@@ -40,42 +40,42 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
@@ -206,6 +206,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
@@ -164,6 +164,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||||
&feed::kFeedNoViewCache,
|
|
||||||
&feed::kFeedPerformanceStudy,
|
&feed::kFeedPerformanceStudy,
|
||||||
&feed::kFeedRecyclerBinderUnmountOnDetach,
|
&feed::kFeedShowSignInCommand,
|
||||||
+ &kAllowUserCertificates,
|
|
||||||
&feed::kFeedSignedOutViewDemotion,
|
&feed::kFeedSignedOutViewDemotion,
|
||||||
|
+ &kAllowUserCertificates,
|
||||||
|
&feed::kFeedRecyclerBinderUnmountOnDetach,
|
||||||
&feed::kInterestFeedV2,
|
&feed::kInterestFeedV2,
|
||||||
&feed::kWebFeedAwareness,
|
&feed::kWebFeedAwareness,
|
||||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
@@ -168,6 +168,7 @@ public abstract class ChromeFeatureList {
|
@@ -158,6 +158,7 @@ public abstract class ChromeFeatureList {
|
||||||
"AccountForSuppressedKeyboardInsets";
|
// Feature names.
|
||||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
|
/* Alphabetical: */
|
||||||
"AdaptiveButtonInTopToolbarCustomizationV2";
|
public static final String ACT_USER_BYPASS_UX = "ActUserBypassUx";
|
||||||
+ public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
|
+ public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
|
||||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY =
|
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY =
|
||||||
"AdaptiveButtonInTopToolbarPageSummary";
|
"AdaptiveButtonInTopToolbarPageSummary";
|
||||||
// Don't clean up this flag yet, BCIV is launched, so this needs to be enabled by
|
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
|
||||||
@@ -836,6 +837,8 @@ public abstract class ChromeFeatureList {
|
@@ -624,6 +625,8 @@ public abstract class ChromeFeatureList {
|
||||||
public static final CachedFlag sAndroidXrImmersivePlayer =
|
public static final CachedFlag sAndroidTabDeclutterDedupeTabIdsKillSwitch =
|
||||||
newCachedFlag(ANDROID_XR_IMMERSIVE_PLAYER, false);
|
newCachedFlag(ANDROID_TAB_DECLUTTER_DEDUPE_TAB_IDS_KILL_SWITCH, true);
|
||||||
public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true);
|
public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true);
|
||||||
+ public static final CachedFlag sAllowUserCertificates =
|
+ public static final CachedFlag sAllowUserCertificates =
|
||||||
+ newCachedFlag(ALLOW_USER_CERTIFICATES, false);
|
+ newCachedFlag(ALLOW_USER_CERTIFICATES, false);
|
||||||
public static final CachedFlag sAppSpecificHistoryViewIntent =
|
|
||||||
newCachedFlag(APP_SPECIFIC_HISTORY_VIEW_INTENT, true);
|
|
||||||
public static final CachedFlag sAsyncNotificationManager =
|
public static final CachedFlag sAsyncNotificationManager =
|
||||||
@@ -1217,6 +1220,7 @@ public abstract class ChromeFeatureList {
|
newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false, true);
|
||||||
sAccountForSuppressedKeyboardInsets,
|
public static final CachedFlag sBlockIntentsWhileLocked =
|
||||||
sAndroidAnimatedProgressBarInBrowser,
|
@@ -845,6 +848,7 @@ public abstract class ChromeFeatureList {
|
||||||
sAndroidApb144Patch1,
|
public static final List<CachedFlag> sFlagsCachedFullBrowserChromium =
|
||||||
|
List.of(
|
||||||
|
sAndroidAppIntegration,
|
||||||
+ sAllowUserCertificates,
|
+ sAllowUserCertificates,
|
||||||
sAndroidApb144Patch2,
|
sAndroidAppIntegrationModule,
|
||||||
sAndroidApb144Patch3,
|
sAndroidAppIntegrationV2,
|
||||||
sAndroidApb144Patch4,
|
sAndroidAppIntegrationWithFavicon,
|
||||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@@ -111,8 +111,8 @@ new file mode 100644
|
|||||||
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
|
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
|
--- a/net/android/java/src/org/chromium/net/X509Util.java
|
||||||
+++ b/net/android/java/src/org/chromium/net/X509Util.java
|
+++ b/net/android/java/src/org/chromium/net/X509Util.java
|
||||||
@@ -472,6 +472,8 @@ public class X509Util {
|
@@ -542,6 +542,8 @@ public class X509Util {
|
||||||
return result;
|
return userRootBytes.toArray(new byte[0][]);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ public static boolean AllowUserCertificates = false;
|
+ public static boolean AllowUserCertificates = false;
|
||||||
@@ -120,7 +120,7 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j
|
|||||||
public static AndroidCertVerifyResult verifyServerCertificates(
|
public static AndroidCertVerifyResult verifyServerCertificates(
|
||||||
byte[][] certChain,
|
byte[][] certChain,
|
||||||
String authType,
|
String authType,
|
||||||
@@ -649,6 +651,9 @@ public class X509Util {
|
@@ -642,6 +644,9 @@ public class X509Util {
|
||||||
X509Certificate root = verifiedChain.get(verifiedChain.size() - 1);
|
X509Certificate root = verifiedChain.get(verifiedChain.size() - 1);
|
||||||
isIssuedByKnownRoot = isKnownRoot(root);
|
isIssuedByKnownRoot = isKnownRoot(root);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,23 +4,19 @@ Subject: Add Alt+D hotkey to focus address bar
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
.../src/org/chromium/chrome/browser/KeyboardShortcuts.java | 6 ++++++
|
.../java/src/org/chromium/chrome/browser/KeyboardShortcuts.java | 2 ++
|
||||||
1 file changed, 6 insertions(+)
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||||
@@ -939,6 +939,12 @@ public class KeyboardShortcuts {
|
@@ -472,6 +472,8 @@ public class KeyboardShortcuts {
|
||||||
KeyEvent.KEYCODE_ESCAPE,
|
R.string.keyboard_shortcut_address_bar,
|
||||||
KeyEvent.META_CTRL_ON);
|
KeyEvent.KEYCODE_L,
|
||||||
}
|
KeyEvent.META_CTRL_ON);
|
||||||
+ addShortcut(context,
|
+ addShortcut(context, chromeFeatureShortcutGroup, R.string.keyboard_shortcut_address_bar,
|
||||||
+ shortcutGroupsById,
|
+ KeyEvent.KEYCODE_D, KeyEvent.META_ALT_ON);
|
||||||
+ R.string.keyboard_shortcut_chrome_feature_group_header,
|
shortcutGroups.add(chromeFeatureShortcutGroup);
|
||||||
+ R.string.keyboard_shortcut_address_bar,
|
|
||||||
+ KeyEvent.KEYCODE_D,
|
|
||||||
+ KeyEvent.META_ALT_ON);
|
|
||||||
return new ArrayList<>(shortcutGroupsById.values());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
KeyboardShortcutGroup webpageShortcutGroup =
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ new file mode 100644
|
|||||||
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
||||||
--- a/net/url_request/url_request_http_job.cc
|
--- a/net/url_request/url_request_http_job.cc
|
||||||
+++ b/net/url_request/url_request_http_job.cc
|
+++ b/net/url_request/url_request_http_job.cc
|
||||||
@@ -403,6 +403,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
@@ -372,6 +372,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,55 +7,36 @@ adds a new flag in chrome://flags to re-enable the experiment
|
|||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
base/features.cc | 4 ++++
|
base/features.cc | 4 ++++
|
||||||
content/renderer/render_process_impl.cc | 9 +++++++++
|
chrome/browser/about_flags.cc | 1 +
|
||||||
.../Add-PartialLowEndModeOnMidRangeDevices-flag.inc | 12 ++++++++++++
|
.../Add-PartialLowEndModeOnMidRangeDevices-flag.inc | 12 ++++++++++++
|
||||||
3 files changed, 25 insertions(+)
|
3 files changed, 17 insertions(+)
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
|
||||||
|
|
||||||
diff --git a/base/features.cc b/base/features.cc
|
diff --git a/base/features.cc b/base/features.cc
|
||||||
--- a/base/features.cc
|
--- a/base/features.cc
|
||||||
+++ b/base/features.cc
|
+++ b/base/features.cc
|
||||||
@@ -199,6 +199,10 @@ bool IsReducePPMsEnabled() {
|
@@ -123,6 +123,10 @@ BASE_FEATURE(kPostGetMyMemoryStateToBackground,
|
||||||
return g_is_reduce_ppms_enabled.load(std::memory_order_relaxed);
|
FEATURE_ENABLED_BY_DEFAULT);
|
||||||
}
|
#endif // BUILDFLAG(IS_ANDROID)
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
+#if BUILDFLAG(IS_ANDROID)
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kPartialLowEndModeOnMidRangeDevices);
|
+SET_CROMITE_FEATURE_DISABLED(kPartialLowEndModeOnMidRangeDevices);
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
void Init() {
|
void Init(EmitThreadControllerProfilerMetadata
|
||||||
g_is_reduce_ppms_enabled.store(FeatureList::IsEnabled(kReducePPMs),
|
emit_thread_controller_profiler_metadata) {
|
||||||
std::memory_order_relaxed);
|
InitializeCpuReductionExperiment();
|
||||||
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc
|
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||||
--- a/content/renderer/render_process_impl.cc
|
--- a/chrome/browser/about_flags.cc
|
||||||
+++ b/content/renderer/render_process_impl.cc
|
+++ b/chrome/browser/about_flags.cc
|
||||||
@@ -2,6 +2,7 @@
|
@@ -22,6 +22,7 @@
|
||||||
// Use of this source code is governed by a BSD-style license that can be
|
#include "base/base_switches.h"
|
||||||
// found in the LICENSE file.
|
#include "base/command_line.h"
|
||||||
|
#include "base/feature_list.h"
|
||||||
+#include "base/features.h"
|
+#include "base/features.h"
|
||||||
#include "content/renderer/render_process_impl.h"
|
#include "base/functional/bind.h"
|
||||||
|
#include "base/functional/callback.h"
|
||||||
#include "build/build_config.h"
|
#include "base/i18n/base_i18n_switches.h"
|
||||||
@@ -123,10 +124,18 @@ RenderProcessImpl::RenderProcessImpl()
|
|
||||||
base::CommandLine::ForCurrentProcess()->HasSwitch(
|
|
||||||
switches::kDisallowV8FeatureFlagOverrides);
|
|
||||||
if (!disallow_v8_feature_flag_overrides) {
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
+ if (base::SysInfo::IsLowEndDevice()
|
|
||||||
+ && base::FeatureList::IsEnabled(base::features::kPartialLowEndModeOnMidRangeDevices)) {
|
|
||||||
+ std::string_view optimize_flag("--optimize-for-size");
|
|
||||||
+ v8::V8::SetFlagsFromString(optimize_flag.data(), optimize_flag.size());
|
|
||||||
+ }
|
|
||||||
+#else
|
|
||||||
if (base::SysInfo::IsLowEndDevice()) {
|
|
||||||
std::string_view optimize_flag("--optimize-for-size");
|
|
||||||
v8::V8::SetFlagsFromString(optimize_flag.data(), optimize_flag.size());
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
|
||||||
// V8 flags are typically set in gin/v8_initializer.cc. Only those flags
|
|
||||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
|
|||||||
@@ -27,14 +27,13 @@ diff --git a/chrome/android/expectations/expectations.gni b/chrome/android/expec
|
|||||||
+enable_libs_and_assets_verification = enable_trybot_verification &&
|
+enable_libs_and_assets_verification = enable_trybot_verification &&
|
||||||
!enable_chrome_android_internal && !is_component_build &&
|
!enable_chrome_android_internal && !is_component_build &&
|
||||||
!use_jacoco_coverage && is_official_build &&
|
!use_jacoco_coverage && is_official_build &&
|
||||||
((target_cpu == "arm64" || target_cpu == "x64") &&
|
(target_cpu == "arm64" && android_channel == "stable")
|
||||||
@@ -16,7 +20,7 @@ enable_libs_and_assets_verification =
|
@@ -15,6 +19,6 @@ enable_libs_and_assets_verification =
|
||||||
# use_jacoco_coverage: Adds proguard flags.
|
# use_jacoco_coverage: Adds proguard flags.
|
||||||
# android_channel: Manifest entries vary based on channel.
|
# android_channel: Manifest entries vary based on channel.
|
||||||
# target_cpu: android:versionCode varies.
|
# target_cpu: android:versionCode varies.
|
||||||
-enable_manifest_verification =
|
-enable_manifest_verification =
|
||||||
+enable_manifest_verification = enable_trybot_verification &&
|
+enable_manifest_verification = enable_trybot_verification &&
|
||||||
!is_java_debug && !enable_chrome_android_internal && !use_jacoco_coverage &&
|
!is_java_debug && !enable_chrome_android_internal && !use_jacoco_coverage &&
|
||||||
((target_cpu == "arm64" || target_cpu == "x64") &&
|
(target_cpu == "arm64" && android_channel == "stable")
|
||||||
android_channel == "stable")
|
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -5,21 +5,37 @@ Subject: Add a flag to disable GamePad API
|
|||||||
Adds restrict-gamepad-access flag (default active) to disable GamePad API.
|
Adds restrict-gamepad-access flag (default active) to disable GamePad API.
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
|
chrome/browser/flag-metadata.json | 4 ++--
|
||||||
content/child/runtime_features.cc | 2 ++
|
content/child/runtime_features.cc | 2 ++
|
||||||
.../about_flags_cc/Add-a-flag-to-disable-GamePad-API.inc | 7 +++++++
|
.../about_flags_cc/Add-a-flag-to-disable-GamePad-API.inc | 7 +++++++
|
||||||
device/gamepad/public/cpp/gamepad_features.cc | 8 ++++++++
|
device/gamepad/public/cpp/gamepad_features.cc | 8 ++++++++
|
||||||
device/gamepad/public/cpp/gamepad_features.h | 2 ++
|
device/gamepad/public/cpp/gamepad_features.h | 2 ++
|
||||||
.../blink/renderer/modules/gamepad/navigator_gamepad.cc | 6 ++++++
|
.../blink/renderer/modules/gamepad/navigator_gamepad.cc | 7 +++++++
|
||||||
5 files changed, 25 insertions(+)
|
6 files changed, 28 insertions(+), 2 deletions(-)
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-a-flag-to-disable-GamePad-API.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-a-flag-to-disable-GamePad-API.inc
|
||||||
|
|
||||||
|
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
|
||||||
|
@@ -7665,9 +7665,9 @@
|
||||||
|
"expiry_milestone": 140
|
||||||
|
},
|
||||||
|
{
|
||||||
|
- "name": "restrict-gamepad-access",
|
||||||
|
+ "name": "restrict-gamepad-access", // restrict-gamepad-access"
|
||||||
|
"owners": [ "//device/gamepad/OWNERS", "jameshollyer@chromium.org" ],
|
||||||
|
- "expiry_milestone": 96
|
||||||
|
+ "expiry_milestone": -1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "retain-omnibox-on-focus",
|
||||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||||
--- a/content/child/runtime_features.cc
|
--- a/content/child/runtime_features.cc
|
||||||
+++ b/content/child/runtime_features.cc
|
+++ b/content/child/runtime_features.cc
|
||||||
@@ -246,6 +246,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
@@ -258,6 +258,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||||
{wf::EnablePaymentApp, raw_ref(features::kServiceWorkerPaymentApps)},
|
|
||||||
{wf::EnablePeriodicBackgroundSync,
|
|
||||||
raw_ref(features::kPeriodicBackgroundSync)},
|
raw_ref(features::kPeriodicBackgroundSync)},
|
||||||
|
{wf::EnablePushMessagingSubscriptionChange,
|
||||||
|
raw_ref(features::kPushSubscriptionChangeEvent)},
|
||||||
+ {wf::EnableRestrictGamepadAccess,
|
+ {wf::EnableRestrictGamepadAccess,
|
||||||
+ raw_ref(features::kRestrictGamepadAccess)},
|
+ raw_ref(features::kRestrictGamepadAccess)},
|
||||||
{wf::EnableSecurePaymentConfirmation,
|
{wf::EnableSecurePaymentConfirmation,
|
||||||
@@ -40,7 +56,7 @@ new file mode 100644
|
|||||||
diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/public/cpp/gamepad_features.cc
|
diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/public/cpp/gamepad_features.cc
|
||||||
--- a/device/gamepad/public/cpp/gamepad_features.cc
|
--- a/device/gamepad/public/cpp/gamepad_features.cc
|
||||||
+++ b/device/gamepad/public/cpp/gamepad_features.cc
|
+++ b/device/gamepad/public/cpp/gamepad_features.cc
|
||||||
@@ -59,4 +59,12 @@ bool IsGamepadMultitouchEnabled() {
|
@@ -36,4 +36,12 @@ bool IsGamepadMultitouchEnabled() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,17 +72,12 @@ diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/publ
|
|||||||
diff --git a/device/gamepad/public/cpp/gamepad_features.h b/device/gamepad/public/cpp/gamepad_features.h
|
diff --git a/device/gamepad/public/cpp/gamepad_features.h b/device/gamepad/public/cpp/gamepad_features.h
|
||||||
--- a/device/gamepad/public/cpp/gamepad_features.h
|
--- a/device/gamepad/public/cpp/gamepad_features.h
|
||||||
+++ b/device/gamepad/public/cpp/gamepad_features.h
|
+++ b/device/gamepad/public/cpp/gamepad_features.h
|
||||||
@@ -17,6 +17,7 @@ GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(
|
@@ -13,8 +13,10 @@ namespace features {
|
||||||
GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kGamepadRawInputChangeEvent);
|
|
||||||
GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(
|
GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(
|
||||||
kClaimDuplicateGamepadsProductIdentifier);
|
kEnableWindowsGamingInputDataFetcher);
|
||||||
|
GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kEnableGamepadMultitouch);
|
||||||
+GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kRestrictGamepadAccess);
|
+GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kRestrictGamepadAccess);
|
||||||
|
|
||||||
#if BUILDFLAG(IS_WIN)
|
|
||||||
GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kIgnorePS5GamepadsInWgi);
|
|
||||||
@@ -34,6 +35,7 @@ GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(
|
|
||||||
#endif // BUILDFLAG(IS_APPLE)
|
|
||||||
|
|
||||||
GAMEPAD_FEATURES_EXPORT bool IsGamepadMultitouchEnabled();
|
GAMEPAD_FEATURES_EXPORT bool IsGamepadMultitouchEnabled();
|
||||||
+GAMEPAD_FEATURES_EXPORT bool IsRestrictGamepadAccessEnabled();
|
+GAMEPAD_FEATURES_EXPORT bool IsRestrictGamepadAccessEnabled();
|
||||||
|
|
||||||
@@ -80,23 +91,24 @@ diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/t
|
|||||||
#include "base/auto_reset.h"
|
#include "base/auto_reset.h"
|
||||||
#include "device/gamepad/public/cpp/gamepads.h"
|
#include "device/gamepad/public/cpp/gamepads.h"
|
||||||
+#include "device/gamepad/public/cpp/gamepad_features.h"
|
+#include "device/gamepad/public/cpp/gamepad_features.h"
|
||||||
|
#include "third_party/blink/public/common/privacy_budget/identifiability_metric_builder.h"
|
||||||
|
#include "third_party/blink/public/common/privacy_budget/identifiability_study_settings.h"
|
||||||
#include "third_party/blink/public/mojom/frame/user_activation_notification_type.mojom-blink.h"
|
#include "third_party/blink/public/mojom/frame/user_activation_notification_type.mojom-blink.h"
|
||||||
#include "third_party/blink/public/platform/task_type.h"
|
@@ -114,6 +115,10 @@ void RecordGamepadsForIdentifiabilityStudy(
|
||||||
#include "third_party/blink/renderer/bindings/modules/v8/v8_gamepad_mapping_type.h"
|
|
||||||
@@ -88,6 +89,9 @@ NavigatorGamepad& NavigatorGamepad::From(Navigator& navigator) {
|
|
||||||
HeapVector<Member<Gamepad>> NavigatorGamepad::getGamepads(
|
HeapVector<Member<Gamepad>> NavigatorGamepad::getGamepads(
|
||||||
Navigator& navigator,
|
Navigator& navigator,
|
||||||
ExceptionState& exception_state) {
|
ExceptionState& exception_state) {
|
||||||
+ if (::features::IsRestrictGamepadAccessEnabled()) {
|
+ if (::features::IsRestrictGamepadAccessEnabled()) {
|
||||||
|
+ exception_state.ThrowSecurityError("Access to the feature \"gamepad\" is denied");
|
||||||
+ return HeapVector<Member<Gamepad>>();
|
+ return HeapVector<Member<Gamepad>>();
|
||||||
+ }
|
+ }
|
||||||
if (!navigator.DomWindow()) {
|
if (!navigator.DomWindow()) {
|
||||||
// Using an existing NavigatorGamepad if one exists, but don't create one
|
// Using an existing NavigatorGamepad if one exists, but don't create one
|
||||||
// for a detached window, as its subclasses depend on a non-null window.
|
// for a detached window, as its subclasses depend on a non-null window.
|
||||||
@@ -433,6 +437,8 @@ void NavigatorGamepad::MaybeDispatchGamepadEvents(
|
@@ -420,6 +425,8 @@ void NavigatorGamepad::SampleAndCompareGamepadState() {
|
||||||
void NavigatorGamepad::DispatchGamepadConnectionChangedEvent(
|
|
||||||
const AtomicString& event_name,
|
void NavigatorGamepad::DispatchGamepadEvent(const AtomicString& event_name,
|
||||||
Gamepad* gamepad) {
|
Gamepad* gamepad) {
|
||||||
+ if (::features::IsRestrictGamepadAccessEnabled())
|
+ if (::features::IsRestrictGamepadAccessEnabled())
|
||||||
+ return;
|
+ return;
|
||||||
// Ensure that we're blocking re-entrancy.
|
// Ensure that we're blocking re-entrancy.
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ this implementation is the same as the one in ChromeOS which gets proxy informat
|
|||||||
for the system network context; this is strictly not correct on Android because the network context is
|
for the system network context; this is strictly not correct on Android because the network context is
|
||||||
never connected to any user profile and only gets proxy information from the system.
|
never connected to any user profile and only gets proxy information from the system.
|
||||||
Existing settings on Profile are migrated to LocalState on startup.
|
Existing settings on Profile are migrated to LocalState on startup.
|
||||||
Enable the support for multiple proxy chain via the bracketed [] sintax
|
|
||||||
|
|
||||||
Credits to @uazo for the LocalState integration.
|
Credits to @uazo for the LocalState integration.
|
||||||
|
|
||||||
@@ -30,20 +29,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
chrome/browser/resources/proxy_config.html | 77 ++++
|
chrome/browser/resources/proxy_config.html | 77 ++++
|
||||||
chrome/browser/resources/proxy_config.js | 278 +++++++++++++
|
chrome/browser/resources/proxy_config.js | 278 +++++++++++++
|
||||||
chrome/browser/ui/BUILD.gn | 2 +
|
chrome/browser/ui/BUILD.gn | 2 +
|
||||||
.../browser/ui/webui/chrome_web_ui_configs.cc | 5 +-
|
.../browser/ui/webui/chrome_web_ui_configs.cc | 4 +
|
||||||
chrome/browser/ui/webui/proxy_config_ui.cc | 389 ++++++++++++++++++
|
chrome/browser/ui/webui/proxy_config_ui.cc | 389 ++++++++++++++++++
|
||||||
chrome/browser/ui/webui/proxy_config_ui.h | 41 ++
|
chrome/browser/ui/webui/proxy_config_ui.h | 41 ++
|
||||||
chrome/common/webui_url_constants.cc | 1 +
|
chrome/common/webui_url_constants.cc | 2 +
|
||||||
chrome/common/webui_url_constants.h | 2 +
|
chrome/common/webui_url_constants.h | 2 +
|
||||||
.../pref_proxy_config_tracker_impl.cc | 5 +-
|
.../pref_proxy_config_tracker_impl.cc | 5 +-
|
||||||
.../proxy_config/proxy_config_dictionary.cc | 30 +-
|
.../proxy_config/proxy_config_dictionary.cc | 30 +-
|
||||||
.../proxy_config/proxy_config_dictionary.h | 7 +-
|
.../proxy_config/proxy_config_dictionary.h | 7 +-
|
||||||
.../proxy_config/proxy_policy_handler.cc | 2 +-
|
.../proxy_config/proxy_policy_handler.cc | 2 +-
|
||||||
net/features.gni | 2 +-
|
net/proxy_resolution/proxy_config.cc | 51 ++-
|
||||||
net/proxy_resolution/pac_file_fetcher_impl.cc | 8 -
|
|
||||||
net/proxy_resolution/proxy_config.cc | 53 ++-
|
|
||||||
net/proxy_resolution/proxy_config.h | 3 +
|
net/proxy_resolution/proxy_config.h | 3 +
|
||||||
27 files changed, 986 insertions(+), 27 deletions(-)
|
25 files changed, 984 insertions(+), 17 deletions(-)
|
||||||
create mode 100644 chrome/browser/resources/proxy_config.css
|
create mode 100644 chrome/browser/resources/proxy_config.css
|
||||||
create mode 100644 chrome/browser/resources/proxy_config.html
|
create mode 100644 chrome/browser/resources/proxy_config.html
|
||||||
create mode 100644 chrome/browser/resources/proxy_config.js
|
create mode 100644 chrome/browser/resources/proxy_config.js
|
||||||
@@ -80,7 +77,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
@@ -110,6 +110,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -81,6 +81,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection";
|
private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection";
|
||||||
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
|
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
|
||||||
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||||
@@ -91,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||||
@@ -420,6 +420,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
@@ -333,6 +333,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||||
builtins_to_provide.push_back(chrome::kChromeUISettingsURL16);
|
builtins_to_provide.push_back(chrome::kChromeUISettingsURL16);
|
||||||
#endif
|
#endif
|
||||||
builtins_to_provide.push_back(chrome::kChromeUIVersionURL16);
|
builtins_to_provide.push_back(chrome::kChromeUIVersionURL16);
|
||||||
@@ -102,20 +99,20 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
|||||||
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
|
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
|
||||||
--- a/chrome/browser/browser_resources.grd
|
--- a/chrome/browser/browser_resources.grd
|
||||||
+++ b/chrome/browser/browser_resources.grd
|
+++ b/chrome/browser/browser_resources.grd
|
||||||
@@ -236,6 +236,9 @@
|
@@ -221,6 +221,9 @@
|
||||||
<if expr="_google_chrome">
|
|
||||||
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings\internal\pref_hash_seed.bin" type="BINDATA" />
|
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings\internal\pref_hash_seed.bin" type="BINDATA" />
|
||||||
|
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
|
||||||
</if>
|
</if>
|
||||||
+ <!-- Bromite Proxy Configuration UI -->
|
+ <!-- Bromite Proxy Configuration UI -->
|
||||||
+ <include name="IDR_PROXY_CONFIG_HTML" file="resources\proxy_config.html" flattenhtml="true" type="BINDATA" compress="gzip" />
|
+ <include name="IDR_PROXY_CONFIG_HTML" file="resources\proxy_config.html" flattenhtml="true" type="BINDATA" compress="gzip" />
|
||||||
+ <include name="IDR_PROXY_CONFIG_JS" file="resources\proxy_config.js" type="BINDATA" compress="gzip" />
|
+ <include name="IDR_PROXY_CONFIG_JS" file="resources\proxy_config.js" type="BINDATA" compress="gzip" />
|
||||||
<if expr="not is_android or enable_extensions_core">
|
<if expr="not is_android">
|
||||||
<!-- Page not available for guest. -->
|
<!-- Page not available for guest. -->
|
||||||
<include name="IDR_PAGE_NOT_AVAILABLE_FOR_GUEST_APP_HTML" file="resources\page_not_available_for_guest\app.html" type="BINDATA" />
|
<include name="IDR_PAGE_NOT_AVAILABLE_FOR_GUEST_APP_HTML" file="resources\page_not_available_for_guest\app.html" type="BINDATA" />
|
||||||
diff --git a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
diff --git a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
||||||
--- a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
--- a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
||||||
+++ b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
+++ b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
||||||
@@ -383,7 +383,7 @@ std::optional<base::DictValue> CreateProxyConfigDict(
|
@@ -372,7 +372,7 @@ std::optional<base::Value::Dict> CreateProxyConfigDict(
|
||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
}
|
}
|
||||||
return ProxyConfigDictionary::CreateFixedServers(proxy_rules_string,
|
return ProxyConfigDictionary::CreateFixedServers(proxy_rules_string,
|
||||||
@@ -152,7 +149,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
|
|||||||
- return std::make_unique<PrefProxyConfigTrackerImpl>(profile_prefs, nullptr);
|
- return std::make_unique<PrefProxyConfigTrackerImpl>(profile_prefs, nullptr);
|
||||||
+ // Migrate from profile_prefs to local_state_prefs
|
+ // Migrate from profile_prefs to local_state_prefs
|
||||||
+ if (local_state_prefs->GetBoolean("proxy_migrated") == false) {
|
+ if (local_state_prefs->GetBoolean("proxy_migrated") == false) {
|
||||||
+ const base::DictValue& dict =
|
+ const base::Value::Dict& dict =
|
||||||
+ profile_prefs->GetDict(proxy_config::prefs::kProxy);
|
+ profile_prefs->GetDict(proxy_config::prefs::kProxy);
|
||||||
+
|
+
|
||||||
+ LOG(INFO) << "CreatePrefProxyConfigTrackerOfProfile: Migration from profile to local state";
|
+ LOG(INFO) << "CreatePrefProxyConfigTrackerOfProfile: Migration from profile to local state";
|
||||||
@@ -199,16 +196,16 @@ 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
|
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||||
@@ -212,6 +212,8 @@
|
@@ -200,6 +200,8 @@
|
||||||
#include "printing/buildflags/buildflags.h"
|
#include "printing/buildflags/buildflags.h"
|
||||||
#include "rlz/buildflags/buildflags.h"
|
#include "rlz/buildflags/buildflags.h"
|
||||||
|
|
||||||
+#include "chrome/browser/net/proxy_service_factory.h"
|
+#include "chrome/browser/net/proxy_service_factory.h"
|
||||||
+
|
+
|
||||||
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
|
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
|
||||||
#include "chrome/browser/background/extensions/background_mode_manager.h"
|
#include "chrome/browser/background/background_mode_manager.h"
|
||||||
#endif
|
#endif
|
||||||
@@ -1374,6 +1376,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
@@ -1644,6 +1646,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||||
component_updater::RegisterPrefs(registry);
|
component_updater::RegisterPrefs(registry);
|
||||||
domain_reliability::RegisterPrefs(registry);
|
domain_reliability::RegisterPrefs(registry);
|
||||||
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
|
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
|
||||||
@@ -220,7 +217,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
|||||||
diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc
|
diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc
|
||||||
--- a/chrome/browser/prefs/chrome_command_line_pref_store.cc
|
--- a/chrome/browser/prefs/chrome_command_line_pref_store.cc
|
||||||
+++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc
|
+++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc
|
||||||
@@ -161,7 +161,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
|
@@ -157,7 +157,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
|
||||||
command_line()->GetSwitchValueASCII(switches::kProxyBypassList);
|
command_line()->GetSwitchValueASCII(switches::kProxyBypassList);
|
||||||
SetValue(proxy_config::prefs::kProxy,
|
SetValue(proxy_config::prefs::kProxy,
|
||||||
base::Value(ProxyConfigDictionary::CreateFixedServers(
|
base::Value(ProxyConfigDictionary::CreateFixedServers(
|
||||||
@@ -663,7 +660,7 @@ new file mode 100644
|
|||||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||||
--- a/chrome/browser/ui/BUILD.gn
|
--- a/chrome/browser/ui/BUILD.gn
|
||||||
+++ b/chrome/browser/ui/BUILD.gn
|
+++ b/chrome/browser/ui/BUILD.gn
|
||||||
@@ -156,6 +156,8 @@ static_library("ui") {
|
@@ -222,6 +222,8 @@ static_library("ui") {
|
||||||
"webui/metrics_internals/metrics_internals_ui.h",
|
"webui/metrics_internals/metrics_internals_ui.h",
|
||||||
"webui/net_export_ui.cc",
|
"webui/net_export_ui.cc",
|
||||||
"webui/net_export_ui.h",
|
"webui/net_export_ui.h",
|
||||||
@@ -675,25 +672,22 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
|||||||
diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||||||
--- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
--- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||||||
+++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
+++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||||||
@@ -64,6 +64,9 @@
|
@@ -55,6 +55,9 @@
|
||||||
#include "extensions/buildflags/buildflags.h"
|
#include "extensions/buildflags/buildflags.h"
|
||||||
#include "printing/buildflags/buildflags.h"
|
#include "printing/buildflags/buildflags.h"
|
||||||
|
|
||||||
+#include "chrome/browser/ui/webui/proxy_config_ui.h"
|
+#include "chrome/browser/ui/webui/proxy_config_ui.h"
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
#if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER)
|
#if BUILDFLAG(ENABLE_NACL)
|
||||||
#include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h"
|
#include "chrome/browser/ui/webui/nacl_ui.h"
|
||||||
|
#endif
|
||||||
|
@@ -388,4 +391,5 @@ void RegisterChromeWebUIConfigs() {
|
||||||
|
#if BUILDFLAG(ENABLE_GLIC)
|
||||||
|
map.AddWebUIConfig(std::make_unique<glic::GlicUIConfig>());
|
||||||
#endif
|
#endif
|
||||||
@@ -453,7 +456,7 @@ void RegisterChromeWebUIConfigs() {
|
|
||||||
map.AddWebUIConfig(std::make_unique<SigninErrorUIConfig>());
|
|
||||||
map.AddWebUIConfig(std::make_unique<SigninEmailConfirmationUIConfig>());
|
|
||||||
#endif // !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID)
|
|
||||||
-
|
|
||||||
+ map.AddWebUIConfig(std::make_unique<ProxyConfigUIConfig>());
|
+ map.AddWebUIConfig(std::make_unique<ProxyConfigUIConfig>());
|
||||||
#if BUILDFLAG(SAFE_BROWSING_AVAILABLE)
|
}
|
||||||
map.AddWebUIConfig(
|
|
||||||
std::make_unique<safe_browsing::ChromeSafeBrowsingUIConfig>());
|
|
||||||
diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webui/proxy_config_ui.cc
|
diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webui/proxy_config_ui.cc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@@ -774,9 +768,9 @@ new file mode 100644
|
|||||||
+ void RegisterMessages() override;
|
+ void RegisterMessages() override;
|
||||||
+
|
+
|
||||||
+ // Messages
|
+ // Messages
|
||||||
+ void OnEnableNotifyUIWithState(const base::ListValue& args);
|
+ void OnEnableNotifyUIWithState(const base::Value::List& args);
|
||||||
+ void OnApply(const base::ListValue& args);
|
+ void OnApply(const base::Value::List& args);
|
||||||
+ void OnClear(const base::ListValue& args);
|
+ void OnClear(const base::Value::List& args);
|
||||||
+
|
+
|
||||||
+ // net::ProxyConfigService::Observer implementation:
|
+ // net::ProxyConfigService::Observer implementation:
|
||||||
+ // Calls ProxyConfigView.onProxyConfigChanged JavaScript function in the
|
+ // Calls ProxyConfigView.onProxyConfigChanged JavaScript function in the
|
||||||
@@ -793,7 +787,7 @@ new file mode 100644
|
|||||||
+ std::unique_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker_;
|
+ std::unique_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker_;
|
||||||
+ bool is_observing_;
|
+ bool is_observing_;
|
||||||
+
|
+
|
||||||
+ void encodeConfig(const net::ProxyConfig& config, base::DictValue& state);
|
+ void encodeConfig(const net::ProxyConfig& config, base::Value::Dict& state);
|
||||||
+
|
+
|
||||||
+ void apply(const net::ProxyConfig& config);
|
+ void apply(const net::ProxyConfig& config);
|
||||||
+
|
+
|
||||||
@@ -833,7 +827,7 @@ new file mode 100644
|
|||||||
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) ||
|
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) ||
|
||||||
+ !BrowserThread::IsThreadInitialized(BrowserThread::UI));
|
+ !BrowserThread::IsThreadInitialized(BrowserThread::UI));
|
||||||
+
|
+
|
||||||
+ base::DictValue state;
|
+ base::Value::Dict state;
|
||||||
+ bool pending = false;
|
+ bool pending = false;
|
||||||
+ switch (availability) {
|
+ switch (availability) {
|
||||||
+ case net::ProxyConfigService::CONFIG_VALID:
|
+ case net::ProxyConfigService::CONFIG_VALID:
|
||||||
@@ -861,7 +855,7 @@ new file mode 100644
|
|||||||
+ return pacString;
|
+ return pacString;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+void ProxyConfigMessageHandler::encodeConfig(const net::ProxyConfig& config, base::DictValue& state) {
|
+void ProxyConfigMessageHandler::encodeConfig(const net::ProxyConfig& config, base::Value::Dict& state) {
|
||||||
+ // when automatic settings are enabled they take precedence over manual settings
|
+ // when automatic settings are enabled they take precedence over manual settings
|
||||||
+ // automatic settings are either the "auto-detect" flag or the existance of a PAC URL
|
+ // automatic settings are either the "auto-detect" flag or the existance of a PAC URL
|
||||||
+
|
+
|
||||||
@@ -932,7 +926,7 @@ new file mode 100644
|
|||||||
+// The proxy configuration UI is not notified of state changes until this function runs.
|
+// The proxy configuration UI is not notified of state changes until this function runs.
|
||||||
+// After this function, OnProxyConfigChanged() will be called on all proxy state changes.
|
+// After this function, OnProxyConfigChanged() will be called on all proxy state changes.
|
||||||
+void ProxyConfigMessageHandler::OnEnableNotifyUIWithState(
|
+void ProxyConfigMessageHandler::OnEnableNotifyUIWithState(
|
||||||
+ const base::ListValue& list) {
|
+ const base::Value::List& list) {
|
||||||
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||||
+
|
+
|
||||||
+ if (!is_observing_) {
|
+ if (!is_observing_) {
|
||||||
@@ -954,23 +948,23 @@ new file mode 100644
|
|||||||
+ OnProxyConfigChanged(config, availability);
|
+ OnProxyConfigChanged(config, availability);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+void ProxyConfigMessageHandler::OnClear(const base::ListValue& list) {
|
+void ProxyConfigMessageHandler::OnClear(const base::Value::List& list) {
|
||||||
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||||
+
|
+
|
||||||
+ const base::DictValue cfg = ProxyConfigDictionary::CreateSystem();
|
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateSystem();
|
||||||
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
|
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
|
||||||
+ pref_service_->CommitPendingWrite();
|
+ pref_service_->CommitPendingWrite();
|
||||||
+ OnEnableNotifyUIWithState(list);
|
+ OnEnableNotifyUIWithState(list);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+void ProxyConfigMessageHandler::OnApply(const base::ListValue& list) {
|
+void ProxyConfigMessageHandler::OnApply(const base::Value::List& list) {
|
||||||
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||||
+
|
+
|
||||||
+ if ((list.size() != 1) || !list[0].is_dict()) {
|
+ if ((list.size() != 1) || !list[0].is_dict()) {
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ const base::DictValue& config = list[0].GetDict();
|
+ const base::Value::Dict& config = list[0].GetDict();
|
||||||
+
|
+
|
||||||
+ if (config.FindBool("auto_detect").value_or(false)) {
|
+ if (config.FindBool("auto_detect").value_or(false)) {
|
||||||
+ apply(net::ProxyConfig::CreateAutoDetect());
|
+ apply(net::ProxyConfig::CreateAutoDetect());
|
||||||
@@ -986,7 +980,7 @@ new file mode 100644
|
|||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ const base::DictValue* rules = config.FindDict("rules");
|
+ const base::Value::Dict* rules = config.FindDict("rules");
|
||||||
+ if (rules == nullptr)
|
+ if (rules == nullptr)
|
||||||
+ return;
|
+ return;
|
||||||
+
|
+
|
||||||
@@ -1023,7 +1017,7 @@ new file mode 100644
|
|||||||
+ } else if (*type == "direct") {
|
+ } else if (*type == "direct") {
|
||||||
+ proxyConfig.proxy_rules().type = net::ProxyConfig::ProxyRules::Type::EMPTY;
|
+ proxyConfig.proxy_rules().type = net::ProxyConfig::ProxyRules::Type::EMPTY;
|
||||||
+ } else if (*type == "none") {
|
+ } else if (*type == "none") {
|
||||||
+ base::ListValue empty;
|
+ base::Value::List empty;
|
||||||
+ OnClear(empty);
|
+ OnClear(empty);
|
||||||
+ return;
|
+ return;
|
||||||
+ } else {
|
+ } else {
|
||||||
@@ -1049,26 +1043,26 @@ new file mode 100644
|
|||||||
+
|
+
|
||||||
+void ProxyConfigMessageHandler::apply(const net::ProxyConfig& proxyConfig) {
|
+void ProxyConfigMessageHandler::apply(const net::ProxyConfig& proxyConfig) {
|
||||||
+ if (proxyConfig.auto_detect()) {
|
+ if (proxyConfig.auto_detect()) {
|
||||||
+ const base::DictValue cfg = ProxyConfigDictionary::CreateAutoDetect();
|
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateAutoDetect();
|
||||||
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
|
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
|
||||||
+ } else if (proxyConfig.has_pac_url()) {
|
+ } else if (proxyConfig.has_pac_url()) {
|
||||||
+ const base::DictValue cfg = ProxyConfigDictionary::CreatePacScript(proxyConfig.pac_url().spec(), proxyConfig.pac_mandatory());
|
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreatePacScript(proxyConfig.pac_url().spec(), proxyConfig.pac_mandatory());
|
||||||
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
|
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
|
||||||
+ } else if (proxyConfig.proxy_rules().type == net::ProxyConfig::ProxyRules::Type::EMPTY) {
|
+ } else if (proxyConfig.proxy_rules().type == net::ProxyConfig::ProxyRules::Type::EMPTY) {
|
||||||
+ const base::DictValue cfg = ProxyConfigDictionary::CreateDirect();
|
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateDirect();
|
||||||
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
|
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
|
||||||
+ } else {
|
+ } else {
|
||||||
+ auto proxyRulesAsString = proxyConfig.proxy_rules().ToString();
|
+ auto proxyRulesAsString = proxyConfig.proxy_rules().ToString();
|
||||||
+ auto bypassRulesAsString = proxyConfig.proxy_rules().bypass_rules.ToString();
|
+ auto bypassRulesAsString = proxyConfig.proxy_rules().bypass_rules.ToString();
|
||||||
+
|
+
|
||||||
+ // fixed servers
|
+ // fixed servers
|
||||||
+ const base::DictValue cfg = ProxyConfigDictionary::CreateFixedServers(proxyRulesAsString,
|
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateFixedServers(proxyRulesAsString,
|
||||||
+ bypassRulesAsString, proxyConfig.proxy_rules().reverse_bypass);
|
+ bypassRulesAsString, proxyConfig.proxy_rules().reverse_bypass);
|
||||||
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
|
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
|
||||||
+ }
|
+ }
|
||||||
+ pref_service_->CommitPendingWrite();
|
+ pref_service_->CommitPendingWrite();
|
||||||
+
|
+
|
||||||
+ base::ListValue empty;
|
+ base::Value::List empty;
|
||||||
+ OnEnableNotifyUIWithState(empty);
|
+ OnEnableNotifyUIWithState(empty);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
@@ -1137,21 +1131,29 @@ new file mode 100644
|
|||||||
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
|
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
|
||||||
--- a/chrome/common/webui_url_constants.cc
|
--- a/chrome/common/webui_url_constants.cc
|
||||||
+++ b/chrome/common/webui_url_constants.cc
|
+++ b/chrome/common/webui_url_constants.cc
|
||||||
@@ -120,6 +120,7 @@ bool IsSystemWebUIHost(std::string_view host) {
|
@@ -50,6 +50,7 @@ bool IsSystemWebUIHost(std::string_view host) {
|
||||||
|
kChromeUILockScreenNetworkHost,
|
||||||
|
kChromeUILockScreenStartReauthHost,
|
||||||
|
kChromeUIMobileSetupHost,
|
||||||
|
+ kChromeUIProxyConfigHost,
|
||||||
|
kChromeUIMultiDeviceSetupHost,
|
||||||
|
kChromeUINetworkHost,
|
||||||
|
kChromeUINotificationTesterHost,
|
||||||
|
@@ -71,6 +72,7 @@ bool IsSystemWebUIHost(std::string_view host) {
|
||||||
// These hosts will also be suggested by BuiltinProvider.
|
// These hosts will also be suggested by BuiltinProvider.
|
||||||
base::span<const base::cstring_view> ChromeURLHosts() {
|
base::span<const base::cstring_view> ChromeURLHosts() {
|
||||||
static constexpr auto kChromeURLHosts = std::to_array<base::cstring_view>({
|
static constexpr auto kChromeURLHosts = std::to_array<base::cstring_view>({
|
||||||
+ kChromeUIProxyConfigHost,
|
+ kChromeUIProxyConfigHost,
|
||||||
kChromeUIAboutHost,
|
kChromeUIAboutHost,
|
||||||
kChromeUIAccessibilityHost,
|
kChromeUIAccessibilityHost,
|
||||||
kChromeUIActorInternalsHost,
|
#if !BUILDFLAG(IS_ANDROID)
|
||||||
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
|
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
|
||||||
--- a/chrome/common/webui_url_constants.h
|
--- a/chrome/common/webui_url_constants.h
|
||||||
+++ b/chrome/common/webui_url_constants.h
|
+++ b/chrome/common/webui_url_constants.h
|
||||||
@@ -210,6 +210,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals";
|
@@ -160,6 +160,8 @@ inline constexpr char kChromeUINetExportHost[] = "net-export";
|
||||||
|
inline constexpr char kChromeUINetInternalsHost[] = "net-internals";
|
||||||
inline constexpr char kChromeUINetInternalsURL[] = "chrome://net-internals/";
|
inline constexpr char kChromeUINetInternalsURL[] = "chrome://net-internals/";
|
||||||
inline constexpr char kChromeUINewTabHost[] = "newtab";
|
inline constexpr char kChromeUINewTabHost[] = "newtab";
|
||||||
inline constexpr char kChromeUINewTabFooterHost[] = "newtab-footer";
|
|
||||||
+inline constexpr char16_t kChromeUIProxyConfigURL16[] = u"chrome://proxy/";
|
+inline constexpr char16_t kChromeUIProxyConfigURL16[] = u"chrome://proxy/";
|
||||||
+inline constexpr char kChromeUIProxyConfigHost[] = "proxy";
|
+inline constexpr char kChromeUIProxyConfigHost[] = "proxy";
|
||||||
inline constexpr char kChromeUINewTabPageHost[] = "new-tab-page";
|
inline constexpr char kChromeUINewTabPageHost[] = "new-tab-page";
|
||||||
@@ -1160,25 +1162,24 @@ diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_const
|
|||||||
diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/components/proxy_config/pref_proxy_config_tracker_impl.cc
|
diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/components/proxy_config/pref_proxy_config_tracker_impl.cc
|
||||||
--- a/components/proxy_config/pref_proxy_config_tracker_impl.cc
|
--- a/components/proxy_config/pref_proxy_config_tracker_impl.cc
|
||||||
+++ b/components/proxy_config/pref_proxy_config_tracker_impl.cc
|
+++ b/components/proxy_config/pref_proxy_config_tracker_impl.cc
|
||||||
@@ -525,7 +525,7 @@ PrefProxyConfigTrackerImpl::GetEffectiveProxyConfig(
|
@@ -253,14 +253,14 @@ PrefProxyConfigTrackerImpl::GetEffectiveProxyConfig(
|
||||||
// static
|
// static
|
||||||
void PrefProxyConfigTrackerImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
void PrefProxyConfigTrackerImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||||
registry->RegisterDictionaryPref(proxy_config::prefs::kProxy,
|
registry->RegisterDictionaryPref(proxy_config::prefs::kProxy,
|
||||||
- ProxyConfigDictionary::CreateSystem());
|
- ProxyConfigDictionary::CreateSystem());
|
||||||
+ ProxyConfigDictionary::CreateDirect());
|
+ ProxyConfigDictionary::CreateDirect());
|
||||||
registry->RegisterListPref(proxy_config::prefs::kProxyOverrideRules);
|
}
|
||||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
|
|
||||||
registry->RegisterIntegerPref(
|
// static
|
||||||
@@ -541,7 +541,7 @@ void PrefProxyConfigTrackerImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
|
||||||
void PrefProxyConfigTrackerImpl::RegisterProfilePrefs(
|
void PrefProxyConfigTrackerImpl::RegisterProfilePrefs(
|
||||||
PrefRegistrySimple* registry) {
|
PrefRegistrySimple* registry) {
|
||||||
registry->RegisterDictionaryPref(proxy_config::prefs::kProxy,
|
registry->RegisterDictionaryPref(proxy_config::prefs::kProxy,
|
||||||
- ProxyConfigDictionary::CreateSystem());
|
- ProxyConfigDictionary::CreateSystem());
|
||||||
+ ProxyConfigDictionary::CreateDirect());
|
+ ProxyConfigDictionary::CreateDirect());
|
||||||
registry->RegisterBooleanPref(proxy_config::prefs::kUseSharedProxies, false);
|
registry->RegisterBooleanPref(proxy_config::prefs::kUseSharedProxies, false);
|
||||||
registry->RegisterListPref(proxy_config::prefs::kProxyOverrideRules);
|
}
|
||||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
|
|
||||||
@@ -705,6 +705,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
|
@@ -405,6 +405,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
|
||||||
if (proxy_dict.GetBypassList(&proxy_bypass)) {
|
if (proxy_dict.GetBypassList(&proxy_bypass)) {
|
||||||
proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
|
proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
|
||||||
}
|
}
|
||||||
@@ -1191,7 +1192,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
|
|||||||
+++ b/components/proxy_config/proxy_config_dictionary.cc
|
+++ b/components/proxy_config/proxy_config_dictionary.cc
|
||||||
@@ -30,6 +30,8 @@ const char kProxyPacMandatory[] = "pac_mandatory";
|
@@ -30,6 +30,8 @@ const char kProxyPacMandatory[] = "pac_mandatory";
|
||||||
// String containing proxy bypass rules. For a specification of the
|
// String containing proxy bypass rules. For a specification of the
|
||||||
// expected syntax see net::ProxyHostMatchingRules::ParseFromString().
|
// expected syntax see net::ProxyBypassRules::ParseFromString().
|
||||||
const char kProxyBypassList[] = "bypass_list";
|
const char kProxyBypassList[] = "bypass_list";
|
||||||
+// Boolean telling whether to reverse the meaning of the bypass list.
|
+// Boolean telling whether to reverse the meaning of the bypass list.
|
||||||
+const char kProxyReverseBypass[] = "reverse_bypass";
|
+const char kProxyReverseBypass[] = "reverse_bypass";
|
||||||
@@ -1210,26 +1211,26 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
|
|||||||
+ return value->GetBool();
|
+ return value->GetBool();
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
const base::DictValue& ProxyConfigDictionary::GetDictionary() const {
|
const base::Value::Dict& ProxyConfigDictionary::GetDictionary() const {
|
||||||
return dict_;
|
return dict_;
|
||||||
}
|
}
|
||||||
@@ -83,13 +93,13 @@ const base::DictValue& ProxyConfigDictionary::GetDictionary() const {
|
@@ -83,13 +93,13 @@ const base::Value::Dict& ProxyConfigDictionary::GetDictionary() const {
|
||||||
// static
|
// static
|
||||||
base::DictValue ProxyConfigDictionary::CreateDirect() {
|
base::Value::Dict ProxyConfigDictionary::CreateDirect() {
|
||||||
return CreateDictionary(ProxyPrefs::MODE_DIRECT, std::string(), false,
|
return CreateDictionary(ProxyPrefs::MODE_DIRECT, std::string(), false,
|
||||||
- std::string(), std::string());
|
- std::string(), std::string());
|
||||||
+ std::string(), std::string(), false);
|
+ std::string(), std::string(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
base::DictValue ProxyConfigDictionary::CreateAutoDetect() {
|
base::Value::Dict ProxyConfigDictionary::CreateAutoDetect() {
|
||||||
return CreateDictionary(ProxyPrefs::MODE_AUTO_DETECT, std::string(), false,
|
return CreateDictionary(ProxyPrefs::MODE_AUTO_DETECT, std::string(), false,
|
||||||
- std::string(), std::string());
|
- std::string(), std::string());
|
||||||
+ std::string(), std::string(), false);
|
+ std::string(), std::string(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
@@ -97,16 +107,17 @@ base::DictValue ProxyConfigDictionary::CreatePacScript(
|
@@ -97,16 +107,17 @@ base::Value::Dict ProxyConfigDictionary::CreatePacScript(
|
||||||
const std::string& pac_url,
|
const std::string& pac_url,
|
||||||
bool pac_mandatory) {
|
bool pac_mandatory) {
|
||||||
return CreateDictionary(ProxyPrefs::MODE_PAC_SCRIPT, pac_url, pac_mandatory,
|
return CreateDictionary(ProxyPrefs::MODE_PAC_SCRIPT, pac_url, pac_mandatory,
|
||||||
@@ -1238,7 +1239,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
|
|||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
base::DictValue ProxyConfigDictionary::CreateFixedServers(
|
base::Value::Dict ProxyConfigDictionary::CreateFixedServers(
|
||||||
const std::string& proxy_server,
|
const std::string& proxy_server,
|
||||||
- const std::string& bypass_list) {
|
- const std::string& bypass_list) {
|
||||||
+ const std::string& bypass_list,
|
+ const std::string& bypass_list,
|
||||||
@@ -1250,26 +1251,26 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
|
|||||||
} else {
|
} else {
|
||||||
return CreateDirect();
|
return CreateDirect();
|
||||||
}
|
}
|
||||||
@@ -115,7 +126,7 @@ base::DictValue ProxyConfigDictionary::CreateFixedServers(
|
@@ -115,7 +126,7 @@ base::Value::Dict ProxyConfigDictionary::CreateFixedServers(
|
||||||
// static
|
// static
|
||||||
base::DictValue ProxyConfigDictionary::CreateSystem() {
|
base::Value::Dict ProxyConfigDictionary::CreateSystem() {
|
||||||
return CreateDictionary(ProxyPrefs::MODE_SYSTEM, std::string(), false,
|
return CreateDictionary(ProxyPrefs::MODE_SYSTEM, std::string(), false,
|
||||||
- std::string(), std::string());
|
- std::string(), std::string());
|
||||||
+ std::string(), std::string(), false);
|
+ std::string(), std::string(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
@@ -124,7 +135,8 @@ base::DictValue ProxyConfigDictionary::CreateDictionary(
|
@@ -124,7 +135,8 @@ base::Value::Dict ProxyConfigDictionary::CreateDictionary(
|
||||||
const std::string& pac_url,
|
const std::string& pac_url,
|
||||||
bool pac_mandatory,
|
bool pac_mandatory,
|
||||||
const std::string& proxy_server,
|
const std::string& proxy_server,
|
||||||
- const std::string& bypass_list) {
|
- const std::string& bypass_list) {
|
||||||
+ const std::string& bypass_list,
|
+ const std::string& bypass_list,
|
||||||
+ bool reverse_bypass) {
|
+ bool reverse_bypass) {
|
||||||
base::DictValue dict;
|
base::Value::Dict dict;
|
||||||
dict.Set(kProxyMode, base::Value(ProxyModeToString(mode)));
|
dict.Set(kProxyMode, base::Value(ProxyModeToString(mode)));
|
||||||
if (!pac_url.empty()) {
|
if (!pac_url.empty()) {
|
||||||
@@ -133,8 +145,10 @@ base::DictValue ProxyConfigDictionary::CreateDictionary(
|
@@ -133,8 +145,10 @@ base::Value::Dict ProxyConfigDictionary::CreateDictionary(
|
||||||
}
|
}
|
||||||
if (!proxy_server.empty())
|
if (!proxy_server.empty())
|
||||||
dict.Set(kProxyServer, base::Value(proxy_server));
|
dict.Set(kProxyServer, base::Value(proxy_server));
|
||||||
@@ -1290,27 +1291,27 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
|
|||||||
bool HasBypassList() const;
|
bool HasBypassList() const;
|
||||||
+ bool HasReverseBypass() const;
|
+ bool HasReverseBypass() const;
|
||||||
|
|
||||||
const base::DictValue& GetDictionary() const;
|
const base::Value::Dict& GetDictionary() const;
|
||||||
|
|
||||||
@@ -50,7 +51,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
|
@@ -50,7 +51,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
|
||||||
static base::DictValue CreatePacScript(const std::string& pac_url,
|
static base::Value::Dict CreatePacScript(const std::string& pac_url,
|
||||||
bool pac_mandatory);
|
bool pac_mandatory);
|
||||||
static base::DictValue CreateFixedServers(const std::string& proxy_server,
|
static base::Value::Dict CreateFixedServers(const std::string& proxy_server,
|
||||||
- const std::string& bypass_list);
|
- const std::string& bypass_list);
|
||||||
+ const std::string& bypass_list,
|
+ const std::string& bypass_list,
|
||||||
+ bool reverse_bypass);
|
+ bool reverse_bypass);
|
||||||
static base::DictValue CreateSystem();
|
static base::Value::Dict CreateSystem();
|
||||||
|
|
||||||
// Encodes the proxy server as "<url-scheme>=<proxy-scheme>://<proxy>".
|
// Encodes the proxy server as "<url-scheme>=<proxy-scheme>://<proxy>".
|
||||||
@@ -66,7 +68,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
|
@@ -66,7 +68,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
|
||||||
const std::string& pac_url,
|
const std::string& pac_url,
|
||||||
bool pac_mandatory,
|
bool pac_mandatory,
|
||||||
const std::string& proxy_server,
|
const std::string& proxy_server,
|
||||||
- const std::string& bypass_list);
|
- const std::string& bypass_list);
|
||||||
+ const std::string& bypass_list,
|
+ const std::string& bypass_list,
|
||||||
+ bool reverse_bypass);
|
+ bool reverse_bypass);
|
||||||
|
|
||||||
base::DictValue dict_;
|
base::Value::Dict dict_;
|
||||||
};
|
};
|
||||||
diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_config/proxy_policy_handler.cc
|
diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_config/proxy_policy_handler.cc
|
||||||
--- a/components/proxy_config/proxy_policy_handler.cc
|
--- a/components/proxy_config/proxy_policy_handler.cc
|
||||||
@@ -1324,41 +1325,11 @@ diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
diff --git a/net/features.gni b/net/features.gni
|
|
||||||
--- a/net/features.gni
|
|
||||||
+++ b/net/features.gni
|
|
||||||
@@ -62,7 +62,7 @@ declare_args() {
|
|
||||||
# Bracketed URIs parsing is only available for debug builds.
|
|
||||||
# TODO(crbug.com/365771838): Ensure tests are updated if needed if this
|
|
||||||
# feature is changed at all.
|
|
||||||
- enable_bracketed_proxy_uris = is_debug
|
|
||||||
+ enable_bracketed_proxy_uris = true
|
|
||||||
|
|
||||||
# General QUIC proxy support is only available for debug builds.
|
|
||||||
# TODO(crbug.com/367400641): If flag is changed or removed, ensure all
|
|
||||||
diff --git a/net/proxy_resolution/pac_file_fetcher_impl.cc b/net/proxy_resolution/pac_file_fetcher_impl.cc
|
|
||||||
--- a/net/proxy_resolution/pac_file_fetcher_impl.cc
|
|
||||||
+++ b/net/proxy_resolution/pac_file_fetcher_impl.cc
|
|
||||||
@@ -364,14 +364,6 @@ bool PacFileFetcherImpl::ConsumeBytesRead(URLRequest* request, int num_bytes) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
- // Enforce maximum size bound.
|
|
||||||
- if (num_bytes + bytes_read_so_far_.size() >
|
|
||||||
- static_cast<size_t>(max_response_bytes_)) {
|
|
||||||
- result_code_ = ERR_FILE_TOO_BIG;
|
|
||||||
- request->Cancel();
|
|
||||||
- return false;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
bytes_read_so_far_.append(buf_->data(), num_bytes);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_config.cc
|
diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_config.cc
|
||||||
--- a/net/proxy_resolution/proxy_config.cc
|
--- a/net/proxy_resolution/proxy_config.cc
|
||||||
+++ b/net/proxy_resolution/proxy_config.cc
|
+++ b/net/proxy_resolution/proxy_config.cc
|
||||||
@@ -133,7 +133,7 @@ void ProxyConfig::ProxyRules::ParseFromString(std::string_view proxy_rules,
|
@@ -129,7 +129,7 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules,
|
||||||
url_scheme, &single_proxies, ProxyServer::SCHEME_HTTP,
|
std::move(url_scheme), &single_proxies, ProxyServer::SCHEME_HTTP,
|
||||||
allow_bracketed_proxy_chains, is_quic_allowed);
|
allow_bracketed_proxy_chains, is_quic_allowed);
|
||||||
type = Type::PROXY_LIST;
|
type = Type::PROXY_LIST;
|
||||||
- return;
|
- return;
|
||||||
@@ -1366,7 +1337,7 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Trim whitespace off the url scheme.
|
// Trim whitespace off the url scheme.
|
||||||
@@ -164,6 +164,57 @@ void ProxyConfig::ProxyRules::ParseFromString(std::string_view proxy_rules,
|
@@ -160,6 +160,55 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1374,10 +1345,8 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
|
|||||||
+ if (type == Type::PROXY_LIST) {
|
+ if (type == Type::PROXY_LIST) {
|
||||||
+ std::string proxy_list;
|
+ std::string proxy_list;
|
||||||
+ for (const auto& proxy_chain : single_proxies.AllChains()) {
|
+ for (const auto& proxy_chain : single_proxies.AllChains()) {
|
||||||
+ if (proxy_chain.length()) {
|
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||||
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
+ proxy_list += ProxyServerToProxyUri(proxy_server) + ";";
|
||||||
+ proxy_list += ProxyServerToProxyUri(proxy_server) + ";";
|
|
||||||
+ }
|
|
||||||
+ }
|
+ }
|
||||||
+ // remove last semicolon
|
+ // remove last semicolon
|
||||||
+ if (proxy_list.length() != 0 ) {
|
+ if (proxy_list.length() != 0 ) {
|
||||||
@@ -1427,8 +1396,8 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
|
|||||||
diff --git a/net/proxy_resolution/proxy_config.h b/net/proxy_resolution/proxy_config.h
|
diff --git a/net/proxy_resolution/proxy_config.h b/net/proxy_resolution/proxy_config.h
|
||||||
--- a/net/proxy_resolution/proxy_config.h
|
--- a/net/proxy_resolution/proxy_config.h
|
||||||
+++ b/net/proxy_resolution/proxy_config.h
|
+++ b/net/proxy_resolution/proxy_config.h
|
||||||
@@ -106,6 +106,9 @@ class NET_EXPORT ProxyConfig {
|
@@ -107,6 +107,9 @@ class NET_EXPORT ProxyConfig {
|
||||||
void ParseFromString(std::string_view proxy_rules,
|
void ParseFromString(const std::string& proxy_rules,
|
||||||
bool allow_bracketed_proxy_chains = false,
|
bool allow_bracketed_proxy_chains = false,
|
||||||
bool is_quic_allowed = false);
|
bool is_quic_allowed = false);
|
||||||
+ // Returns the proxy rules in a format that can be parsed by ParseFromString;
|
+ // Returns the proxy rules in a format that can be parsed by ParseFromString;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -164,7 +164,7 @@ new file mode 100644
|
|||||||
+import org.chromium.components.browser_ui.site_settings.BromiteCustomContentSetting;
|
+import org.chromium.components.browser_ui.site_settings.BromiteCustomContentSetting;
|
||||||
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
||||||
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
||||||
+import org.chromium.components.content_settings.ContentSetting;
|
+import org.chromium.components.content_settings.ContentSettingValues;
|
||||||
+import org.chromium.components.content_settings.ContentSettingsType;
|
+import org.chromium.components.content_settings.ContentSettingsType;
|
||||||
+import org.chromium.content_public.browser.BrowserContextHandle;
|
+import org.chromium.content_public.browser.BrowserContextHandle;
|
||||||
+
|
+
|
||||||
@@ -177,8 +177,8 @@ new file mode 100644
|
|||||||
+public class BromiteAutoplayContentSetting extends BromiteCustomContentSetting {
|
+public class BromiteAutoplayContentSetting extends BromiteCustomContentSetting {
|
||||||
+ public BromiteAutoplayContentSetting() {
|
+ public BromiteAutoplayContentSetting() {
|
||||||
+ super(/*contentSettingsType*/ ContentSettingsType.AUTOPLAY,
|
+ super(/*contentSettingsType*/ ContentSettingsType.AUTOPLAY,
|
||||||
+ /*defaultEnabledValue*/ ContentSetting.ALLOW,
|
+ /*defaultEnabledValue*/ ContentSettingValues.ALLOW,
|
||||||
+ /*defaultDisabledValue*/ ContentSetting.BLOCK,
|
+ /*defaultDisabledValue*/ ContentSettingValues.BLOCK,
|
||||||
+ /*allowException*/ true,
|
+ /*allowException*/ true,
|
||||||
+ /*preferenceKey*/ "autoplay",
|
+ /*preferenceKey*/ "autoplay",
|
||||||
+ /*profilePrefKey*/ "autoplay");
|
+ /*profilePrefKey*/ "autoplay");
|
||||||
@@ -197,11 +197,11 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public int getCategorySummary(@Nullable @ContentSetting int value) {
|
+ public int getCategorySummary(@Nullable @ContentSettingValues int value) {
|
||||||
+ switch (value) {
|
+ switch (value) {
|
||||||
+ case ContentSetting.ALLOW:
|
+ case ContentSettingValues.ALLOW:
|
||||||
+ return R.string.website_settings_category_autoplay_enabled;
|
+ return R.string.website_settings_category_autoplay_enabled;
|
||||||
+ case ContentSetting.BLOCK:
|
+ case ContentSettingValues.BLOCK:
|
||||||
+ return R.string.website_settings_category_autoplay_disabled;
|
+ return R.string.website_settings_category_autoplay_disabled;
|
||||||
+ default:
|
+ default:
|
||||||
+ return 0;
|
+ return 0;
|
||||||
@@ -229,8 +229,8 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSetting int value) {
|
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
|
||||||
+ return value != ContentSetting.BLOCK;
|
+ return value != ContentSettingValues.BLOCK;
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/components/browser_ui/strings/bromite_content_settings/autoplay.grdp b/components/browser_ui/strings/bromite_content_settings/autoplay.grdp
|
diff --git a/components/browser_ui/strings/bromite_content_settings/autoplay.grdp b/components/browser_ui/strings/bromite_content_settings/autoplay.grdp
|
||||||
@@ -279,9 +279,9 @@ new file mode 100644
|
|||||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||||
@@ -254,7 +254,7 @@ void ContentSettingsRegistry::Init() {
|
@@ -248,7 +248,7 @@ void ContentSettingsRegistry::Init() {
|
||||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||||
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||||
|
|
||||||
- Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_ALLOW,
|
- Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_ALLOW,
|
||||||
+ Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_BLOCK,
|
+ Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_BLOCK,
|
||||||
@@ -292,14 +292,14 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
|
|||||||
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.cc
|
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.cc
|
||||||
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.cc
|
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.cc
|
||||||
@@ -9,6 +9,7 @@
|
@@ -9,6 +9,7 @@
|
||||||
#include "third_party/blink/public/mojom/autoplay/autoplay.mojom-blink.h"
|
|
||||||
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h"
|
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h"
|
||||||
|
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom-blink.h"
|
||||||
#include "third_party/blink/public/mojom/webpreferences/web_preferences.mojom-blink.h"
|
#include "third_party/blink/public/mojom/webpreferences/web_preferences.mojom-blink.h"
|
||||||
+#include "third_party/blink/public/platform/web_content_settings_client.h"
|
+#include "third_party/blink/public/platform/web_content_settings_client.h"
|
||||||
#include "third_party/blink/public/platform/web_media_player.h"
|
#include "third_party/blink/public/platform/web_media_player.h"
|
||||||
#include "third_party/blink/public/web/web_local_frame.h"
|
#include "third_party/blink/public/web/web_local_frame.h"
|
||||||
#include "third_party/blink/public/web/web_local_frame_client.h"
|
#include "third_party/blink/public/web/web_local_frame_client.h"
|
||||||
@@ -346,6 +347,8 @@ void AutoplayPolicy::TryUnlockingUserGesture() {
|
@@ -337,6 +338,8 @@ void AutoplayPolicy::TryUnlockingUserGesture() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AutoplayPolicy::IsGestureNeededForPlayback() const {
|
bool AutoplayPolicy::IsGestureNeededForPlayback() const {
|
||||||
@@ -308,7 +308,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
|
|||||||
if (!IsLockedPendingUserGesture())
|
if (!IsLockedPendingUserGesture())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -457,6 +460,17 @@ void AutoplayPolicy::MaybeSetAutoplayInitiated() {
|
@@ -449,6 +452,17 @@ void AutoplayPolicy::MaybeSetAutoplayInitiated() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,7 +329,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
|
|||||||
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
||||||
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
||||||
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
||||||
@@ -148,6 +148,10 @@ class CORE_EXPORT AutoplayPolicy final
|
@@ -151,6 +151,10 @@ class CORE_EXPORT AutoplayPolicy final
|
||||||
// should use, if checking to see if an action is allowed.
|
// should use, if checking to see if an action is allowed.
|
||||||
bool IsLockedPendingUserGesture() const;
|
bool IsLockedPendingUserGesture() const;
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,932 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Fri, 22 Aug 2025 15:41:58 +0000
|
|
||||||
Subject: Add cromite test support
|
|
||||||
|
|
||||||
Allows the activation of specific APIs used for cromite testing.
|
|
||||||
API are only available on the chrome://version page.
|
|
||||||
It allows the use of tools such as Browserstack for test automation.
|
|
||||||
Do not activate the corresponding options (available in the developer
|
|
||||||
settings) if you do not know what you are doing.
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|
||||||
---
|
|
||||||
.../java/res/xml/developer_preferences.xml | 12 ++
|
|
||||||
.../init/ProcessInitializationHandler.java | 6 +-
|
|
||||||
.../tracing/settings/DeveloperSettings.java | 2 +-
|
|
||||||
chrome/browser/BUILD.gn | 5 +
|
|
||||||
chrome/browser/android/devtools_server.cc | 10 +
|
|
||||||
...ontent_browser_client_receiver_bindings.cc | 10 +
|
|
||||||
.../cromite/cromite_private_api_host.cc | 74 +++++++
|
|
||||||
.../cromite/cromite_private_api_host.h | 54 +++++
|
|
||||||
.../browser/flags/cromite/sActAsWebView.java | 33 +++
|
|
||||||
.../cromite/sEnableCromiteTestSupport.java | 33 +++
|
|
||||||
.../NotificationPermissionController.java | 1 +
|
|
||||||
chrome/browser/ui/startup/bad_flags_prompt.cc | 1 +
|
|
||||||
chrome/common/BUILD.gn | 1 +
|
|
||||||
.../cromite_private_api_extension.mojom | 7 +
|
|
||||||
chrome/renderer/BUILD.gn | 2 +
|
|
||||||
.../chrome_content_renderer_client.cc | 2 +
|
|
||||||
.../cromite/cromite_private_api_extension.cc | 203 ++++++++++++++++++
|
|
||||||
.../cromite/cromite_private_api_extension.h | 65 ++++++
|
|
||||||
.../component_updater_service.h | 1 +
|
|
||||||
.../browser/devtools/devtools_http_handler.cc | 7 +-
|
|
||||||
content/browser/log_console_message.cc | 15 +-
|
|
||||||
content/browser/log_console_message.h | 3 +-
|
|
||||||
.../renderer_host/render_frame_host_impl.cc | 13 +-
|
|
||||||
.../about_flags_cc/Enable-test-support.inc | 19 ++
|
|
||||||
.../Enable-test-support.inc | 7 +
|
|
||||||
.../Enable-test-support.inc | 2 +
|
|
||||||
26 files changed, 581 insertions(+), 7 deletions(-)
|
|
||||||
create mode 100644 chrome/browser/cromite/cromite_private_api_host.cc
|
|
||||||
create mode 100644 chrome/browser/cromite/cromite_private_api_host.h
|
|
||||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sActAsWebView.java
|
|
||||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableCromiteTestSupport.java
|
|
||||||
create mode 100644 chrome/common/cromite_private_api_extension.mojom
|
|
||||||
create mode 100644 chrome/renderer/cromite/cromite_private_api_extension.cc
|
|
||||||
create mode 100644 chrome/renderer/cromite/cromite_private_api_extension.h
|
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Enable-test-support.inc
|
|
||||||
create mode 100644 cromite_flags/content/public/common/content_features_cc/Enable-test-support.inc
|
|
||||||
create mode 100644 cromite_flags/content/public/common/content_features_h/Enable-test-support.inc
|
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/android/java/res/xml/developer_preferences.xml
|
|
||||||
--- a/chrome/android/java/res/xml/developer_preferences.xml
|
|
||||||
+++ b/chrome/android/java/res/xml/developer_preferences.xml
|
|
||||||
@@ -12,6 +12,18 @@ found in the LICENSE file.
|
|
||||||
android:fragment="org.chromium.chrome.browser.tracing.settings.TracingSettings"
|
|
||||||
android:key="tracing"
|
|
||||||
android:title="Tracing" />
|
|
||||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
||||||
+ android:key="enable_cromite_test_support"
|
|
||||||
+ android:title="Enable support for cromite test"
|
|
||||||
+ android:summary="Setting allows the activation of specific APIs used for cromite testing. Do not activate if you do not know what you are doing."
|
|
||||||
+ app:featureName="enable-cromite-test-support"
|
|
||||||
+ app:needRestart="true" />
|
|
||||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
||||||
+ android:key="act_as_webview"
|
|
||||||
+ android:title="Enable webview support for cromite test"
|
|
||||||
+ android:summary="Setting allows the activation of specific APIs used for cromite testing. Do not activate if you do not know what you are doing."
|
|
||||||
+ app:featureName="act-as-webview"
|
|
||||||
+ app:needRestart="true" />
|
|
||||||
<Preference
|
|
||||||
android:key="test_gwp_asan"
|
|
||||||
android:title="Test Gwp Asan"/>
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
|
||||||
@@ -145,6 +145,7 @@ import org.chromium.ui.base.SelectFileDialog;
|
|
||||||
import org.chromium.ui.base.WindowAndroid;
|
|
||||||
import org.chromium.ui.edge_to_edge.EdgeToEdgeStateProvider;
|
|
||||||
import org.chromium.url.GURL;
|
|
||||||
+import org.chromium.chrome.browser.flags.cromite.sActAsWebView;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
@@ -696,7 +697,10 @@ public class ProcessInitializationHandler {
|
|
||||||
|
|
||||||
tasks.add(
|
|
||||||
() -> {
|
|
||||||
- mDevToolsServer = new DevToolsServer(DEV_TOOLS_SERVER_SOCKET_PREFIX);
|
|
||||||
+ String socketPrefix = DEV_TOOLS_SERVER_SOCKET_PREFIX;
|
|
||||||
+ if (sActAsWebView.getInstance().isEnabled())
|
|
||||||
+ socketPrefix = "weblayer";
|
|
||||||
+ mDevToolsServer = new DevToolsServer(socketPrefix);
|
|
||||||
mDevToolsServer.setRemoteDebuggingEnabled(
|
|
||||||
true, DevToolsServer.Security.ALLOW_DEBUG_PERMISSION);
|
|
||||||
});
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java
|
|
||||||
@@ -39,7 +39,7 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment implements Emb
|
|
||||||
private final NonNullObservableSupplier<String> mPageTitle =
|
|
||||||
ObservableSuppliers.createNonNull(MSG_DEVELOPER_OPTIONS_TITLE);
|
|
||||||
|
|
||||||
- private static @Nullable Boolean sIsEnabledForTests;
|
|
||||||
+ private static @Nullable Boolean sIsEnabledForTests = true;
|
|
||||||
|
|
||||||
public static boolean shouldShowDeveloperSettings() {
|
|
||||||
// Always enabled on canary, dev and local builds, otherwise can be enabled by tapping the
|
|
||||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|
||||||
--- a/chrome/browser/BUILD.gn
|
|
||||||
+++ b/chrome/browser/BUILD.gn
|
|
||||||
@@ -204,6 +204,11 @@ source_set("shell_integration") {
|
|
||||||
# require many files from it. This makes linking more efficient.
|
|
||||||
static_library("browser") {
|
|
||||||
sources = [
|
|
||||||
+ "cromite/cromite_private_api_host.cc",
|
|
||||||
+ "cromite/cromite_private_api_host.h",
|
|
||||||
+ ]
|
|
||||||
+
|
|
||||||
+ sources += [
|
|
||||||
"about_flags.cc",
|
|
||||||
"accessibility/accessibility_labels_service.cc",
|
|
||||||
"accessibility/accessibility_labels_service.h",
|
|
||||||
diff --git a/chrome/browser/android/devtools_server.cc b/chrome/browser/android/devtools_server.cc
|
|
||||||
--- a/chrome/browser/android/devtools_server.cc
|
|
||||||
+++ b/chrome/browser/android/devtools_server.cc
|
|
||||||
@@ -12,6 +12,7 @@
|
|
||||||
#include "base/command_line.h"
|
|
||||||
#include "base/compiler_specific.h"
|
|
||||||
#include "base/files/file_path.h"
|
|
||||||
+#include "base/feature_list.h"
|
|
||||||
#include "base/functional/bind.h"
|
|
||||||
#include "base/functional/callback.h"
|
|
||||||
#include "base/strings/string_number_conversions.h"
|
|
||||||
@@ -32,6 +33,7 @@
|
|
||||||
#include "content/public/browser/render_view_host.h"
|
|
||||||
#include "content/public/browser/web_contents.h"
|
|
||||||
#include "content/public/browser/web_contents_delegate.h"
|
|
||||||
+#include "content/public/common/content_features.h"
|
|
||||||
#include "content/public/common/content_switches.h"
|
|
||||||
#include "content/public/common/url_constants.h"
|
|
||||||
#include "net/base/net_errors.h"
|
|
||||||
@@ -64,6 +66,8 @@ const int kBackLog = 4096;
|
|
||||||
|
|
||||||
bool AuthorizeSocketAccessWithDebugPermission(
|
|
||||||
const net::UnixDomainServerSocket::Credentials& credentials) {
|
|
||||||
+ if (base::FeatureList::IsEnabled(features::kEnableCromiteTestSupport))
|
|
||||||
+ return true;
|
|
||||||
JNIEnv* env = base::android::AttachCurrentThread();
|
|
||||||
return Java_DevToolsServer_checkDebugPermission(env, credentials.process_id,
|
|
||||||
credentials.user_id) ||
|
|
||||||
@@ -127,6 +131,10 @@ DevToolsServer::DevToolsServer(const std::string& socket_name_prefix)
|
|
||||||
: socket_name_(base::StringPrintf(kDevToolsChannelNameFormat,
|
|
||||||
socket_name_prefix.c_str())),
|
|
||||||
is_started_(false) {
|
|
||||||
+ if (base::FeatureList::IsEnabled(features::kActAsWebView)) {
|
|
||||||
+ socket_name_ = base::StringPrintf("%s_devtools_remote_%d",
|
|
||||||
+ socket_name_prefix.c_str(), getpid());
|
|
||||||
+ }
|
|
||||||
// Override the socket name if one is specified on the command line.
|
|
||||||
const base::CommandLine& command_line =
|
|
||||||
*base::CommandLine::ForCurrentProcess();
|
|
||||||
@@ -144,6 +152,8 @@ void DevToolsServer::Start(bool allow_debug_permission) {
|
|
||||||
if (is_started_)
|
|
||||||
return;
|
|
||||||
|
|
||||||
+ DLOG(INFO) << "---DevToolsServer::Start allow_debug_permission=" << allow_debug_permission;
|
|
||||||
+ DLOG(INFO) << "---socket_name_=" << socket_name_;
|
|
||||||
net::UnixDomainServerSocket::AuthCallback auth_callback =
|
|
||||||
allow_debug_permission
|
|
||||||
? base::BindRepeating(&AuthorizeSocketAccessWithDebugPermission)
|
|
||||||
diff --git a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
|
|
||||||
--- a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
|
|
||||||
+++ b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
|
|
||||||
@@ -10,6 +10,7 @@
|
|
||||||
#include "build/build_config.h"
|
|
||||||
#include "chrome/browser/browser_process.h"
|
|
||||||
#include "chrome/browser/chrome_browser_interface_binders.h"
|
|
||||||
+#include "chrome/browser/cromite/cromite_private_api_host.h"
|
|
||||||
#include "chrome/browser/chrome_browser_interface_binders_webui.h"
|
|
||||||
#include "chrome/browser/chrome_content_browser_client.h"
|
|
||||||
#include "chrome/browser/chrome_content_browser_client_parts.h"
|
|
||||||
@@ -491,6 +492,15 @@ void ChromeContentBrowserClient::
|
|
||||||
render_frame_host);
|
|
||||||
},
|
|
||||||
&render_frame_host));
|
|
||||||
+ associated_registry.AddInterface<
|
|
||||||
+ chrome::mojom::CromitePrivateApiExtension>(base::BindRepeating(
|
|
||||||
+ [](content::RenderFrameHost* render_frame_host,
|
|
||||||
+ mojo::PendingAssociatedReceiver<
|
|
||||||
+ chrome::mojom::CromitePrivateApiExtension> receiver) {
|
|
||||||
+ CromitePrivateApiHost::BindHost(std::move(receiver),
|
|
||||||
+ render_frame_host);
|
|
||||||
+ },
|
|
||||||
+ &render_frame_host));
|
|
||||||
associated_registry.AddInterface<
|
|
||||||
chrome::mojom::GoogleAccountsPrivateApiExtension>(base::BindRepeating(
|
|
||||||
[](content::RenderFrameHost* render_frame_host,
|
|
||||||
diff --git a/chrome/browser/cromite/cromite_private_api_host.cc b/chrome/browser/cromite/cromite_private_api_host.cc
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/chrome/browser/cromite/cromite_private_api_host.cc
|
|
||||||
@@ -0,0 +1,74 @@
|
|
||||||
+#include "chrome/browser/cromite/cromite_private_api_host.h"
|
|
||||||
+
|
|
||||||
+#include "base/json/json_writer.h"
|
|
||||||
+
|
|
||||||
+#include "chrome/browser/browser_process.h"
|
|
||||||
+#include "components/component_updater/component_updater_service.h"
|
|
||||||
+#include "components/update_client/crx_update_item.h"
|
|
||||||
+#include "content/public/browser/document_user_data.h"
|
|
||||||
+#include "content/public/browser/navigation_handle.h"
|
|
||||||
+#include "content/public/browser/render_frame_host.h"
|
|
||||||
+#include "content/public/browser/site_instance.h"
|
|
||||||
+
|
|
||||||
+CromitePrivateApiHost::CromitePrivateApiHost(
|
|
||||||
+ content::RenderFrameHost* rfh)
|
|
||||||
+ : DocumentUserData<CromitePrivateApiHost>(rfh),
|
|
||||||
+ receiver_(this) {}
|
|
||||||
+
|
|
||||||
+CromitePrivateApiHost::~CromitePrivateApiHost() = default;
|
|
||||||
+
|
|
||||||
+DOCUMENT_USER_DATA_KEY_IMPL(CromitePrivateApiHost);
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiHost::BindReceiver(
|
|
||||||
+ mojo::PendingAssociatedReceiver<
|
|
||||||
+ chrome::mojom::CromitePrivateApiExtension> receiver) {
|
|
||||||
+ receiver_.Bind(std::move(receiver));
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiHost::GetComponentData(
|
|
||||||
+ const std::string& id,
|
|
||||||
+ GetComponentDataCallback callback) {
|
|
||||||
+ LOG(INFO) << "---CromitePrivateApiHost::GetComponentData "
|
|
||||||
+ << "id=" << id;
|
|
||||||
+ const raw_ptr<component_updater::ComponentUpdateService>
|
|
||||||
+ component_updater = g_browser_process->component_updater();
|
|
||||||
+
|
|
||||||
+ update_client::CrxUpdateItem item;
|
|
||||||
+ if (component_updater->GetComponentDetails(id, &item) && item.component) {
|
|
||||||
+ base::DictValue dict;
|
|
||||||
+ dict.Set("id", id);
|
|
||||||
+ dict.Set("version", item.component->version.GetString());
|
|
||||||
+ dict.Set("status", (int)item.state);
|
|
||||||
+
|
|
||||||
+ std::string json_string;
|
|
||||||
+ base::JSONWriter::WriteWithOptions(
|
|
||||||
+ dict, base::JSONWriter::OPTIONS_PRETTY_PRINT, &json_string);
|
|
||||||
+ base::TrimWhitespaceASCII(json_string, base::TRIM_ALL, &json_string);
|
|
||||||
+
|
|
||||||
+ std::move(callback).Run(json_string);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiHost::StartComponentUpdate(const std::string& id) {
|
|
||||||
+ LOG(INFO) << "---CromitePrivateApiHost::StartComponentUpdate "
|
|
||||||
+ << "id=" << id;
|
|
||||||
+ const raw_ptr<component_updater::ComponentUpdateService>
|
|
||||||
+ component_updater = g_browser_process->component_updater();
|
|
||||||
+ component_updater->GetOnDemandUpdater().OnDemandUpdate(
|
|
||||||
+ id, component_updater::OnDemandUpdater::Priority::FOREGROUND,
|
|
||||||
+ component_updater::Callback());
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiHost::SetEnableLogConsole(bool enabled) {
|
|
||||||
+ enable_log_console_ = enabled;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+// static
|
|
||||||
+void CromitePrivateApiHost::BindHost(
|
|
||||||
+ mojo::PendingAssociatedReceiver<
|
|
||||||
+ chrome::mojom::CromitePrivateApiExtension> receiver,
|
|
||||||
+ content::RenderFrameHost* render_frame_host) {
|
|
||||||
+ CromitePrivateApiHost* api_host =
|
|
||||||
+ CromitePrivateApiHost::GetOrCreateForCurrentDocument(render_frame_host);
|
|
||||||
+ api_host->BindReceiver(std::move(receiver));
|
|
||||||
+}
|
|
||||||
diff --git a/chrome/browser/cromite/cromite_private_api_host.h b/chrome/browser/cromite/cromite_private_api_host.h
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/chrome/browser/cromite/cromite_private_api_host.h
|
|
||||||
@@ -0,0 +1,54 @@
|
|
||||||
+#ifndef CHROME_BROWSER_CROMITE_PRIVATE_API_HOST_H_
|
|
||||||
+#define CHROME_BROWSER_CROMITE_PRIVATE_API_HOST_H_
|
|
||||||
+
|
|
||||||
+#include <string>
|
|
||||||
+
|
|
||||||
+#include "base/functional/callback.h"
|
|
||||||
+#include "chrome/common/cromite_private_api_extension.mojom.h"
|
|
||||||
+#include "content/public/browser/document_user_data.h"
|
|
||||||
+#include "mojo/public/cpp/bindings/associated_receiver.h"
|
|
||||||
+
|
|
||||||
+namespace content {
|
|
||||||
+class NavigationHandle;
|
|
||||||
+class RenderFrameHost;
|
|
||||||
+} // namespace content
|
|
||||||
+
|
|
||||||
+class CromitePrivateApiHost
|
|
||||||
+ : public chrome::mojom::CromitePrivateApiExtension,
|
|
||||||
+ public content::DocumentUserData<CromitePrivateApiHost> {
|
|
||||||
+ public:
|
|
||||||
+ ~CromitePrivateApiHost() override;
|
|
||||||
+ CromitePrivateApiHost(const CromitePrivateApiHost&) = delete;
|
|
||||||
+ CromitePrivateApiHost& operator=(const CromitePrivateApiHost&) =
|
|
||||||
+ delete;
|
|
||||||
+
|
|
||||||
+ static void BindHost(
|
|
||||||
+ mojo::PendingAssociatedReceiver<
|
|
||||||
+ chrome::mojom::CromitePrivateApiExtension> receiver,
|
|
||||||
+ content::RenderFrameHost* render_frame_host);
|
|
||||||
+
|
|
||||||
+ void BindReceiver(mojo::PendingAssociatedReceiver<
|
|
||||||
+ chrome::mojom::CromitePrivateApiExtension> receiver);
|
|
||||||
+
|
|
||||||
+ bool IsLogConsoleEnabled() const { return enable_log_console_; }
|
|
||||||
+
|
|
||||||
+ // chrome::mojom::CromitePrivateApiExtension:
|
|
||||||
+ void GetComponentData(const std::string& id,
|
|
||||||
+ GetComponentDataCallback callback) override;
|
|
||||||
+ void StartComponentUpdate(const std::string& id) override;
|
|
||||||
+ void SetEnableLogConsole(bool can_show) override;
|
|
||||||
+
|
|
||||||
+ private:
|
|
||||||
+ explicit CromitePrivateApiHost(
|
|
||||||
+ content::RenderFrameHost* rfh);
|
|
||||||
+
|
|
||||||
+ friend DocumentUserData;
|
|
||||||
+ DOCUMENT_USER_DATA_KEY_DECL();
|
|
||||||
+
|
|
||||||
+ mojo::AssociatedReceiver<chrome::mojom::CromitePrivateApiExtension>
|
|
||||||
+ receiver_;
|
|
||||||
+
|
|
||||||
+ bool enable_log_console_ = false;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+#endif // CHROME_BROWSER_CROMITE_PRIVATE_API_HOST_H_
|
|
||||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sActAsWebView.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sActAsWebView.java
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sActAsWebView.java
|
|
||||||
@@ -0,0 +1,33 @@
|
|
||||||
+/*
|
|
||||||
+ This file is part of Cromite.
|
|
||||||
+
|
|
||||||
+ Cromite is free software: you can redistribute it and/or modify
|
|
||||||
+ it under the terms of the GNU General Public License as published by
|
|
||||||
+ the Free Software Foundation, either version 3 of the License, or
|
|
||||||
+ (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ Cromite is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU General Public License
|
|
||||||
+ along with Cromite. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
+*/
|
|
||||||
+
|
|
||||||
+package org.chromium.chrome.browser.flags.cromite;
|
|
||||||
+
|
|
||||||
+import org.chromium.components.cached_flags.CachedFlag;
|
|
||||||
+import org.chromium.chrome.browser.flags.ChromeFeatureMap;
|
|
||||||
+
|
|
||||||
+public class sActAsWebView {
|
|
||||||
+ private static final CachedFlag sInstance =
|
|
||||||
+ new CachedFlag(ChromeFeatureMap.getInstance(),
|
|
||||||
+ "ActAsWebView", false);
|
|
||||||
+
|
|
||||||
+ private sActAsWebView() {}
|
|
||||||
+
|
|
||||||
+ public static CachedFlag getInstance() {
|
|
||||||
+ return sInstance;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableCromiteTestSupport.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableCromiteTestSupport.java
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableCromiteTestSupport.java
|
|
||||||
@@ -0,0 +1,33 @@
|
|
||||||
+/*
|
|
||||||
+ This file is part of Cromite.
|
|
||||||
+
|
|
||||||
+ Cromite is free software: you can redistribute it and/or modify
|
|
||||||
+ it under the terms of the GNU General Public License as published by
|
|
||||||
+ the Free Software Foundation, either version 3 of the License, or
|
|
||||||
+ (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ Cromite is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU General Public License
|
|
||||||
+ along with Cromite. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
+*/
|
|
||||||
+
|
|
||||||
+package org.chromium.chrome.browser.flags.cromite;
|
|
||||||
+
|
|
||||||
+import org.chromium.components.cached_flags.CachedFlag;
|
|
||||||
+import org.chromium.chrome.browser.flags.ChromeFeatureMap;
|
|
||||||
+
|
|
||||||
+public class sEnableCromiteTestSupport {
|
|
||||||
+ private static final CachedFlag sInstance =
|
|
||||||
+ new CachedFlag(ChromeFeatureMap.getInstance(),
|
|
||||||
+ "EnableCromiteTestSupport", false);
|
|
||||||
+
|
|
||||||
+ private sEnableCromiteTestSupport() {}
|
|
||||||
+
|
|
||||||
+ public static CachedFlag getInstance() {
|
|
||||||
+ return sInstance;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java b/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java
|
|
||||||
--- a/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java
|
|
||||||
+++ b/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java
|
|
||||||
@@ -175,6 +175,7 @@ public class NotificationPermissionController {
|
|
||||||
* @return True if any UI was shown (either rationale dialog or OS prompt), false otherwise.
|
|
||||||
*/
|
|
||||||
public boolean requestPermissionIfNeeded(boolean contextual) {
|
|
||||||
+ if (!contextual) return false;
|
|
||||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU || DeviceInfo.isRetailDemoMode()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/startup/bad_flags_prompt.cc
|
|
||||||
--- a/chrome/browser/ui/startup/bad_flags_prompt.cc
|
|
||||||
+++ b/chrome/browser/ui/startup/bad_flags_prompt.cc
|
|
||||||
@@ -223,6 +223,7 @@ static const std::variant<const base::Feature*, const char*>
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
|
||||||
&chrome::android::kCommandLineOnNonRooted,
|
|
||||||
+ &features::kEnableCromiteTestSupport,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// This flag disables security for the Page Embedded Permission Control,
|
|
||||||
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
|
|
||||||
--- a/chrome/common/BUILD.gn
|
|
||||||
+++ b/chrome/common/BUILD.gn
|
|
||||||
@@ -668,6 +668,7 @@ mojom("mojo_bindings") {
|
|
||||||
"actor.mojom",
|
|
||||||
"chrome_render_frame.mojom",
|
|
||||||
"google_accounts_private_api_extension.mojom",
|
|
||||||
+ "cromite_private_api_extension.mojom",
|
|
||||||
"media/webrtc_logging.mojom",
|
|
||||||
"net/net_error_page_support.mojom",
|
|
||||||
"net_benchmarking.mojom",
|
|
||||||
diff --git a/chrome/common/cromite_private_api_extension.mojom b/chrome/common/cromite_private_api_extension.mojom
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/chrome/common/cromite_private_api_extension.mojom
|
|
||||||
@@ -0,0 +1,7 @@
|
|
||||||
+module chrome.mojom;
|
|
||||||
+
|
|
||||||
+interface CromitePrivateApiExtension {
|
|
||||||
+ GetComponentData(string id) => (string response);
|
|
||||||
+ StartComponentUpdate(string id);
|
|
||||||
+ SetEnableLogConsole(bool enabled);
|
|
||||||
+};
|
|
||||||
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
|
|
||||||
--- a/chrome/renderer/BUILD.gn
|
|
||||||
+++ b/chrome/renderer/BUILD.gn
|
|
||||||
@@ -81,6 +81,8 @@ static_library("renderer") {
|
|
||||||
"chrome_render_thread_observer.cc",
|
|
||||||
"chrome_render_thread_observer.h",
|
|
||||||
"custom_menu_commands.h",
|
|
||||||
+ "cromite/cromite_private_api_extension.cc",
|
|
||||||
+ "cromite/cromite_private_api_extension.h",
|
|
||||||
"google_accounts_private_api_extension.cc",
|
|
||||||
"google_accounts_private_api_extension.h",
|
|
||||||
"google_accounts_private_api_util.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
|
|
||||||
@@ -56,6 +56,7 @@
|
|
||||||
#include "chrome/renderer/chrome_render_frame_observer.h"
|
|
||||||
#include "chrome/renderer/chrome_render_thread_observer.h"
|
|
||||||
#include "chrome/renderer/controlled_frame/controlled_frame_extensions_renderer_api_provider.h"
|
|
||||||
+#include "chrome/renderer/cromite/cromite_private_api_extension.h"
|
|
||||||
#include "chrome/renderer/google_accounts_private_api_extension.h"
|
|
||||||
#include "chrome/renderer/loadtimes_extension_bindings.h"
|
|
||||||
#include "chrome/renderer/media/flash_embed_rewrite.h"
|
|
||||||
@@ -663,6 +664,7 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
|
||||||
|
|
||||||
TrustedVaultEncryptionKeysExtension::Create(render_frame);
|
|
||||||
GoogleAccountsPrivateApiExtension::Create(render_frame);
|
|
||||||
+ CromitePrivateApiExtension::Create(render_frame);
|
|
||||||
|
|
||||||
if (render_frame->IsMainFrame())
|
|
||||||
new webapps::WebPageMetadataAgent(render_frame);
|
|
||||||
diff --git a/chrome/renderer/cromite/cromite_private_api_extension.cc b/chrome/renderer/cromite/cromite_private_api_extension.cc
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/chrome/renderer/cromite/cromite_private_api_extension.cc
|
|
||||||
@@ -0,0 +1,203 @@
|
|
||||||
+#include "chrome/renderer/cromite/cromite_private_api_extension.h"
|
|
||||||
+
|
|
||||||
+#include "chrome/common/chrome_features.h"
|
|
||||||
+#include "content/public/common/content_features.h"
|
|
||||||
+#include "content/public/common/isolated_world_ids.h"
|
|
||||||
+#include "content/public/renderer/chrome_object_extensions_utils.h"
|
|
||||||
+#include "content/public/renderer/render_frame.h"
|
|
||||||
+#include "gin/arguments.h"
|
|
||||||
+#include "gin/function_template.h"
|
|
||||||
+#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
|
|
||||||
+#include "third_party/blink/public/platform/platform.h"
|
|
||||||
+#include "third_party/blink/public/platform/scheduler/web_agent_group_scheduler.h"
|
|
||||||
+#include "third_party/blink/public/web/web_local_frame.h"
|
|
||||||
+#include "v8/include/v8-context.h"
|
|
||||||
+#include "v8/include/v8-function.h"
|
|
||||||
+
|
|
||||||
+namespace {
|
|
||||||
+
|
|
||||||
+bool ShouldExposeCromitePrivateApi(
|
|
||||||
+ content::RenderFrame* render_frame) {
|
|
||||||
+ DCHECK(render_frame);
|
|
||||||
+ if (!base::FeatureList::IsEnabled(features::kEnableCromiteTestSupport))
|
|
||||||
+ return false;
|
|
||||||
+
|
|
||||||
+ GURL origin_url = GURL("chrome://version");
|
|
||||||
+ const url::Origin& allowed_origin = url::Origin::Create(origin_url);
|
|
||||||
+
|
|
||||||
+ const url::Origin origin = render_frame->GetWebFrame()->GetSecurityOrigin();
|
|
||||||
+ return origin == allowed_origin;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+CromitePrivateApiExtension::PendingRequest::PendingRequest(
|
|
||||||
+ v8::Isolate* isolate,
|
|
||||||
+ v8::Local<v8::Context> context,
|
|
||||||
+ v8::Local<v8::Promise::Resolver> resolver)
|
|
||||||
+ : isolate(isolate),
|
|
||||||
+ context(isolate, context),
|
|
||||||
+ promise_resolver(isolate, resolver) {}
|
|
||||||
+
|
|
||||||
+CromitePrivateApiExtension::PendingRequest::~PendingRequest() = default;
|
|
||||||
+
|
|
||||||
+// static
|
|
||||||
+void CromitePrivateApiExtension::Create(content::RenderFrame* frame) {
|
|
||||||
+ new CromitePrivateApiExtension(frame);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+CromitePrivateApiExtension::CromitePrivateApiExtension(
|
|
||||||
+ content::RenderFrame* frame)
|
|
||||||
+ : content::RenderFrameObserver(frame) {}
|
|
||||||
+
|
|
||||||
+CromitePrivateApiExtension::~CromitePrivateApiExtension() =
|
|
||||||
+ default;
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiExtension::OnDestruct() {
|
|
||||||
+ delete this;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiExtension::DidCreateScriptContext(
|
|
||||||
+ v8::Local<v8::Context> v8_context,
|
|
||||||
+ int32_t world_id) {
|
|
||||||
+ if (!render_frame() || world_id != content::ISOLATED_WORLD_ID_GLOBAL) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (ShouldExposeCromitePrivateApi(render_frame())) {
|
|
||||||
+ InjectScript();
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiExtension::InjectScript() {
|
|
||||||
+ DCHECK(render_frame());
|
|
||||||
+
|
|
||||||
+ blink::WebLocalFrame* web_frame = render_frame()->GetWebFrame();
|
|
||||||
+ v8::Isolate* isolate = web_frame->GetAgentGroupScheduler()->Isolate();
|
|
||||||
+ v8::HandleScope handle_scope(isolate);
|
|
||||||
+ v8::Local<v8::Context> context = web_frame->MainWorldScriptContext();
|
|
||||||
+ if (context.IsEmpty()) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ v8::Context::Scope context_scope(context);
|
|
||||||
+
|
|
||||||
+ v8::Local<v8::Object> window =
|
|
||||||
+ content::GetOrCreateObject(isolate, context, "window");
|
|
||||||
+ v8::Local<v8::Object> oCromiteObject =
|
|
||||||
+ content::GetOrCreateObject(isolate, context, window, "cromite");
|
|
||||||
+
|
|
||||||
+ oCromiteObject
|
|
||||||
+ ->Set(
|
|
||||||
+ context, gin::StringToSymbol(isolate, "getComponentData"),
|
|
||||||
+ gin::CreateFunctionTemplate(
|
|
||||||
+ isolate, base::BindRepeating(
|
|
||||||
+ &CromitePrivateApiExtension::GetComponentData,
|
|
||||||
+ weak_ptr_factory_.GetWeakPtr()))
|
|
||||||
+ ->GetFunction(context)
|
|
||||||
+ .ToLocalChecked())
|
|
||||||
+ .Check();
|
|
||||||
+
|
|
||||||
+ oCromiteObject
|
|
||||||
+ ->Set(
|
|
||||||
+ context, gin::StringToSymbol(isolate, "startComponentUpdate"),
|
|
||||||
+ gin::CreateFunctionTemplate(
|
|
||||||
+ isolate, base::BindRepeating(
|
|
||||||
+ &CromitePrivateApiExtension::StartComponentUpdate,
|
|
||||||
+ weak_ptr_factory_.GetWeakPtr()))
|
|
||||||
+ ->GetFunction(context)
|
|
||||||
+ .ToLocalChecked())
|
|
||||||
+ .Check();
|
|
||||||
+
|
|
||||||
+ oCromiteObject
|
|
||||||
+ ->Set(
|
|
||||||
+ context, gin::StringToSymbol(isolate, "setEnableLogConsole"),
|
|
||||||
+ gin::CreateFunctionTemplate(
|
|
||||||
+ isolate, base::BindRepeating(
|
|
||||||
+ &CromitePrivateApiExtension::SetEnableLogConsole,
|
|
||||||
+ weak_ptr_factory_.GetWeakPtr()))
|
|
||||||
+ ->GetFunction(context)
|
|
||||||
+ .ToLocalChecked())
|
|
||||||
+ .Check();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiExtension::GetComponentData(gin::Arguments* args) {
|
|
||||||
+ std::string component_id;
|
|
||||||
+ if (!args->GetNext(&component_id)) {
|
|
||||||
+ args->ThrowError();
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!remote_.is_bound()) {
|
|
||||||
+ render_frame()->GetRemoteAssociatedInterfaces()->GetInterface(&remote_);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ v8::Isolate* isolate = args->isolate();
|
|
||||||
+ v8::Local<v8::Context> context = isolate->GetCurrentContext();
|
|
||||||
+
|
|
||||||
+ v8::Local<v8::Promise::Resolver> resolver =
|
|
||||||
+ v8::Promise::Resolver::New(context).ToLocalChecked();
|
|
||||||
+ v8::Local<v8::Promise> promise = resolver->GetPromise();
|
|
||||||
+
|
|
||||||
+ base::UnguessableToken request_id = base::UnguessableToken::Create();
|
|
||||||
+ pending_requests_.emplace(
|
|
||||||
+ request_id,
|
|
||||||
+ std::make_unique<PendingRequest>(isolate, context, resolver));
|
|
||||||
+
|
|
||||||
+ remote_->GetComponentData(component_id,
|
|
||||||
+ base::BindOnce(&CromitePrivateApiExtension::OnGetComponentData,
|
|
||||||
+ weak_ptr_factory_.GetWeakPtr(), request_id));
|
|
||||||
+
|
|
||||||
+ args->Return(promise);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiExtension::OnGetComponentData(const base::UnguessableToken callback_id,
|
|
||||||
+ const std::string& result) {
|
|
||||||
+ auto iter = pending_requests_.find(callback_id);
|
|
||||||
+ if (iter == pending_requests_.end())
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ std::unique_ptr<PendingRequest> request = std::move(iter->second);
|
|
||||||
+ pending_requests_.erase(iter);
|
|
||||||
+
|
|
||||||
+ v8::HandleScope handle_scope(request->isolate);
|
|
||||||
+ v8::Local<v8::Context> context =
|
|
||||||
+ request->context.Get(request->isolate);
|
|
||||||
+ v8::Local<v8::Promise::Resolver> resolver =
|
|
||||||
+ request->promise_resolver.Get(request->isolate);
|
|
||||||
+
|
|
||||||
+ LOG(INFO) << "---CromitePrivateApiExtension::OnGetComponentData4";
|
|
||||||
+ resolver->Resolve(context,
|
|
||||||
+ gin::StringToV8(request->isolate, result))
|
|
||||||
+ .ToChecked();
|
|
||||||
+
|
|
||||||
+ LOG(INFO) << "---CromitePrivateApiExtension::OnGetComponentData5";
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiExtension::StartComponentUpdate(gin::Arguments* args) {
|
|
||||||
+ std::string component_id;
|
|
||||||
+ if (!args->GetNext(&component_id)) {
|
|
||||||
+ args->ThrowError();
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!remote_.is_bound()) {
|
|
||||||
+ render_frame()->GetRemoteAssociatedInterfaces()->GetInterface(&remote_);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ remote_->StartComponentUpdate(component_id);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CromitePrivateApiExtension::SetEnableLogConsole(gin::Arguments* args) {
|
|
||||||
+ bool enabled;
|
|
||||||
+ if (!args->GetNext(&enabled)) {
|
|
||||||
+ args->ThrowError();
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!remote_.is_bound()) {
|
|
||||||
+ render_frame()->GetRemoteAssociatedInterfaces()->GetInterface(&remote_);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ remote_->SetEnableLogConsole(enabled);
|
|
||||||
+}
|
|
||||||
diff --git a/chrome/renderer/cromite/cromite_private_api_extension.h b/chrome/renderer/cromite/cromite_private_api_extension.h
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/chrome/renderer/cromite/cromite_private_api_extension.h
|
|
||||||
@@ -0,0 +1,65 @@
|
|
||||||
+#ifndef CHROME_RENDERER_CROMITE_PRIVATE_API_EXTENSION_H_
|
|
||||||
+#define CHROME_RENDERER_CROMITE_PRIVATE_API_EXTENSION_H_
|
|
||||||
+
|
|
||||||
+#include "base/memory/weak_ptr.h"
|
|
||||||
+#include "chrome/common/cromite_private_api_extension.mojom.h"
|
|
||||||
+#include "content/public/renderer/render_frame_observer.h"
|
|
||||||
+#include "mojo/public/cpp/bindings/associated_remote.h"
|
|
||||||
+#include "v8/include/v8.h"
|
|
||||||
+
|
|
||||||
+namespace gin {
|
|
||||||
+class Arguments;
|
|
||||||
+} // namespace gin
|
|
||||||
+
|
|
||||||
+class CromitePrivateApiExtension : public content::RenderFrameObserver {
|
|
||||||
+ public:
|
|
||||||
+ // Creates a new instance, with ownership transferred to |*frame|.
|
|
||||||
+ static void Create(content::RenderFrame* frame);
|
|
||||||
+
|
|
||||||
+ CromitePrivateApiExtension(const CromitePrivateApiExtension&) =
|
|
||||||
+ delete;
|
|
||||||
+ CromitePrivateApiExtension& operator=(
|
|
||||||
+ const CromitePrivateApiExtension&) = delete;
|
|
||||||
+
|
|
||||||
+ ~CromitePrivateApiExtension() override;
|
|
||||||
+
|
|
||||||
+ // content::RenderFrameObserver:
|
|
||||||
+ void OnDestruct() override;
|
|
||||||
+ void DidCreateScriptContext(v8::Local<v8::Context> v8_context,
|
|
||||||
+ int32_t world_id) override;
|
|
||||||
+
|
|
||||||
+ private:
|
|
||||||
+
|
|
||||||
+ struct PendingRequest {
|
|
||||||
+ PendingRequest(
|
|
||||||
+ v8::Isolate* isolate,
|
|
||||||
+ v8::Local<v8::Context> context,
|
|
||||||
+ v8::Local<v8::Promise::Resolver> resolver);
|
|
||||||
+
|
|
||||||
+ ~PendingRequest();
|
|
||||||
+
|
|
||||||
+ raw_ptr<v8::Isolate> isolate;
|
|
||||||
+ v8::Global<v8::Context> context;
|
|
||||||
+ v8::Global<v8::Promise::Resolver> promise_resolver;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ explicit CromitePrivateApiExtension(content::RenderFrame* frame);
|
|
||||||
+
|
|
||||||
+ void InjectScript();
|
|
||||||
+
|
|
||||||
+ void GetComponentData(gin::Arguments* args);
|
|
||||||
+ void OnGetComponentData(const base::UnguessableToken callback_id,
|
|
||||||
+ const std::string& label);
|
|
||||||
+ void StartComponentUpdate(gin::Arguments* args);
|
|
||||||
+ void SetEnableLogConsole(gin::Arguments* args);
|
|
||||||
+
|
|
||||||
+ std::map<const base::UnguessableToken,
|
|
||||||
+ std::unique_ptr<PendingRequest>> pending_requests_;
|
|
||||||
+
|
|
||||||
+ mojo::AssociatedRemote<chrome::mojom::CromitePrivateApiExtension>
|
|
||||||
+ remote_;
|
|
||||||
+ base::WeakPtrFactory<CromitePrivateApiExtension> weak_ptr_factory_{
|
|
||||||
+ this};
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+#endif // CHROME_RENDERER_CROMITE_PRIVATE_API_EXTENSION_H_
|
|
||||||
diff --git a/components/component_updater/component_updater_service.h b/components/component_updater/component_updater_service.h
|
|
||||||
--- a/components/component_updater/component_updater_service.h
|
|
||||||
+++ b/components/component_updater/component_updater_service.h
|
|
||||||
@@ -243,6 +243,7 @@ class OnDemandUpdater {
|
|
||||||
// the update will be applied. The caller can subscribe to component update
|
|
||||||
// service notifications and provide an optional callback to get the result
|
|
||||||
// of the call. The function does not implement any cooldown interval.
|
|
||||||
+ public:
|
|
||||||
virtual void OnDemandUpdate(const std::string& id,
|
|
||||||
Priority priority,
|
|
||||||
Callback callback) = 0;
|
|
||||||
diff --git a/content/browser/devtools/devtools_http_handler.cc b/content/browser/devtools/devtools_http_handler.cc
|
|
||||||
--- a/content/browser/devtools/devtools_http_handler.cc
|
|
||||||
+++ b/content/browser/devtools/devtools_http_handler.cc
|
|
||||||
@@ -16,6 +16,7 @@
|
|
||||||
#include "base/command_line.h"
|
|
||||||
#include "base/compiler_specific.h"
|
|
||||||
#include "base/files/file_util.h"
|
|
||||||
+#include "base/feature_list.h"
|
|
||||||
#include "base/functional/bind.h"
|
|
||||||
#include "base/functional/callback_helpers.h"
|
|
||||||
#include "base/json/json_writer.h"
|
|
||||||
@@ -46,6 +47,7 @@
|
|
||||||
#include "content/public/browser/devtools_socket_factory.h"
|
|
||||||
#include "content/public/common/content_client.h"
|
|
||||||
#include "content/public/common/content_constants.h"
|
|
||||||
+#include "content/public/common/content_features.h"
|
|
||||||
#include "content/public/common/content_switches.h"
|
|
||||||
#include "content/public/common/url_constants.h"
|
|
||||||
#include "net/base/io_buffer.h"
|
|
||||||
@@ -616,9 +618,12 @@ void DevToolsHttpHandler::OnJsonRequest(
|
|
||||||
|
|
||||||
if (command == "version") {
|
|
||||||
base::DictValue version;
|
|
||||||
+ auto browser = GetContentClient()->browser()->GetProduct();
|
|
||||||
+ if (base::FeatureList::IsEnabled(features::kEnableCromiteTestSupport))
|
|
||||||
+ browser = "Chrome/0.0.0.0";
|
|
||||||
version.Set("Protocol-Version", DevToolsAgentHost::GetProtocolVersion());
|
|
||||||
version.Set("WebKit-Version", GetWebKitVersion());
|
|
||||||
- version.Set("Browser", GetContentClient()->browser()->GetProduct());
|
|
||||||
+ version.Set("Browser", browser);
|
|
||||||
version.Set("User-Agent", GetContentClient()->browser()->GetUserAgent());
|
|
||||||
version.Set("V8-Version", V8_VERSION_STRING);
|
|
||||||
std::string host = info.GetHeaderValue("host");
|
|
||||||
diff --git a/content/browser/log_console_message.cc b/content/browser/log_console_message.cc
|
|
||||||
--- a/content/browser/log_console_message.cc
|
|
||||||
+++ b/content/browser/log_console_message.cc
|
|
||||||
@@ -17,10 +17,23 @@ void LogConsoleMessage(blink::mojom::ConsoleMessageLevel log_level,
|
|
||||||
int32_t line_number,
|
|
||||||
bool is_builtin_component,
|
|
||||||
bool is_off_the_record,
|
|
||||||
- const std::u16string& source_id) {
|
|
||||||
+ const std::u16string& source_id,
|
|
||||||
+ bool is_log_console_enabled) {
|
|
||||||
+ if (base::FeatureList::IsEnabled(features::kEnableCromiteTestSupport)) {
|
|
||||||
+ LOG(INFO) << "CONSOLE:"
|
|
||||||
+ << "\"" << message << "\", source: " << source_id << " (" << line_number
|
|
||||||
+ << ")";
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
const int32_t resolved_level =
|
|
||||||
is_builtin_component ? ConsoleMessageLevelToLogSeverity(log_level)
|
|
||||||
: ::logging::LOGGING_INFO;
|
|
||||||
+ if (is_log_console_enabled) {
|
|
||||||
+ logging::LogMessage("CONSOLE", line_number, resolved_level).stream()
|
|
||||||
+ << "\"" << message << "\", source: " << source_id << " (" << line_number
|
|
||||||
+ << ")";
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
if (::logging::GetMinLogLevel() > resolved_level)
|
|
||||||
return;
|
|
||||||
|
|
||||||
diff --git a/content/browser/log_console_message.h b/content/browser/log_console_message.h
|
|
||||||
--- a/content/browser/log_console_message.h
|
|
||||||
+++ b/content/browser/log_console_message.h
|
|
||||||
@@ -19,7 +19,8 @@ void LogConsoleMessage(blink::mojom::ConsoleMessageLevel log_level,
|
|
||||||
int32_t line_number,
|
|
||||||
bool is_builtin_component,
|
|
||||||
bool is_off_the_record,
|
|
||||||
- const std::u16string& source_id);
|
|
||||||
+ const std::u16string& source_id,
|
|
||||||
+ bool is_log_console_enabled = false);
|
|
||||||
|
|
||||||
} // namespace content
|
|
||||||
|
|
||||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
|
||||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
|
||||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
|
||||||
@@ -335,6 +335,8 @@
|
|
||||||
#include "url/origin.h"
|
|
||||||
#include "url/url_constants.h"
|
|
||||||
|
|
||||||
+//#include "chrome/browser/cromite/cromite_private_api_host.h"
|
|
||||||
+
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
|
||||||
#include "base/android/scoped_service_binding_batch.h"
|
|
||||||
#include "content/browser/accessibility/browser_accessibility_manager_android.h"
|
|
||||||
@@ -5049,7 +5051,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole(
|
|
||||||
if (delegate_->DidAddMessageToConsole(this, log_level, message, line_no,
|
|
||||||
updated_source_id,
|
|
||||||
untrusted_stack_trace)) {
|
|
||||||
- return;
|
|
||||||
+ if (!base::FeatureList::IsEnabled(features::kEnableCromiteTestSupport))
|
|
||||||
+ return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pass through log severity only on builtin components pages to limit console
|
|
||||||
@@ -5066,8 +5069,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole(
|
|
||||||
const bool is_off_the_record =
|
|
||||||
GetSiteInstance()->GetBrowserContext()->IsOffTheRecord();
|
|
||||||
|
|
||||||
+ bool is_log_console_enabled = false;
|
|
||||||
+ // CromitePrivateApiHost* cromite_data =
|
|
||||||
+ // CromitePrivateApiHost::GetForCurrentDocument(this);
|
|
||||||
+ // if (cromite_data) {
|
|
||||||
+ // is_log_console_enabled = cromite_data->IsLogConsoleEnabled();
|
|
||||||
+ // }
|
|
||||||
LogConsoleMessage(log_level, message, line_no, is_builtin_component,
|
|
||||||
- is_off_the_record, updated_source_id);
|
|
||||||
+ is_off_the_record, updated_source_id, is_log_console_enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RenderFrameHostImpl::FrameSizeChanged(const gfx::Size& frame_size) {
|
|
||||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Enable-test-support.inc b/cromite_flags/chrome/browser/about_flags_cc/Enable-test-support.inc
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/cromite_flags/chrome/browser/about_flags_cc/Enable-test-support.inc
|
|
||||||
@@ -0,0 +1,19 @@
|
|
||||||
+#ifdef FLAG_SECTION
|
|
||||||
+
|
|
||||||
+ {"enable-cromite-test-support",
|
|
||||||
+ "Enable support for cromite test",
|
|
||||||
+ "Setting allows the activation of specific APIs used for cromite testing. "
|
|
||||||
+ "Do not activate if you do not know what you are doing.", kOsAll,
|
|
||||||
+ FEATURE_VALUE_TYPE(features::kEnableCromiteTestSupport)},
|
|
||||||
+
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
+
|
|
||||||
+ {"act-as-webview",
|
|
||||||
+ "Enable webview support for cromite test",
|
|
||||||
+ "Setting allows the activation of specific APIs used for cromite testing. "
|
|
||||||
+ "Do not activate if you do not know what you are doing.", kOsAndroid,
|
|
||||||
+ FEATURE_VALUE_TYPE(features::kActAsWebView)},
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
diff --git a/cromite_flags/content/public/common/content_features_cc/Enable-test-support.inc b/cromite_flags/content/public/common/content_features_cc/Enable-test-support.inc
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/cromite_flags/content/public/common/content_features_cc/Enable-test-support.inc
|
|
||||||
@@ -0,0 +1,7 @@
|
|
||||||
+CROMITE_FEATURE(kEnableCromiteTestSupport,
|
|
||||||
+ "EnableCromiteTestSupport",
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+
|
|
||||||
+CROMITE_FEATURE(kActAsWebView,
|
|
||||||
+ "ActAsWebView",
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
diff --git a/cromite_flags/content/public/common/content_features_h/Enable-test-support.inc b/cromite_flags/content/public/common/content_features_h/Enable-test-support.inc
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/cromite_flags/content/public/common/content_features_h/Enable-test-support.inc
|
|
||||||
@@ -0,0 +1,2 @@
|
|
||||||
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnableCromiteTestSupport);
|
|
||||||
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kActAsWebView);
|
|
||||||
--
|
|
||||||
@@ -13,26 +13,25 @@ See also: https://github.com/bromite/bromite/issues/1474
|
|||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
.../java/res/xml/privacy_preferences.xml | 15 ++++++
|
.../java/res/xml/privacy_preferences.xml | 15 ++++++
|
||||||
.../browser/LaunchIntentDispatcher.java | 22 ++++++++
|
.../browser/LaunchIntentDispatcher.java | 21 ++++++++
|
||||||
.../CustomTabIntentDataProvider.java | 22 ++++----
|
.../CustomTabIntentDataProvider.java | 4 +-
|
||||||
.../customtabs/CustomTabsConnection.java | 3 +-
|
.../customtabs/CustomTabsConnection.java | 1 +
|
||||||
.../IncognitoCustomTabIntentDataProvider.java | 14 +++++
|
.../IncognitoCustomTabIntentDataProvider.java | 14 ++++++
|
||||||
.../privacy/settings/PrivacySettings.java | 51 +++++++++++++++++++
|
.../privacy/settings/PrivacySettings.java | 50 +++++++++++++++++++
|
||||||
.../flags/android/chrome_feature_list.cc | 4 +-
|
|
||||||
.../browser/flags/ChromeFeatureList.java | 3 ++
|
.../browser/flags/ChromeFeatureList.java | 3 ++
|
||||||
.../chrome/browser/tab/TabAssociatedApp.java | 6 ++-
|
.../chrome/browser/tab/TabAssociatedApp.java | 6 ++-
|
||||||
...Add-custom-tab-intents-privacy-option.grdp | 25 +++++++++
|
...Add-custom-tab-intents-privacy-option.grdp | 25 ++++++++++
|
||||||
.../OriginVerifier.java | 5 ++
|
.../OriginVerifier.java | 5 ++
|
||||||
.../core/common/language_experiments.cc | 1 +
|
.../core/common/language_experiments.cc | 1 +
|
||||||
.../add-custom-tab-intents-privacy-option.inc | 1 +
|
.../add-custom-tab-intents-privacy-option.inc | 1 +
|
||||||
13 files changed, 159 insertions(+), 13 deletions(-)
|
12 files changed, 144 insertions(+), 2 deletions(-)
|
||||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-custom-tab-intents-privacy-option.grdp
|
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-custom-tab-intents-privacy-option.grdp
|
||||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc
|
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
@@ -40,6 +40,21 @@ found in the LICENSE file.
|
@@ -56,6 +56,21 @@ found in the LICENSE file.
|
||||||
android:key="cromite_flags"
|
android:key="cromite_flags"
|
||||||
android:title="@string/cromite_flags_title"
|
android:title="@string/cromite_flags_title"
|
||||||
app:url="@string/cromite_flags_url" />
|
app:url="@string/cromite_flags_url" />
|
||||||
@@ -57,15 +56,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||||
@@ -23,6 +23,7 @@ import androidx.core.os.BuildCompat;
|
@@ -64,6 +64,9 @@ import java.lang.annotation.Retention;
|
||||||
import org.chromium.base.ApiCompatibilityUtils;
|
|
||||||
import org.chromium.base.ApplicationStatus;
|
|
||||||
import org.chromium.base.CommandLine;
|
|
||||||
+import org.chromium.base.ContextUtils;
|
|
||||||
import org.chromium.base.IntentUtils;
|
|
||||||
import org.chromium.base.Log;
|
|
||||||
import org.chromium.base.metrics.RecordHistogram;
|
|
||||||
@@ -53,6 +54,9 @@ import java.lang.annotation.Retention;
|
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@@ -75,8 +66,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
|
|||||||
/**
|
/**
|
||||||
* Dispatches incoming intents to the appropriate activity based on the current configuration and
|
* Dispatches incoming intents to the appropriate activity based on the current configuration and
|
||||||
* Intent fired.
|
* Intent fired.
|
||||||
@@ -139,6 +143,9 @@ public class LaunchIntentDispatcher {
|
@@ -267,6 +270,9 @@ public class LaunchIntentDispatcher {
|
||||||
*/
|
@OptIn(markerClass = ExperimentalAuthTab.class)
|
||||||
public static boolean isCustomTabIntent(Intent intent) {
|
public static boolean isCustomTabIntent(Intent intent) {
|
||||||
if (intent == null) return false;
|
if (intent == null) return false;
|
||||||
+ if (!ContextUtils.getAppSharedPreferences()
|
+ if (!ContextUtils.getAppSharedPreferences()
|
||||||
@@ -85,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
|
|||||||
Log.w(
|
Log.w(
|
||||||
TAG,
|
TAG,
|
||||||
"CustomTabsIntent#shouldAlwaysUseBrowserUI() = "
|
"CustomTabsIntent#shouldAlwaysUseBrowserUI() = "
|
||||||
@@ -165,6 +172,10 @@ public class LaunchIntentDispatcher {
|
@@ -295,6 +301,10 @@ public class LaunchIntentDispatcher {
|
||||||
// Make sure the result of the CustomTabActivity is forwarded to the client.
|
// Make sure the result of the CustomTabActivity is forwarded to the client.
|
||||||
newIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
|
newIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
|
||||||
|
|
||||||
@@ -96,7 +87,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
|
|||||||
// Since configureIntentForResizableCustomTab() might change the componenet/class
|
// Since configureIntentForResizableCustomTab() might change the componenet/class
|
||||||
// associated with the passed intent, it needs to be called after #setClassName(context,
|
// associated with the passed intent, it needs to be called after #setClassName(context,
|
||||||
// CustomTabActivity.class.getName());
|
// CustomTabActivity.class.getName());
|
||||||
@@ -342,6 +353,17 @@ public class LaunchIntentDispatcher {
|
@@ -490,6 +500,17 @@ public class LaunchIntentDispatcher {
|
||||||
|
|
||||||
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
|
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
|
||||||
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
|
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
|
||||||
@@ -111,56 +102,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
|
|||||||
+ IntentHandler.setTabLaunchType(newIntent, TabLaunchType.FROM_EXTERNAL_APP);
|
+ IntentHandler.setTabLaunchType(newIntent, TabLaunchType.FROM_EXTERNAL_APP);
|
||||||
+ newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
+ newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
+ }
|
+ }
|
||||||
if (!chromeTabbedTaskExists(mActivity)) {
|
if (!chromeTabbedTaskExists()) {
|
||||||
newIntent.putExtra(IntentHandler.EXTRA_STARTED_TABBED_CHROME_TASK, true);
|
newIntent.putExtra(IntentHandler.EXTRA_STARTED_TABBED_CHROME_TASK, true);
|
||||||
}
|
}
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||||
@@ -248,16 +248,16 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
@@ -1187,7 +1187,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||||
|
|
||||||
// Extra whose value is an array of ints that is supplied to
|
|
||||||
// SyntheticTrialRegistry::RegisterExternalExperiments().
|
|
||||||
- public static final String EXPERIMENT_IDS =
|
|
||||||
- "org.chromium.chrome.browser.customtabs.AGA_EXPERIMENT_IDS";
|
|
||||||
+ // public static final String EXPERIMENT_IDS =
|
|
||||||
+ // "org.chromium.chrome.browser.customtabs.AGA_EXPERIMENT_IDS";
|
|
||||||
|
|
||||||
// These Extra Intent parameters allow an Intent to enable or disable a set of Features.
|
|
||||||
// The set of Features that may be enabled or disabled is restricted by the code,
|
|
||||||
// and initially only two Features may be enabled together, or disabled together.
|
|
||||||
- public static final String EXPERIMENTS_ENABLE =
|
|
||||||
- "org.chromium.chrome.browser.customtabs.EXPERIMENTS_ENABLE";
|
|
||||||
- public static final String EXPERIMENTS_DISABLE =
|
|
||||||
- "org.chromium.chrome.browser.customtabs.EXPERIMENTS_DISABLE";
|
|
||||||
+ // public static final String EXPERIMENTS_ENABLE =
|
|
||||||
+ // "org.chromium.chrome.browser.customtabs.EXPERIMENTS_ENABLE";
|
|
||||||
+ // public static final String EXPERIMENTS_DISABLE =
|
|
||||||
+ // "org.chromium.chrome.browser.customtabs.EXPERIMENTS_DISABLE";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extra that, if set, makes the Custom Tab Activity's height to be x pixels, the Custom Tab
|
|
||||||
@@ -727,7 +727,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
|
||||||
TrustedWebActivityIntentBuilder.EXTRA_SCREEN_ORIENTATION,
|
|
||||||
ScreenOrientation.DEFAULT));
|
|
||||||
|
|
||||||
- mGsaExperimentIds = IntentUtils.safeGetIntArrayExtra(intent, EXPERIMENT_IDS);
|
|
||||||
+ mGsaExperimentIds = null; //IntentUtils.safeGetIntArrayExtra(intent, EXPERIMENT_IDS);
|
|
||||||
|
|
||||||
mBreakPointDp = getActivityBreakPointFromIntent(intent);
|
|
||||||
mInitialActivityHeight = getInitialActivityHeightFromIntent(intent);
|
|
||||||
@@ -740,8 +740,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
|
||||||
intent, EXTRA_ACTIVITY_HEIGHT_RESIZE_BEHAVIOR, ACTIVITY_HEIGHT_DEFAULT);
|
|
||||||
mIsPartialCustomTabFixedHeight = activityHeightResizeBehavior == ACTIVITY_HEIGHT_FIXED;
|
|
||||||
|
|
||||||
- mInteractWithBackground = CustomTabsIntent.isBackgroundInteractionEnabled(intent);
|
|
||||||
- if (IntentUtils.safeHasExtra(intent, EXTRA_ENABLE_BACKGROUND_INTERACTION)) {
|
|
||||||
+ mInteractWithBackground = false; // CustomTabsIntent.isBackgroundInteractionEnabled(intent);
|
|
||||||
+ if (((false)) && IntentUtils.safeHasExtra(intent, EXTRA_ENABLE_BACKGROUND_INTERACTION)) {
|
|
||||||
@BackgroundInteractBehavior
|
|
||||||
int backgroundInteractBehavior =
|
|
||||||
IntentUtils.safeGetIntExtra(
|
|
||||||
@@ -1410,7 +1410,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
|
||||||
public @CustomTabProfileType int getCustomTabMode() {
|
public @CustomTabProfileType int getCustomTabMode() {
|
||||||
return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()
|
return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()
|
||||||
? CustomTabProfileType.INCOGNITO
|
? CustomTabProfileType.INCOGNITO
|
||||||
@@ -174,16 +122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||||
@@ -786,7 +786,7 @@ public class CustomTabsConnection {
|
@@ -980,6 +980,7 @@ public class CustomTabsConnection {
|
||||||
ThreadUtils.assertOnUiThread();
|
|
||||||
if (extras == null) return;
|
|
||||||
int[] experimentIds =
|
|
||||||
- IntentUtils.safeGetIntArray(extras, CustomTabIntentDataProvider.EXPERIMENT_IDS);
|
|
||||||
+ null; //IntentUtils.safeGetIntArray(extras, CustomTabIntentDataProvider.EXPERIMENT_IDS);
|
|
||||||
if (experimentIds == null) return;
|
|
||||||
// When ids are set through cct, they should not override existing ids.
|
|
||||||
boolean override = false;
|
|
||||||
@@ -1003,6 +1003,7 @@ public class CustomTabsConnection {
|
|
||||||
PostTask.postTask(
|
PostTask.postTask(
|
||||||
TaskTraits.UI_DEFAULT,
|
TaskTraits.UI_DEFAULT,
|
||||||
() -> {
|
() -> {
|
||||||
@@ -194,7 +133,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||||||
@@ -45,6 +45,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
|
@@ -40,6 +40,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -204,7 +143,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
|
|||||||
/**
|
/**
|
||||||
* A model class that parses the incoming intent for incognito Custom Tabs specific customization
|
* A model class that parses the incoming intent for incognito Custom Tabs specific customization
|
||||||
* data.
|
* data.
|
||||||
@@ -134,6 +137,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
|
@@ -118,6 +121,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isIntentFromThirdPartyAllowed() {
|
private static boolean isIntentFromThirdPartyAllowed() {
|
||||||
@@ -214,7 +153,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
|
|||||||
return ChromeFeatureList.sCctIncognitoAvailableToThirdParty.isEnabled();
|
return ChromeFeatureList.sCctIncognitoAvailableToThirdParty.isEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,6 +237,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
|
@@ -217,6 +223,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isValidIncognitoIntent(Intent intent, boolean recordMetrics) {
|
public static boolean isValidIncognitoIntent(Intent intent, boolean recordMetrics) {
|
||||||
@@ -225,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
|
|||||||
if (!isIncognitoRequested(intent)) return false;
|
if (!isIncognitoRequested(intent)) return false;
|
||||||
var session = SessionHolder.getSessionHolderFromIntent(intent);
|
var session = SessionHolder.getSessionHolderFromIntent(intent);
|
||||||
if (isIntentFromThirdPartyAllowed()
|
if (isIntentFromThirdPartyAllowed()
|
||||||
@@ -341,6 +351,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
|
@@ -330,6 +340,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @CustomTabProfileType int getCustomTabMode() {
|
public @CustomTabProfileType int getCustomTabMode() {
|
||||||
@@ -239,17 +178,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
@@ -12,6 +12,7 @@ import android.content.Context;
|
@@ -59,6 +59,15 @@ import org.chromium.device.DeviceFeatureList;
|
||||||
import android.content.Intent;
|
import org.chromium.device.DeviceFeatureMap;
|
||||||
import android.content.SharedPreferences;
|
import org.chromium.ui.text.SpanApplier;
|
||||||
import android.graphics.drawable.Drawable;
|
|
||||||
+import android.os.Build;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.text.SpannableString;
|
|
||||||
import android.text.SpannableStringBuilder;
|
|
||||||
@@ -88,6 +89,15 @@ import org.chromium.ui.widget.ChromeBulletSpan;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
+import android.app.role.RoleManager;
|
+import android.app.role.RoleManager;
|
||||||
+import android.content.Context;
|
+import android.content.Context;
|
||||||
@@ -260,20 +191,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
+import org.chromium.base.IntentUtils;
|
+import org.chromium.base.IntentUtils;
|
||||||
+import org.chromium.base.PackageManagerUtils;
|
+import org.chromium.base.PackageManagerUtils;
|
||||||
+
|
+
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.preference.PreferenceCategory;
|
import androidx.preference.PreferenceCategory;
|
||||||
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
||||||
import org.chromium.base.shared_preferences.SharedPreferencesManager;
|
@@ -107,6 +116,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
@@ -163,6 +173,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
private IncognitoLockSettings mIncognitoLockSettings;
|
||||||
startTag, endTag, new ChromeClickableSpan(context, onClickCallback));
|
private final ObservableSupplierImpl<String> mPageTitle = new ObservableSupplierImpl<>();
|
||||||
}
|
|
||||||
|
|
||||||
+ private ChromeSwitchPreference allowCustomTabIntentsPref;
|
+ private ChromeSwitchPreference allowCustomTabIntentsPref;
|
||||||
+ private ChromeSwitchPreference openExternalLinksPref;
|
+ private ChromeSwitchPreference openExternalLinksPref;
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
|
public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) {
|
||||||
mPageTitle.set(getString(R.string.prefs_privacy_security));
|
mPageTitle.set(getString(R.string.prefs_privacy_security));
|
||||||
@@ -420,6 +433,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -336,6 +348,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
|
new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -283,7 +214,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
String key = preference.getKey();
|
String key = preference.getKey();
|
||||||
@@ -440,6 +456,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -356,6 +371,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
||||||
UserPrefs.get(getProfile())
|
UserPrefs.get(getProfile())
|
||||||
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
|
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
|
||||||
@@ -315,7 +246,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -472,6 +513,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -388,6 +428,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
|
UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -332,44 +263,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
|
Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
|
||||||
if (doNotTrackPref != null) {
|
if (doNotTrackPref != null) {
|
||||||
doNotTrackPref.setSummary(
|
doNotTrackPref.setSummary(
|
||||||
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
|
|
||||||
@@ -741,7 +741,9 @@ BASE_FEATURE(kLogoViewRefactor, base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
// Enables an experimental feature which forces mayLaunchUrl to use a different
|
|
||||||
// storage partition. This may reduce performance. This should not be enabled by
|
|
||||||
// default.
|
|
||||||
-BASE_FEATURE(kMayLaunchUrlUsesSeparateStoragePartition, base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+CROMITE_FEATURE(kMayLaunchUrlUsesSeparateStoragePartition,
|
|
||||||
+ "MayLaunchUrlUsesSeparateStoragePartition",
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
BASE_FEATURE(kMediaIndicatorsAndroid, base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
BASE_FEATURE(kMostVisitedTilesCustomization, base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
BASE_FEATURE(kMostVisitedTilesReselect, base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
@@ -1053,6 +1053,8 @@ public abstract class ChromeFeatureList {
|
@@ -730,6 +730,8 @@ public abstract class ChromeFeatureList {
|
||||||
MOST_VISITED_TILES_CUSTOMIZATION,
|
public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, true);
|
||||||
/* defaultValue= */ true,
|
public static final CachedFlag sMostVisitedTilesCustomization =
|
||||||
/* defaultValueInTests= */ true);
|
newCachedFlag(MOST_VISITED_TILES_CUSTOMIZATION, false);
|
||||||
+ public static final CachedFlag sMayLaunchurlUsesSeparateStoragePartition =
|
+ public static final CachedFlag sMayLaunchurlUsesSeparateStoragePartition =
|
||||||
+ newCachedFlag(MAYLAUNCHURL_USES_SEPARATE_STORAGE_PARTITION, false);
|
+ newCachedFlag(MAYLAUNCHURL_USES_SEPARATE_STORAGE_PARTITION, false);
|
||||||
public static final CachedFlag sMostVisitedTilesReselect =
|
public static final CachedFlag sMostVisitedTilesReselect =
|
||||||
newCachedFlag(MOST_VISITED_TILES_RESELECT, false);
|
newCachedFlag(MOST_VISITED_TILES_RESELECT, false);
|
||||||
public static final CachedFlag sMoveToFrontInLaunchIntentDispatcher =
|
public static final CachedFlag sMultiInstanceApplicationStatusCleanup =
|
||||||
@@ -1330,6 +1332,7 @@ public abstract class ChromeFeatureList {
|
@@ -897,6 +899,7 @@ public abstract class ChromeFeatureList {
|
||||||
sMaliciousApkDownloadCheck,
|
sNotificationTrampoline,
|
||||||
|
sMagicStackAndroid,
|
||||||
sMostVisitedTilesCustomization,
|
sMostVisitedTilesCustomization,
|
||||||
sMostVisitedTilesReselect,
|
|
||||||
+ sMayLaunchurlUsesSeparateStoragePartition,
|
+ sMayLaunchurlUsesSeparateStoragePartition,
|
||||||
sMoveToFrontInLaunchIntentDispatcher,
|
sMostVisitedTilesReselect,
|
||||||
sMultiInstanceSharedPrefsMigration,
|
sMultiInstanceApplicationStatusCleanup,
|
||||||
sMvcUpdateViewWhenModelChanged,
|
sNavBarColorAnimation,
|
||||||
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
||||||
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
||||||
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
||||||
@@ -90,7 +90,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im
|
@@ -87,7 +87,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im
|
||||||
public static boolean isOpenedFromExternalApp(Tab tab) {
|
public static boolean isOpenedFromExternalApp(Tab tab) {
|
||||||
TabAssociatedApp app = get(tab);
|
TabAssociatedApp app = get(tab);
|
||||||
if (app == null) return false;
|
if (app == null) return false;
|
||||||
@@ -415,7 +332,7 @@ new file mode 100644
|
|||||||
diff --git a/components/content_relationship_verification/android/java/src/org/chromium/components/content_relationship_verification/OriginVerifier.java b/components/content_relationship_verification/android/java/src/org/chromium/components/content_relationship_verification/OriginVerifier.java
|
diff --git a/components/content_relationship_verification/android/java/src/org/chromium/components/content_relationship_verification/OriginVerifier.java b/components/content_relationship_verification/android/java/src/org/chromium/components/content_relationship_verification/OriginVerifier.java
|
||||||
--- a/components/content_relationship_verification/android/java/src/org/chromium/components/content_relationship_verification/OriginVerifier.java
|
--- a/components/content_relationship_verification/android/java/src/org/chromium/components/content_relationship_verification/OriginVerifier.java
|
||||||
+++ b/components/content_relationship_verification/android/java/src/org/chromium/components/content_relationship_verification/OriginVerifier.java
|
+++ b/components/content_relationship_verification/android/java/src/org/chromium/components/content_relationship_verification/OriginVerifier.java
|
||||||
@@ -181,6 +181,11 @@ public abstract class OriginVerifier {
|
@@ -180,6 +180,11 @@ public abstract class OriginVerifier {
|
||||||
assert mNativeOriginVerifier != 0
|
assert mNativeOriginVerifier != 0
|
||||||
: "Either provide a browserContextHandle to "
|
: "Either provide a browserContextHandle to "
|
||||||
+ "OriginVerifier#ctor or call initNativeOriginVerifier.";
|
+ "OriginVerifier#ctor or call initNativeOriginVerifier.";
|
||||||
@@ -430,9 +347,9 @@ diff --git a/components/content_relationship_verification/android/java/src/org/c
|
|||||||
diff --git a/components/language/core/common/language_experiments.cc b/components/language/core/common/language_experiments.cc
|
diff --git a/components/language/core/common/language_experiments.cc b/components/language/core/common/language_experiments.cc
|
||||||
--- a/components/language/core/common/language_experiments.cc
|
--- a/components/language/core/common/language_experiments.cc
|
||||||
+++ b/components/language/core/common/language_experiments.cc
|
+++ b/components/language/core/common/language_experiments.cc
|
||||||
@@ -20,4 +20,5 @@ BASE_FEATURE(kTranslateOpenSettings, base::FEATURE_DISABLED_BY_DEFAULT);
|
@@ -32,4 +32,5 @@ BASE_FEATURE(kDisableGeoLanguageModel,
|
||||||
|
// Params:
|
||||||
BASE_FEATURE(kDisableGeoLanguageModel, base::FEATURE_ENABLED_BY_DEFAULT);
|
const char kContentLanguagesDisableObserversParam[] = "disable_observers";
|
||||||
|
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kCctAutoTranslate);
|
+SET_CROMITE_FEATURE_DISABLED(kCctAutoTranslate);
|
||||||
} // namespace language
|
} // namespace language
|
||||||
@@ -441,5 +358,5 @@ new file mode 100644
|
|||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc
|
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+// explicitly empty
|
+SET_CROMITE_FEATURE_DISABLED(kCCTIntentFeatureOverrides);
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -6,58 +6,69 @@ Corrected Exit functionality
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/android/java/res/values/ids.xml | 1 +
|
chrome/android/java/res/menu/main_menu.xml | 6 ++++++
|
||||||
.../org/chromium/chrome/browser/ChromeTabbedActivity.java | 4 ++++
|
.../org/chromium/chrome/browser/ChromeTabbedActivity.java | 4 ++++
|
||||||
.../org/chromium/chrome/browser/app/ChromeActivity.java | 6 ++++++
|
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 6 ++++++
|
||||||
.../chrome/browser/init/ChromeLifetimeController.java | 2 ++
|
.../chrome/browser/init/ChromeLifetimeController.java | 2 ++
|
||||||
.../tabbed_mode/TabbedAppMenuPropertiesDelegate.java | 7 +++++++
|
.../browser/ui/android/strings/android_chrome_strings.grd | 3 +++
|
||||||
.../browser/ui/android/strings/android_chrome_strings.grd | 3 +++
|
5 files changed, 21 insertions(+)
|
||||||
6 files changed, 23 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
|
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||||
--- a/chrome/android/java/res/values/ids.xml
|
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||||
+++ b/chrome/android/java/res/values/ids.xml
|
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||||
@@ -126,6 +126,7 @@ found in the LICENSE file.
|
@@ -166,6 +166,9 @@ found in the LICENSE file.
|
||||||
<item type="id" name="ntp_feed_header_menu_item_toggle_switch" />
|
<item android:id="@+id/managed_by_menu_id"
|
||||||
|
android:title="@string/managed_browser"
|
||||||
|
android:icon="@drawable/ic_business" />
|
||||||
|
+ <item android:id="@+id/exit_id"
|
||||||
|
+ android:title="@string/menu_exit"
|
||||||
|
+ android:icon="@drawable/ic_exit_to_app_white_24dp" />
|
||||||
|
</group>
|
||||||
|
|
||||||
<!-- App Menu -->
|
<!-- Items shown only in the tab switcher -->
|
||||||
+ <item type="id" name="exit_id" />
|
@@ -195,6 +198,9 @@ found in the LICENSE file.
|
||||||
<item type="id" name="icon_row_menu_id" />
|
<item android:id="@id/preferences_id"
|
||||||
<item type="id" name="submenu_header_menu_id" />
|
android:title="@string/menu_settings"
|
||||||
<item type="id" name="back_menu_id" />
|
android:icon="@drawable/settings_cog" />
|
||||||
|
+ <item android:id="@+id/exit_id"
|
||||||
|
+ android:title="@string/menu_exit"
|
||||||
|
+ android:icon="@drawable/ic_exit_to_app_white_24dp" />
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Items shown only when the tablet has no visible tabs -->
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
@@ -401,6 +401,8 @@ import java.util.Set;
|
@@ -293,6 +293,8 @@ import java.util.Set;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.DoubleConsumer;
|
||||||
|
|
||||||
+import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
+import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* This is the main activity for ChromeMobile when not running in document mode. All the tabs are
|
* This is the main activity for ChromeMobile when not running in document mode. All the tabs are
|
||||||
* accessible via a chrome specific tab switching UI.
|
* accessible via a chrome specific tab switching UI.
|
||||||
@@ -4160,6 +4162,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
@@ -3021,6 +3023,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements MismatchedIn
|
||||||
.closeTabs(
|
.closeTabs(
|
||||||
TabClosureParams.closeTab(currentTab).build(), /* allowDialog= */ true);
|
TabClosureParams.closeTab(currentTab).build(), /* allowDialog= */ true);
|
||||||
RecordUserAction.record("MobileTabClosed");
|
RecordUserAction.record("MobileTabClosed");
|
||||||
+ } else if (id == R.id.exit_id) {
|
+ } else if (id == R.id.exit_id) {
|
||||||
+ ApplicationLifetime.terminate(false);
|
+ ApplicationLifetime.terminate(false);
|
||||||
} else if (id == R.id.close_all_tabs_menu_id) {
|
} else if (id == R.id.close_all_tabs_menu_id) {
|
||||||
boolean allowUndo = TabClosureParamsUtils.shouldAllowUndo(triggeringMotion);
|
// Close both incognito and normal tabs.
|
||||||
|
Runnable closeAllTabsRunnable =
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
@@ -69,6 +69,7 @@ import org.chromium.base.supplier.SettableNullableObservableSupplier;
|
@@ -60,6 +60,7 @@ import org.chromium.chrome.R;
|
||||||
import org.chromium.chrome.R;
|
|
||||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||||
import org.chromium.chrome.browser.ActivityUtils;
|
import org.chromium.chrome.browser.ActivityUtils;
|
||||||
|
import org.chromium.chrome.browser.AppHooks;
|
||||||
+import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
+import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
||||||
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
|
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
|
||||||
import org.chromium.chrome.browser.ChromeApplicationImpl;
|
import org.chromium.chrome.browser.ChromeApplicationImpl;
|
||||||
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
|
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
|
||||||
@@ -2718,6 +2719,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
@@ -2374,6 +2375,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,15 +83,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
||||||
@@ -20,6 +20,7 @@ import org.chromium.build.annotations.MonotonicNonNull;
|
@@ -18,6 +18,7 @@ import org.chromium.base.ContextUtils;
|
||||||
import org.chromium.build.annotations.NullMarked;
|
import org.chromium.base.ThreadUtils;
|
||||||
import org.chromium.chrome.browser.BrowserRestartActivity;
|
import org.chromium.chrome.browser.BrowserRestartActivity;
|
||||||
import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
||||||
+import org.chromium.chrome.browser.incognito.IncognitoNotificationManager;
|
+import org.chromium.chrome.browser.incognito.IncognitoNotificationManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Answers requests to kill and (potentially) restart Chrome's main browser process.
|
* Answers requests to kill and (potentially) restart Chrome's main browser process.
|
||||||
@@ -76,6 +77,7 @@ class ChromeLifetimeController
|
@@ -73,6 +74,7 @@ class ChromeLifetimeController
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTerminate(boolean restart) {
|
public void onTerminate(boolean restart) {
|
||||||
@@ -88,29 +99,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
|
|||||||
mRestartChromeOnDestroy = restart;
|
mRestartChromeOnDestroy = restart;
|
||||||
|
|
||||||
// Tell all Chrome Activities to finish themselves.
|
// Tell all Chrome Activities to finish themselves.
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
|
||||||
@@ -492,6 +492,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
|
||||||
modelList.add(buildContentFilterHelpCenterMenuItem(currentTab));
|
|
||||||
}
|
|
||||||
|
|
||||||
+ modelList.add(new MVCListAdapter.ListItem(
|
|
||||||
+ AppMenuHandler.AppMenuItemType.STANDARD,
|
|
||||||
+ buildModelForStandardMenuItem(
|
|
||||||
+ R.id.exit_id,
|
|
||||||
+ R.string.menu_exit,
|
|
||||||
+ shouldShowIconBeforeItem() ? R.drawable.ic_exit_to_app_white_24dp : 0)));
|
|
||||||
+
|
|
||||||
// Default browser promo menu item (entry point).
|
|
||||||
if (shouldShowDefaultBrowserPromo()) {
|
|
||||||
maybeAddDividerLine(modelList, R.id.divider_line_id);
|
|
||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -4572,6 +4572,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
@@ -4345,6 +4345,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||||
<message name="IDS_MENU_MORE_TOOLS" desc="Menu item to more tools. [CHAR_LIMIT=27]">
|
<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]">
|
||||||
More tools
|
Dark theme
|
||||||
</message>
|
</message>
|
||||||
+ <message name="IDS_MENU_EXIT" desc="Menu item for exit browser. [CHAR-LIMIT=27]">
|
+ <message name="IDS_MENU_EXIT" desc="Menu item for exit browser. [CHAR-LIMIT=27]">
|
||||||
+ Exit
|
+ Exit
|
||||||
|
|||||||
@@ -10,42 +10,42 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
.../browser/autocomplete_controller.cc | 10 ++++++
|
.../browser/autocomplete_controller.cc | 10 ++++++
|
||||||
.../omnibox/browser/history_url_provider.cc | 3 ++
|
.../omnibox/browser/history_url_provider.cc | 3 ++
|
||||||
components/omnibox/browser/search_provider.cc | 4 +++
|
components/omnibox/browser/search_provider.cc | 4 +++
|
||||||
components/url_formatter/url_fixer.cc | 3 ++
|
components/url_formatter/url_fixer.cc | 4 +++
|
||||||
...lag-for-omnibox-autocomplete-filtering.inc | 32 +++++++++++++++++++
|
...lag-for-omnibox-autocomplete-filtering.inc | 32 +++++++++++++++++++
|
||||||
5 files changed, 52 insertions(+)
|
5 files changed, 53 insertions(+)
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-omnibox-autocomplete-filtering.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-omnibox-autocomplete-filtering.inc
|
||||||
|
|
||||||
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
||||||
--- a/components/omnibox/browser/autocomplete_controller.cc
|
--- a/components/omnibox/browser/autocomplete_controller.cc
|
||||||
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
||||||
@@ -22,6 +22,7 @@
|
@@ -22,6 +22,7 @@
|
||||||
#include <utility>
|
|
||||||
|
|
||||||
#include "base/check_op.h"
|
#include "base/check_op.h"
|
||||||
|
#include "base/containers/contains.h"
|
||||||
+#include "base/command_line.h"
|
+#include "base/command_line.h"
|
||||||
#include "base/feature_list.h"
|
#include "base/feature_list.h"
|
||||||
#include "base/format_macros.h"
|
#include "base/format_macros.h"
|
||||||
#include "base/functional/bind.h"
|
#include "base/functional/bind.h"
|
||||||
@@ -549,6 +550,15 @@ AutocompleteController::AutocompleteController(
|
@@ -540,6 +541,15 @@ AutocompleteController::AutocompleteController(
|
||||||
|
provider_client_->GetOmniboxTriggeredFeatureService()),
|
||||||
steady_state_omnibox_position_(
|
steady_state_omnibox_position_(
|
||||||
metrics::OmniboxEventProto::UNKNOWN_POSITION),
|
metrics::OmniboxEventProto::UNKNOWN_POSITION) {
|
||||||
config_(config) {
|
|
||||||
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) {
|
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) {
|
||||||
+ const std::string flag_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering");
|
+ const std::string flag_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering");
|
||||||
+ config_.provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH |
|
+ provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH |
|
||||||
+ AutocompleteProvider::TYPE_HISTORY_URL | AutocompleteProvider::TYPE_BOOKMARK | AutocompleteProvider::TYPE_BUILTIN;
|
+ AutocompleteProvider::TYPE_HISTORY_URL | AutocompleteProvider::TYPE_BOOKMARK | AutocompleteProvider::TYPE_BUILTIN;
|
||||||
+ if (!flag_value.contains("bookmarks"))
|
+ if (!base::Contains(flag_value, "bookmarks"))
|
||||||
+ config_.provider_types &= ~AutocompleteProvider::TYPE_BOOKMARK;
|
+ provider_types &= ~AutocompleteProvider::TYPE_BOOKMARK;
|
||||||
+ if (!flag_value.contains("chrome"))
|
+ if (!base::Contains(flag_value, "chrome"))
|
||||||
+ config_.provider_types &= ~AutocompleteProvider::TYPE_BUILTIN;
|
+ provider_types &= ~AutocompleteProvider::TYPE_BUILTIN;
|
||||||
+ }
|
+ }
|
||||||
config_.provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
|
provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
|
||||||
|
|
||||||
// Providers run in the order they're added. Async providers should run first
|
// Providers run in the order they're added. Async providers should run first
|
||||||
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
|
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
|
||||||
--- a/components/omnibox/browser/history_url_provider.cc
|
--- a/components/omnibox/browser/history_url_provider.cc
|
||||||
+++ b/components/omnibox/browser/history_url_provider.cc
|
+++ b/components/omnibox/browser/history_url_provider.cc
|
||||||
@@ -487,6 +487,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
|
@@ -489,6 +489,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
|
||||||
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
|
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
|
||||||
matches_.push_back(what_you_typed_match);
|
matches_.push_back(what_you_typed_match);
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@ diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omn
|
|||||||
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
|
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
|
||||||
--- a/components/omnibox/browser/search_provider.cc
|
--- a/components/omnibox/browser/search_provider.cc
|
||||||
+++ b/components/omnibox/browser/search_provider.cc
|
+++ b/components/omnibox/browser/search_provider.cc
|
||||||
@@ -17,6 +17,7 @@
|
@@ -14,6 +14,7 @@
|
||||||
#include "base/base64.h"
|
#include "base/base64.h"
|
||||||
#include "base/feature_list.h"
|
#include "base/feature_list.h"
|
||||||
#include "base/functional/bind.h"
|
#include "base/functional/bind.h"
|
||||||
@@ -66,7 +66,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
|
|||||||
#include "base/functional/callback.h"
|
#include "base/functional/callback.h"
|
||||||
#include "base/i18n/break_iterator.h"
|
#include "base/i18n/break_iterator.h"
|
||||||
#include "base/i18n/case_conversion.h"
|
#include "base/i18n/case_conversion.h"
|
||||||
@@ -662,6 +663,9 @@ void SearchProvider::Run(bool query_is_private) {
|
@@ -629,6 +630,9 @@ void SearchProvider::Run(bool query_is_private) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SearchProvider::DoHistoryQuery(bool minimal_changes) {
|
void SearchProvider::DoHistoryQuery(bool minimal_changes) {
|
||||||
@@ -79,20 +79,21 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
|
|||||||
diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc
|
diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc
|
||||||
--- a/components/url_formatter/url_fixer.cc
|
--- a/components/url_formatter/url_fixer.cc
|
||||||
+++ b/components/url_formatter/url_fixer.cc
|
+++ b/components/url_formatter/url_fixer.cc
|
||||||
@@ -11,6 +11,7 @@
|
@@ -15,6 +15,8 @@
|
||||||
|
#include <string_view>
|
||||||
|
|
||||||
#include "base/check_op.h"
|
#include "base/check_op.h"
|
||||||
#include "base/compiler_specific.h"
|
+#include "base/containers/contains.h"
|
||||||
+#include "base/command_line.h"
|
+#include "base/command_line.h"
|
||||||
#include "base/files/file_path.h"
|
#include "base/files/file_path.h"
|
||||||
#include "base/files/file_util.h"
|
#include "base/files/file_util.h"
|
||||||
#include "base/i18n/char_iterator.h"
|
#include "base/i18n/char_iterator.h"
|
||||||
@@ -635,6 +636,8 @@ GURL FixupURLInternal(const std::string& text,
|
@@ -655,6 +657,8 @@ GURL FixupURLInternal(const std::string& text,
|
||||||
desired_tld, &url);
|
|
||||||
}
|
FixupHost(trimmed, parts.host, parts.scheme.is_valid(), desired_tld, &url);
|
||||||
if (chrome_url && !parts.host.is_valid()) {
|
if (chrome_url && !parts.host.is_valid()) {
|
||||||
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering") ||
|
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering") ||
|
||||||
+ base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering").contains("chrome"))
|
+ base::Contains(base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering"), "chrome"))
|
||||||
url.append(kChromeUIDefaultHost);
|
url.append(kChromeUIDefaultHost);
|
||||||
}
|
}
|
||||||
FixupPort(trimmed, parts.port, &url);
|
FixupPort(trimmed, parts.port, &url);
|
||||||
|
|||||||
@@ -8,13 +8,40 @@ with limited CPU/memory resources and it is disabled by default.
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
|
.../common/network_features.cc | 3 +++
|
||||||
|
.../common/network_features.h | 4 ++++
|
||||||
.../common/network_switch_list.h | 4 ++++
|
.../common/network_switch_list.h | 4 ++++
|
||||||
.../spoof_checks/top_domains/BUILD.gn | 1 +
|
.../spoof_checks/top_domains/BUILD.gn | 1 +
|
||||||
...o-configure-maximum-connections-per-host.inc | 17 +++++++++++++++++
|
...o-configure-maximum-connections-per-host.inc | 17 +++++++++++++++++
|
||||||
net/socket/client_socket_pool_manager.cc | 16 ++++++++++++++++
|
net/socket/client_socket_pool_manager.cc | 17 +++++++++++++++++
|
||||||
4 files changed, 38 insertions(+)
|
6 files changed, 46 insertions(+)
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-flag-to-configure-maximum-connections-per-host.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-flag-to-configure-maximum-connections-per-host.inc
|
||||||
|
|
||||||
|
diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc
|
||||||
|
--- a/components/network_session_configurator/common/network_features.cc
|
||||||
|
+++ b/components/network_session_configurator/common/network_features.cc
|
||||||
|
@@ -8,4 +8,7 @@
|
||||||
|
|
||||||
|
namespace features {
|
||||||
|
|
||||||
|
+const char kMaxConnectionsPerHostChoiceDefault[] = "6",
|
||||||
|
+ kMaxConnectionsPerHostChoice15[] = "15";
|
||||||
|
+
|
||||||
|
} // namespace features
|
||||||
|
diff --git a/components/network_session_configurator/common/network_features.h b/components/network_session_configurator/common/network_features.h
|
||||||
|
--- a/components/network_session_configurator/common/network_features.h
|
||||||
|
+++ b/components/network_session_configurator/common/network_features.h
|
||||||
|
@@ -10,6 +10,10 @@
|
||||||
|
|
||||||
|
namespace features {
|
||||||
|
|
||||||
|
+NETWORK_SESSION_CONFIGURATOR_EXPORT extern const char kMaxConnectionsPerHostChoiceDefault[],
|
||||||
|
+ kMaxConnectionsPerHostChoice6[],
|
||||||
|
+ kMaxConnectionsPerHostChoice15[];
|
||||||
|
+
|
||||||
|
} // namespace features
|
||||||
|
|
||||||
|
#endif // COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_FEATURES_H_
|
||||||
diff --git a/components/network_session_configurator/common/network_switch_list.h b/components/network_session_configurator/common/network_switch_list.h
|
diff --git a/components/network_session_configurator/common/network_switch_list.h b/components/network_session_configurator/common/network_switch_list.h
|
||||||
--- a/components/network_session_configurator/common/network_switch_list.h
|
--- a/components/network_session_configurator/common/network_switch_list.h
|
||||||
+++ b/components/network_session_configurator/common/network_switch_list.h
|
+++ b/components/network_session_configurator/common/network_switch_list.h
|
||||||
@@ -27,8 +54,8 @@ diff --git a/components/network_session_configurator/common/network_switch_list.
|
|||||||
+NETWORK_SWITCH(kMaxConnectionsPerHost, "max-connections-per-host")
|
+NETWORK_SWITCH(kMaxConnectionsPerHost, "max-connections-per-host")
|
||||||
+
|
+
|
||||||
// Ignores certificate-related errors.
|
// Ignores certificate-related errors.
|
||||||
// Note: In tests using net::EmbeddedTestServer with a custom hostname not
|
NETWORK_SWITCH(kIgnoreCertificateErrors, "ignore-certificate-errors")
|
||||||
// covered by the default test certs, using this switch is usually incorrect.
|
|
||||||
diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
|
diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
|
||||||
--- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn
|
--- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn
|
||||||
+++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
|
+++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
|
||||||
@@ -48,8 +75,8 @@ new file mode 100644
|
|||||||
+#ifdef FEATURE_PARAM_SECTION
|
+#ifdef FEATURE_PARAM_SECTION
|
||||||
+
|
+
|
||||||
+const FeatureEntry::Choice kMaxConnectionsPerHostChoices[] = {
|
+const FeatureEntry::Choice kMaxConnectionsPerHostChoices[] = {
|
||||||
+ {/*features::kMaxConnectionsPerHostChoiceDefault*/ "6", "", ""},
|
+ {features::kMaxConnectionsPerHostChoiceDefault, "", ""},
|
||||||
+ {/*features::kMaxConnectionsPerHostChoice15*/ "15", switches::kMaxConnectionsPerHost, "15"},
|
+ {features::kMaxConnectionsPerHostChoice15, switches::kMaxConnectionsPerHost, "15"},
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
+#endif
|
+#endif
|
||||||
@@ -76,11 +103,12 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
|
|||||||
#include "net/ssl/ssl_config.h"
|
#include "net/ssl/ssl_config.h"
|
||||||
#include "url/gurl.h"
|
#include "url/gurl.h"
|
||||||
#include "url/scheme_host_port.h"
|
#include "url/scheme_host_port.h"
|
||||||
@@ -169,6 +173,18 @@ void ClientSocketPoolManager::set_socket_soft_cap_per_pool_for_test(
|
@@ -161,6 +165,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
|
||||||
// static
|
int ClientSocketPoolManager::max_sockets_per_group(
|
||||||
size_t ClientSocketPoolManager::max_sockets_per_group(
|
|
||||||
HttpNetworkSession::SocketPoolType pool_type) {
|
HttpNetworkSession::SocketPoolType pool_type) {
|
||||||
+ if (pool_type == net::HttpNetworkSession::SocketPoolType::kNormal) {
|
DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES);
|
||||||
|
+
|
||||||
|
+ if (pool_type == HttpNetworkSession::NORMAL_SOCKET_POOL) {
|
||||||
+ int maxConnectionsPerHost = 0;
|
+ int maxConnectionsPerHost = 0;
|
||||||
+ auto value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kMaxConnectionsPerHost);
|
+ auto value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kMaxConnectionsPerHost);
|
||||||
+ if (!value.empty() && !base::StringToInt(value, &maxConnectionsPerHost)) {
|
+ if (!value.empty() && !base::StringToInt(value, &maxConnectionsPerHost)) {
|
||||||
@@ -92,7 +120,7 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
|
|||||||
+ // fallthrough for default value
|
+ // fallthrough for default value
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
return g_max_sockets_per_group[std::to_underlying(pool_type)];
|
return g_max_sockets_per_group[pool_type];
|
||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -45,13 +45,13 @@ new file mode 100644
|
|||||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||||
--- a/net/BUILD.gn
|
--- a/net/BUILD.gn
|
||||||
+++ b/net/BUILD.gn
|
+++ b/net/BUILD.gn
|
||||||
@@ -1219,6 +1219,7 @@ component("net") {
|
@@ -1118,6 +1118,7 @@ component("net") {
|
||||||
":net_deps",
|
"//build:chromeos_buildflags",
|
||||||
|
"//components/miracle_parameter/common",
|
||||||
"//components/network_time/time_tracker",
|
"//components/network_time/time_tracker",
|
||||||
"//components/unexportable_keys",
|
|
||||||
+ "//components/network_session_configurator/common",
|
+ "//components/network_session_configurator/common",
|
||||||
"//net/http:transport_security_state_generated_files",
|
"//net/http:transport_security_state_generated_files",
|
||||||
"//third_party/simdutf",
|
"//third_party/simdutf:simdutf",
|
||||||
]
|
]
|
||||||
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
||||||
--- a/net/dns/host_resolver_manager.cc
|
--- a/net/dns/host_resolver_manager.cc
|
||||||
@@ -64,7 +64,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
|||||||
#include "net/log/net_log_with_source.h"
|
#include "net/log/net_log_with_source.h"
|
||||||
#include "net/socket/client_socket_factory.h"
|
#include "net/socket/client_socket_factory.h"
|
||||||
#include "net/url_request/url_request_context.h"
|
#include "net/url_request/url_request_context.h"
|
||||||
@@ -1505,6 +1506,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
|
@@ -1425,6 +1426,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,17 +12,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
---
|
---
|
||||||
.../java/res/xml/privacy_preferences.xml | 7 +++-
|
.../java/res/xml/privacy_preferences.xml | 7 +++-
|
||||||
.../customtabs/CustomTabDelegateFactory.java | 2 ++
|
.../customtabs/CustomTabDelegateFactory.java | 2 ++
|
||||||
.../ExternalNavigationDelegateImpl.java | 6 ++--
|
.../ExternalNavigationDelegateImpl.java | 4 ++-
|
||||||
.../cromite/sAllowExternalIntentRequests.java | 33 +++++++++++++++++++
|
.../cromite/sAllowExternalIntentRequests.java | 33 +++++++++++++++++++
|
||||||
...g-to-disable-external-intent-requests.grdp | 9 +++++
|
...g-to-disable-external-intent-requests.grdp | 9 +++++
|
||||||
.../android/external_intents_features.cc | 6 ++++
|
.../android/external_intents_features.cc | 7 +++-
|
||||||
.../android/external_intents_features.h | 1 +
|
.../android/external_intents_features.h | 1 +
|
||||||
.../ExternalIntentsFeatures.java | 6 ++++
|
.../ExternalIntentsFeatures.java | 6 ++++
|
||||||
.../ExternalNavigationHandler.java | 21 ++++++++++++
|
.../ExternalNavigationHandler.java | 21 ++++++++++++
|
||||||
...ag-to-disable-external-intent-requests.inc | 13 ++++++++
|
...ag-to-disable-external-intent-requests.inc | 13 ++++++++
|
||||||
...t-Delete-block-external-form-redirects.inc | 15 +++++++++
|
...t-Delete-block-external-form-redirects.inc | 15 +++++++++
|
||||||
...ag-to-disable-external-intent-requests.inc | 3 ++
|
...ag-to-disable-external-intent-requests.inc | 3 ++
|
||||||
12 files changed, 119 insertions(+), 3 deletions(-)
|
12 files changed, 118 insertions(+), 3 deletions(-)
|
||||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAllowExternalIntentRequests.java
|
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAllowExternalIntentRequests.java
|
||||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-flag-to-disable-external-intent-requests.grdp
|
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-flag-to-disable-external-intent-requests.grdp
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-external-intent-requests.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-external-intent-requests.inc
|
||||||
@@ -32,7 +32,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
@@ -65,7 +65,12 @@ found in the LICENSE file.
|
@@ -81,7 +81,12 @@ found in the LICENSE file.
|
||||||
android:title="@string/settings_incognito_tab_lock_title"
|
android:title="@string/settings_incognito_tab_lock_title"
|
||||||
android:summary="@string/settings_incognito_tab_lock_summary_android_setting_off"
|
android:summary="@string/settings_incognito_tab_lock_summary_android_setting_off"
|
||||||
android:persistent="false" />
|
android:persistent="false" />
|
||||||
@@ -45,11 +45,11 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||||||
+ app:needRestart="false" />
|
+ app:needRestart="false" />
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="security_section"
|
android:key="security_section"
|
||||||
android:title="@string/security_section_title" />
|
android:title="@string/security_section_title" />
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
|
||||||
@@ -39,6 +39,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator;
|
@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator;
|
||||||
import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl;
|
import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl;
|
||||||
import org.chromium.chrome.browser.flags.ActivityType;
|
import org.chromium.chrome.browser.flags.ActivityType;
|
||||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||||
@@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||||||
import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
|
import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
|
||||||
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
|
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
|
||||||
import org.chromium.chrome.browser.init.ChromeActivityNativeDelegate;
|
import org.chromium.chrome.browser.init.ChromeActivityNativeDelegate;
|
||||||
@@ -167,6 +168,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory {
|
@@ -133,6 +134,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean shouldDisableAllExternalIntents() {
|
public boolean shouldDisableAllExternalIntents() {
|
||||||
@@ -68,30 +68,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
||||||
@@ -27,6 +27,7 @@ import org.chromium.base.ResettersForTesting;
|
@@ -20,6 +20,7 @@ import org.chromium.base.IntentUtils;
|
||||||
import org.chromium.build.annotations.NullMarked;
|
import org.chromium.base.PackageManagerUtils;
|
||||||
import org.chromium.build.annotations.Nullable;
|
import org.chromium.base.supplier.Supplier;
|
||||||
import org.chromium.chrome.browser.ChromeTabbedActivity2;
|
import org.chromium.chrome.browser.ChromeTabbedActivity2;
|
||||||
+import org.chromium.chrome.browser.flags.cromite.sAllowExternalIntentRequests;
|
+import org.chromium.chrome.browser.flags.cromite.sAllowExternalIntentRequests;
|
||||||
import org.chromium.chrome.browser.IntentHandler;
|
import org.chromium.chrome.browser.IntentHandler;
|
||||||
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
|
import org.chromium.chrome.browser.password_manager.CctPasswordSavingMetricsRecorderBridge;
|
||||||
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
|
import org.chromium.chrome.browser.safe_browsing.SafeBrowsingBridge;
|
||||||
@@ -139,7 +140,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
@@ -107,7 +108,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
||||||
@Override
|
|
||||||
public boolean shouldDisableExternalIntentRequestsForUrl(
|
|
||||||
ExternalNavigationParams params, Intent intent) {
|
|
||||||
- return false;
|
|
||||||
+ if ("tel".equals(params.getUrl().getScheme())) return false;
|
|
||||||
+ return !sAllowExternalIntentRequests.getInstance().isEnabled();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -320,7 +322,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
public boolean shouldDisableExternalIntentRequestsForUrl(GURL url) {
|
||||||
&& params.isInitialNavigationInFrame()
|
- return false;
|
||||||
// TODO(crbug.com/452537438): Figure out a better way to check whether we are in
|
+ if ("tel".equals(url.getScheme())) return false;
|
||||||
// desktop windowing mode or if the device can enter desktop windowing mode.
|
+ return !sAllowExternalIntentRequests.getInstance().isEnabled();
|
||||||
- && (DeviceInfo.isDesktop() || params.isInDesktopWindowingMode());
|
|
||||||
+ && (params.isInDesktopWindowingMode());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -150,21 +141,28 @@ new file mode 100644
|
|||||||
diff --git a/components/external_intents/android/external_intents_features.cc b/components/external_intents/android/external_intents_features.cc
|
diff --git a/components/external_intents/android/external_intents_features.cc b/components/external_intents/android/external_intents_features.cc
|
||||||
--- a/components/external_intents/android/external_intents_features.cc
|
--- a/components/external_intents/android/external_intents_features.cc
|
||||||
+++ b/components/external_intents/android/external_intents_features.cc
|
+++ b/components/external_intents/android/external_intents_features.cc
|
||||||
@@ -32,8 +32,14 @@ BASE_FEATURE(kExternalNavigationDebugLogs, base::FEATURE_DISABLED_BY_DEFAULT);
|
@@ -27,7 +27,6 @@ namespace {
|
||||||
BASE_FEATURE(kNavigationCaptureRefactorAndroid,
|
const base::Feature* const kFeaturesExposedToJava[] = {
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
&kExternalNavigationDebugLogs, &kBlockFrameRenavigations,
|
||||||
|
&kBlockIntentsToSelf, &kTrustedClientGestureBypass};
|
||||||
|
-
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
// Alphabetical:
|
||||||
|
@@ -48,7 +47,13 @@ BASE_FEATURE(kTrustedClientGestureBypass,
|
||||||
|
"TrustedClientGestureBypass",
|
||||||
|
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
|
|
||||||
+CROMITE_FEATURE(kIntentBlockExternalFormRedirectsNoGesture,
|
+CROMITE_FEATURE(kIntentBlockExternalFormRedirectsNoGesture,
|
||||||
+ "IntentBlockExternalFormRedirectsNoGesture",
|
+ "IntentBlockExternalFormRedirectsNoGesture",
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
+
|
+
|
||||||
static int64_t JNI_ExternalIntentsFeatures_GetFeature(JNIEnv* env,
|
static jlong JNI_ExternalIntentsFeatures_GetFeature(JNIEnv* env, jint ordinal) {
|
||||||
int32_t ordinal) {
|
|
||||||
+ if (ordinal == -1)
|
+ if (ordinal == -1)
|
||||||
+ return reinterpret_cast<int64_t>(&kIntentBlockExternalFormRedirectsNoGesture);
|
+ return reinterpret_cast<jlong>(&kIntentBlockExternalFormRedirectsNoGesture);
|
||||||
return reinterpret_cast<int64_t>(
|
return reinterpret_cast<jlong>(kFeaturesExposedToJava[ordinal]);
|
||||||
UNSAFE_TODO(kFeaturesExposedToJava[ordinal]));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/components/external_intents/android/external_intents_features.h b/components/external_intents/android/external_intents_features.h
|
diff --git a/components/external_intents/android/external_intents_features.h b/components/external_intents/android/external_intents_features.h
|
||||||
--- a/components/external_intents/android/external_intents_features.h
|
--- a/components/external_intents/android/external_intents_features.h
|
||||||
+++ b/components/external_intents/android/external_intents_features.h
|
+++ b/components/external_intents/android/external_intents_features.h
|
||||||
@@ -175,28 +173,28 @@ diff --git a/components/external_intents/android/external_intents_features.h b/c
|
|||||||
+BASE_DECLARE_FEATURE(kIntentBlockExternalFormRedirectsNoGesture);
|
+BASE_DECLARE_FEATURE(kIntentBlockExternalFormRedirectsNoGesture);
|
||||||
BASE_DECLARE_FEATURE(kExternalNavigationDebugLogs);
|
BASE_DECLARE_FEATURE(kExternalNavigationDebugLogs);
|
||||||
BASE_DECLARE_FEATURE(kBlockFrameRenavigations);
|
BASE_DECLARE_FEATURE(kBlockFrameRenavigations);
|
||||||
BASE_DECLARE_FEATURE(kNavigationCaptureRefactorAndroid);
|
BASE_DECLARE_FEATURE(kBlockIntentsToSelf);
|
||||||
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java
|
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java
|
||||||
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java
|
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java
|
||||||
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java
|
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java
|
||||||
@@ -19,6 +19,12 @@ import org.chromium.build.annotations.NullMarked;
|
@@ -18,6 +18,12 @@ import org.chromium.base.Features;
|
||||||
|
*/
|
||||||
@JNINamespace("external_intents")
|
@JNINamespace("external_intents")
|
||||||
@NullMarked
|
public class ExternalIntentsFeatures extends Features {
|
||||||
public class ExternalIntentsFeatures {
|
|
||||||
+ public static final String INTENT_BLOCK_EXTERNAL_FORM_REDIRECT_NO_GESTURE_NAME =
|
+ public static final String INTENT_BLOCK_EXTERNAL_FORM_REDIRECT_NO_GESTURE_NAME =
|
||||||
+ "IntentBlockExternalFormRedirectsNoGesture";
|
+ "IntentBlockExternalFormRedirectsNoGesture";
|
||||||
+
|
+
|
||||||
+ public static final ExternalIntentsFeature INTENT_BLOCK_EXTERNAL_FORM_REDIRECT_NO_GESTURE =
|
+ public static final ExternalIntentsFeatures INTENT_BLOCK_EXTERNAL_FORM_REDIRECT_NO_GESTURE =
|
||||||
+ new ExternalIntentsFeature(-1, INTENT_BLOCK_EXTERNAL_FORM_REDIRECT_NO_GESTURE_NAME);
|
+ new ExternalIntentsFeatures(-1, INTENT_BLOCK_EXTERNAL_FORM_REDIRECT_NO_GESTURE_NAME);
|
||||||
+
|
+
|
||||||
public static final String EXTERNAL_NAVIGATION_DEBUG_LOGS_NAME = "ExternalNavigationDebugLogs";
|
public static final String EXTERNAL_NAVIGATION_DEBUG_LOGS_NAME = "ExternalNavigationDebugLogs";
|
||||||
public static final String NAVIGATION_CAPTURE_REFACTOR_ANDROID_NAME =
|
public static final String BLOCK_FRAME_RENAVIGATIONS_NAME = "BlockFrameRenavigations3";
|
||||||
"NavigationCaptureRefactorAndroid";
|
public static final String BLOCK_INTENTS_TO_SELF_NAME = "BlockIntentsToSelf";
|
||||||
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
||||||
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
||||||
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
||||||
@@ -1793,6 +1793,12 @@ public class ExternalNavigationHandler implements ExternalNavigationHelper {
|
@@ -1529,6 +1529,12 @@ public class ExternalNavigationHandler {
|
||||||
return false;
|
|| ignoreBackForwardNav(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ /** Wrapper of check against the feature to support overriding for testing. */
|
+ /** Wrapper of check against the feature to support overriding for testing. */
|
||||||
@@ -208,7 +206,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component
|
|||||||
private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal(
|
private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal(
|
||||||
ExternalNavigationParams params,
|
ExternalNavigationParams params,
|
||||||
Intent targetIntent,
|
Intent targetIntent,
|
||||||
@@ -1880,6 +1886,21 @@ public class ExternalNavigationHandler implements ExternalNavigationHelper {
|
@@ -1585,6 +1591,21 @@ public class ExternalNavigationHandler {
|
||||||
return OverrideUrlLoadingResult.forNoOverride();
|
return OverrideUrlLoadingResult.forNoOverride();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||||
--- a/content/child/runtime_features.cc
|
--- a/content/child/runtime_features.cc
|
||||||
+++ b/content/child/runtime_features.cc
|
+++ b/content/child/runtime_features.cc
|
||||||
@@ -82,6 +82,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
|
@@ -104,6 +104,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
|
||||||
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) {
|
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) {
|
||||||
WebRuntimeFeatures::EnableMediaSession(false);
|
WebRuntimeFeatures::EnableMediaSession(false);
|
||||||
}
|
}
|
||||||
@@ -59,14 +59,14 @@ new file mode 100644
|
|||||||
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
|
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
|
||||||
--- a/third_party/blink/public/platform/web_runtime_features.h
|
--- a/third_party/blink/public/platform/web_runtime_features.h
|
||||||
+++ b/third_party/blink/public/platform/web_runtime_features.h
|
+++ b/third_party/blink/public/platform/web_runtime_features.h
|
||||||
@@ -70,6 +70,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase {
|
@@ -71,6 +71,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase {
|
||||||
static void EnableFingerprintingCanvasImageDataNoise(bool);
|
static void EnableFingerprintingCanvasImageDataNoise(bool);
|
||||||
static void EnableFluentScrollbars(bool);
|
static void EnableFluentScrollbars(bool);
|
||||||
static void EnableDesktopAndroidScrollbars(bool);
|
static void EnableFluentOverlayScrollbars(bool);
|
||||||
+ static void EnableVibration(bool);
|
+ static void EnableVibration(bool);
|
||||||
|
|
||||||
static void EnableLocalNetworkAccessWebRTC(bool);
|
WebRuntimeFeatures() = delete;
|
||||||
|
};
|
||||||
diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||||
--- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
--- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||||
+++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
+++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||||
@@ -104,7 +104,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
|
|||||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
@@ -1242,6 +1242,10 @@
|
@@ -858,6 +858,10 @@
|
||||||
{
|
{
|
||||||
name: "CompositingDecisionAtAnimationPhaseBoundaries"
|
name: "CompositingDecisionAtAnimationPhaseBoundaries"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -7,71 +7,49 @@ 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
|
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
build/config/compiler/BUILD.gn | 17 ++++++++++++++---
|
build/config/compiler/BUILD.gn | 11 ++++++++++-
|
||||||
build_overrides/build.gni | 5 +++++
|
build_overrides/build.gni | 3 +++
|
||||||
2 files changed, 19 insertions(+), 3 deletions(-)
|
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||||
--- a/build/config/compiler/BUILD.gn
|
--- a/build/config/compiler/BUILD.gn
|
||||||
+++ b/build/config/compiler/BUILD.gn
|
+++ b/build/config/compiler/BUILD.gn
|
||||||
@@ -681,7 +681,7 @@ config("compiler") {
|
@@ -1974,7 +1974,6 @@ config("default_warnings") {
|
||||||
# TODO(crbug.com/376278218): This causes segfault on Linux ARM builds.
|
# TODO(crbug.com/40284799): Fix and re-enable.
|
||||||
# It also causes segfault on Linux s390x:
|
"-Wno-thread-safety-reference-return",
|
||||||
# https://github.com/llvm/llvm-project/issues/149511
|
]
|
||||||
- if (is_linux && use_lld && current_cpu != "arm" && current_cpu != "s390x") {
|
|
||||||
+ if (is_linux && !skip_clangd_unsupported_options && use_lld && current_cpu != "arm" && current_cpu != "s390x") {
|
|
||||||
cflags += [ "-Wa,--crel,--allow-experimental-crel" ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1886,7 +1886,7 @@ config("clang_revision") {
|
|
||||||
# e.g. by setting in the the project's .gn file.
|
|
||||||
config("clang_warning_suppression") {
|
|
||||||
# Some build configs use older versions of clang that don't support WSMs
|
|
||||||
- if (use_clang_warning_suppression_file) {
|
|
||||||
+ if (use_clang_warning_suppression_file && !skip_clangd_unsupported_options) {
|
|
||||||
from_build_root =
|
|
||||||
rebase_path(clang_warning_suppression_file, root_build_dir)
|
|
||||||
inputs = [ clang_warning_suppression_file ]
|
|
||||||
@@ -2283,7 +2283,9 @@ config("default_warnings") {
|
|
||||||
# TODO(crbug.com/432275627): Fix and re-enable.
|
|
||||||
"-Wno-uninitialized-const-pointer",
|
|
||||||
]
|
|
||||||
-
|
-
|
||||||
+ if (skip_clangd_unsupported_options) {
|
cflags_cc += [
|
||||||
+ cflags -= [ "-Wno-uninitialized-const-pointer" ]
|
# TODO(crbug.com/328490295): Fix and re-enable for C flags.
|
||||||
+ }
|
"-Wenum-compare-conditional",
|
||||||
cflags_cc += [
|
@@ -1992,6 +1991,16 @@ config("default_warnings") {
|
||||||
# TODO(crbug.com/328490295): Fix and re-enable for C flags.
|
# TODO(crbug.com/376641662): Fix and re-enable.
|
||||||
"-Wenum-compare-conditional",
|
cflags += [ "-Wno-nontrivial-memcall" ]
|
||||||
@@ -2337,6 +2339,15 @@ config("default_warnings") {
|
}
|
||||||
ldflags += [ "-Wno-version-check" ]
|
+ if (skip_clangd_unsupported_options) {
|
||||||
|
+ cflags -= [
|
||||||
|
+ "-Wno-thread-safety-reference-return",
|
||||||
|
+ "-Wno-nontrivial-memcall",
|
||||||
|
+ ]
|
||||||
|
+ cflags_cc -= [
|
||||||
|
+ "-Wno-c++11-narrowing-const-reference",
|
||||||
|
+ "-Wno-missing-template-arg-list-after-template-kw",
|
||||||
|
+ ]
|
||||||
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (skip_clangd_unsupported_options) {
|
# Some builders, such as Cronet, use a different version of Clang than
|
||||||
+ cflags -= [
|
|
||||||
+ "-Wno-thread-safety-reference-return",
|
|
||||||
+ "-Wno-nontrivial-memcall",
|
|
||||||
+ ]
|
|
||||||
+ cflags_cc -= [
|
|
||||||
+ ]
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
# Disable the GNU line marker warning when building a target with Icecc,
|
|
||||||
# ccache, or both. This warning appears frequently when compiling
|
|
||||||
# files that use GNU-style line markers with Clang and Icecc. It can
|
|
||||||
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
|
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
|
||||||
--- a/build_overrides/build.gni
|
--- a/build_overrides/build.gni
|
||||||
+++ b/build_overrides/build.gni
|
+++ b/build_overrides/build.gni
|
||||||
@@ -54,6 +54,11 @@ declare_args() {
|
@@ -54,6 +54,9 @@ declare_args() {
|
||||||
gtest_enable_absl_printers = true
|
# to lack of toolchain support.
|
||||||
}
|
gtest_enable_absl_printers = !is_nacl
|
||||||
|
|
||||||
+declare_args() {
|
|
||||||
+ # Allows clangd builds by suppressing unsupported parameters
|
+ # Allows clangd builds by suppressing unsupported parameters
|
||||||
+ skip_clangd_unsupported_options = false
|
+ skip_clangd_unsupported_options = false
|
||||||
+}
|
|
||||||
+
|
+
|
||||||
# Features used by //base/trace_event.
|
# Allow projects that wish to stay on C++17 to override Chromium's default.
|
||||||
declare_args() {
|
# TODO(crbug.com/40251117): evaluate removing this end of 2023
|
||||||
# Use Perfetto's trace processor for converting protobuf-encoded traces to
|
use_cxx17 = false
|
||||||
--
|
--
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -4,30 +4,45 @@ Subject: Add menu item to view source
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/android/java/res/values/ids.xml | 1 +
|
.../android/java/res/menu/custom_tabs_menu.xml | 3 +++
|
||||||
.../chrome/browser/ChromeTabbedActivity.java | 2 ++
|
chrome/android/java/res/menu/main_menu.xml | 3 +++
|
||||||
.../chrome/browser/app/ChromeActivity.java | 5 ++++
|
.../chrome/browser/ChromeTabbedActivity.java | 2 ++
|
||||||
.../AppMenuPropertiesDelegateImpl.java | 24 +++++++++++++++++++
|
.../chrome/browser/app/ChromeActivity.java | 5 +++++
|
||||||
.../CustomTabAppMenuPropertiesDelegate.java | 3 +++
|
.../appmenu/AppMenuPropertiesDelegateImpl.java | 18 ++++++++++++++++++
|
||||||
.../TabbedAppMenuPropertiesDelegate.java | 3 +++
|
.../CustomTabAppMenuPropertiesDelegate.java | 1 +
|
||||||
.../strings/android_chrome_strings.grd | 4 ++++
|
.../android/strings/android_chrome_strings.grd | 4 ++++
|
||||||
7 files changed, 42 insertions(+)
|
7 files changed, 36 insertions(+)
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
|
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||||
--- a/chrome/android/java/res/values/ids.xml
|
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||||
+++ b/chrome/android/java/res/values/ids.xml
|
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||||
@@ -138,6 +138,7 @@ found in the LICENSE file.
|
@@ -58,6 +58,9 @@ found in the LICENSE file.
|
||||||
<item type="id" name="update_menu_id" />
|
<item android:id="@+id/universal_install"
|
||||||
<item type="id" name="new_tab_menu_id" />
|
android:title="@string/menu_add_to_homescreen"
|
||||||
<item type="id" name="new_incognito_tab_menu_id" />
|
android:orderInCategory="2" />
|
||||||
+ <item type="id" name="view_source_id" />
|
+ <item android:id="@+id/view_source_id"
|
||||||
<item type="id" name="add_to_group_menu_id" />
|
+ android:title="@string/view_source"
|
||||||
<item type="id" name="pin_tab_menu_id" />
|
+ android:orderInCategory="2" />
|
||||||
<item type="id" name="unpin_tab_menu_id" />
|
<item android:id="@+id/open_webapk_id"
|
||||||
|
android:title="@string/menu_open_webapk"
|
||||||
|
android:orderInCategory="2" />
|
||||||
|
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||||
|
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||||
|
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||||
|
@@ -119,6 +119,9 @@ found in the LICENSE file.
|
||||||
|
<item android:id="@+id/universal_install"
|
||||||
|
android:title="@string/menu_add_to_homescreen"
|
||||||
|
android:icon="@drawable/ic_add_to_home_screen" />
|
||||||
|
+ <item android:id="@+id/view_source_id"
|
||||||
|
+ android:title="@string/view_source"
|
||||||
|
+ android:icon="@drawable/ic_drive_document_24dp" />
|
||||||
|
<item android:id="@+id/open_webapk_id"
|
||||||
|
android:title="@string/menu_open_webapk"
|
||||||
|
android:icon="@drawable/ic_open_webapk" />
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
@@ -4225,6 +4225,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
@@ -3086,6 +3086,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements MismatchedIn
|
||||||
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
|
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
|
||||||
}
|
}
|
||||||
RecordUserAction.record("MobileMenuDownloadManager");
|
RecordUserAction.record("MobileMenuDownloadManager");
|
||||||
@@ -35,12 +50,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||||||
+ currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrl().getSpec()));
|
+ currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrl().getSpec()));
|
||||||
} else if (id == R.id.open_recently_closed_tab) {
|
} else if (id == R.id.open_recently_closed_tab) {
|
||||||
TabModel currentModel = mTabModelSelector.getCurrentModel();
|
TabModel currentModel = mTabModelSelector.getCurrentModel();
|
||||||
if (!currentModel.isIncognito()) {
|
if (!currentModel.isIncognito()) currentModel.openMostRecentlyClosedEntry();
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
@@ -2884,6 +2884,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
@@ -2524,6 +2524,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||||
return AppInstallMenuHandler.doOpenWebApk(this, currentTab);
|
return doOpenWebApk(currentTab);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (id == R.id.view_source_id) {
|
+ if (id == R.id.view_source_id) {
|
||||||
@@ -54,8 +69,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||||
@@ -1076,6 +1076,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
|
@@ -580,6 +580,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||||
return false;
|
isNativePage, isFileScheme, isContentScheme, isIncognito, url));
|
||||||
|
|
||||||
|
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isNativePage);
|
||||||
|
+ updateViewSourceMenuItem(menu, currentTab);
|
||||||
|
|
||||||
|
updateAutoDarkMenuItem(menu, currentTab, isNativePage);
|
||||||
|
|
||||||
|
@@ -1293,6 +1294,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||||
|
findInPageMenuRow.setVisible(itemVisible);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ /**
|
+ /**
|
||||||
@@ -64,58 +87,36 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
|||||||
+ * @param menu {@link Menu} for view source.
|
+ * @param menu {@link Menu} for view source.
|
||||||
+ * @param currentTab Current tab being displayed.
|
+ * @param currentTab Current tab being displayed.
|
||||||
+ */
|
+ */
|
||||||
+ protected void buildAddViewSourceItem(
|
+ protected void updateViewSourceMenuItem(
|
||||||
+ MVCListAdapter.ModelList modelList,
|
+ Menu menu, Tab currentTab) {
|
||||||
+ @Nullable Tab currentTab) {
|
+ MenuItem viewSourceMenuItem = menu.findItem(R.id.view_source_id);
|
||||||
+ boolean visible = false;
|
+ boolean visible = false;
|
||||||
+ if (currentTab != null) {
|
+ if (currentTab != null) {
|
||||||
+ String url = currentTab.getUrl().getSpec();
|
+ String url = currentTab.getUrl().getSpec();
|
||||||
+ visible = !url.isEmpty() && !url.startsWith("view-source:");
|
+ visible = !url.isEmpty() && !url.startsWith("view-source:");
|
||||||
+ }
|
|
||||||
+ if (visible) {
|
|
||||||
+ modelList.add(new MVCListAdapter.ListItem(
|
|
||||||
+ AppMenuHandler.AppMenuItemType.STANDARD,
|
|
||||||
+ buildModelForStandardMenuItem(
|
|
||||||
+ R.id.view_source_id,
|
|
||||||
+ R.string.view_source,
|
|
||||||
+ shouldShowIconBeforeItem() ? R.drawable.ic_drive_document_24dp : 0)));
|
|
||||||
+ }
|
+ }
|
||||||
|
+ viewSourceMenuItem.setVisible(visible);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* Updates the bookmark item's visibility.
|
* Updates the request desktop site item's state.
|
||||||
*
|
*
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||||
@@ -412,6 +412,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
@@ -303,6 +303,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||||
modelList.add(buildOpenInAppItem());
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // Add view source item
|
updateRequestDesktopSiteMenuItem(
|
||||||
+ buildAddViewSourceItem(modelList, currentTab);
|
menu, currentTab, requestDesktopSiteVisible, isNativePage);
|
||||||
+
|
+ updateViewSourceMenuItem(menu, currentTab);
|
||||||
// --- Request Desktop Site ---
|
prepareAddToHomescreenMenuItem(menu, currentTab, addToHomeScreenVisible);
|
||||||
if (requestDesktopSiteVisible) {
|
|
||||||
MVCListAdapter.ListItem rdsListItem =
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
|
||||||
@@ -438,6 +438,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
|
||||||
modelList.add(buildOpenInAppItem());
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
+ // Add view source item
|
|
||||||
+ buildAddViewSourceItem(modelList, currentTab);
|
|
||||||
+
|
|
||||||
// RDS
|
|
||||||
MVCListAdapter.ListItem rdsListItem =
|
|
||||||
maybeBuildRequestDesktopSiteListItem(
|
|
||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -355,6 +355,10 @@ CHAR_LIMIT guidelines:
|
@@ -315,6 +315,10 @@ CHAR_LIMIT guidelines:
|
||||||
Chrome finds
|
Collaboration
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
+ <message name="IDS_VIEW_SOURCE" desc="Title for the menu command to view the source of the current page. [CHAR-LIMIT=40]">
|
+ <message name="IDS_VIEW_SOURCE" desc="Title for the menu command to view the source of the current page. [CHAR-LIMIT=40]">
|
||||||
|
|||||||
@@ -15,12 +15,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
||||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
||||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
||||||
@@ -536,7 +536,12 @@ class TabGridViewBinder {
|
@@ -408,7 +408,12 @@ class TabGridViewBinder {
|
||||||
|
if (result != null) {
|
||||||
TabUtils.setDrawableAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
|
TabUtils.setDrawableAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
|
||||||
} else {
|
} else {
|
||||||
thumbnail.setThumbnailViewState(ThumbnailViewState.PLACEHOLDER_LOADED);
|
|
||||||
- thumbnail.setImageDrawable(null);
|
- thumbnail.setImageDrawable(null);
|
||||||
+ TabFavicon tabFavicon = model.get(TabProperties.FAVICON);
|
+ TabListFaviconProvider.TabFavicon tabFavicon = model.get(TabProperties.FAVICON);
|
||||||
+ if (tabFavicon != null) {
|
+ if (tabFavicon != null) {
|
||||||
+ thumbnail.setScaleType(ImageView.ScaleType.CENTER);
|
+ thumbnail.setScaleType(ImageView.ScaleType.CENTER);
|
||||||
+ thumbnail.setImageDrawable(
|
+ thumbnail.setImageDrawable(
|
||||||
@@ -29,10 +29,10 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
if (sThumbnailFetcherForTesting != null) {
|
if (sThumbnailFetcherForTesting != null) {
|
||||||
@@ -574,6 +579,7 @@ class TabGridViewBinder {
|
@@ -449,6 +454,7 @@ class TabGridViewBinder {
|
||||||
*/
|
*/
|
||||||
private static void setFavicon(
|
private static void setFavicon(
|
||||||
ImageView faviconView, PropertyModel model, @Nullable TabFavicon favicon) {
|
ImageView faviconView, PropertyModel model, TabListFaviconProvider.TabFavicon favicon) {
|
||||||
+ model.set(TabProperties.FAVICON, favicon);
|
+ model.set(TabProperties.FAVICON, favicon);
|
||||||
if (favicon == null) {
|
if (favicon == null) {
|
||||||
faviconView.setImageDrawable(null);
|
faviconView.setImageDrawable(null);
|
||||||
@@ -40,7 +40,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|||||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
||||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
||||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
||||||
@@ -131,6 +131,9 @@ public class TabProperties {
|
@@ -72,6 +72,9 @@ public class TabProperties {
|
||||||
public static final WritableBooleanPropertyKey FAVICON_FETCHED =
|
public static final WritableBooleanPropertyKey FAVICON_FETCHED =
|
||||||
new WritableBooleanPropertyKey();
|
new WritableBooleanPropertyKey();
|
||||||
|
|
||||||
@@ -50,15 +50,15 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|||||||
/** Property for lazily fetching favicons when required by an item in a UI. */
|
/** Property for lazily fetching favicons when required by an item in a UI. */
|
||||||
public static final WritableObjectPropertyKey<TabListFaviconProvider.TabFaviconFetcher>
|
public static final WritableObjectPropertyKey<TabListFaviconProvider.TabFaviconFetcher>
|
||||||
FAVICON_FETCHER = new WritableObjectPropertyKey<>();
|
FAVICON_FETCHER = new WritableObjectPropertyKey<>();
|
||||||
@@ -233,6 +236,7 @@ public class TabProperties {
|
@@ -155,6 +158,7 @@ public class TabProperties {
|
||||||
CARD_TYPE,
|
CARD_TYPE,
|
||||||
CONTENT_DESCRIPTION_TEXT_RESOLVER,
|
CONTENT_DESCRIPTION_TEXT_RESOLVER,
|
||||||
ACTION_BUTTON_DESCRIPTION_TEXT_RESOLVER,
|
ACTION_BUTTON_DESCRIPTION_TEXT_RESOLVER,
|
||||||
+ FAVICON,
|
+ FAVICON,
|
||||||
|
SHOPPING_PERSISTED_TAB_DATA_FETCHER,
|
||||||
|
SHOULD_SHOW_PRICE_DROP_TOOLTIP,
|
||||||
QUICK_DELETE_ANIMATION_STATUS,
|
QUICK_DELETE_ANIMATION_STATUS,
|
||||||
TAB_GROUP_COLOR_VIEW_PROVIDER,
|
@@ -173,6 +177,7 @@ public class TabProperties {
|
||||||
TAB_GROUP_CARD_COLOR,
|
|
||||||
@@ -274,6 +278,7 @@ public class TabProperties {
|
|
||||||
TAB_ACTION_BUTTON_DATA,
|
TAB_ACTION_BUTTON_DATA,
|
||||||
FAVICON_FETCHED,
|
FAVICON_FETCHED,
|
||||||
FAVICON_FETCHER,
|
FAVICON_FETCHER,
|
||||||
@@ -69,7 +69,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|||||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
@@ -61,6 +61,11 @@ found in the LICENSE file.
|
@@ -77,6 +77,11 @@ found in the LICENSE file.
|
||||||
android:title="@string/open_external_links_incognito_title"
|
android:title="@string/open_external_links_incognito_title"
|
||||||
android:summary="@string/open_external_links_incognito_summary"
|
android:summary="@string/open_external_links_incognito_summary"
|
||||||
android:defaultValue="false" />
|
android:defaultValue="false" />
|
||||||
@@ -84,19 +84,19 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
@@ -161,6 +161,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
@@ -139,6 +139,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||||
|
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||||
import org.chromium.chrome.browser.preferences.Pref;
|
import org.chromium.chrome.browser.preferences.Pref;
|
||||||
import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory;
|
|
||||||
import org.chromium.chrome.browser.printing.TabPrinter;
|
import org.chromium.chrome.browser.printing.TabPrinter;
|
||||||
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
|
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
|
||||||
import org.chromium.chrome.browser.profiles.Profile;
|
import org.chromium.chrome.browser.profiles.Profile;
|
||||||
import org.chromium.chrome.browser.profiles.ProfileManager;
|
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||||
import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
|
import org.chromium.chrome.browser.profiles.ProfileProvider;
|
||||||
@@ -699,7 +700,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
@@ -612,7 +613,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||||
new TabContentManager(
|
new TabContentManager(
|
||||||
this,
|
this,
|
||||||
mBrowserControlsManagerSupplier.get(),
|
mBrowserControlsManagerSupplier.get(),
|
||||||
- /* snapshotsEnabled= */ true,
|
- !TabUiFeatureUtilities.shouldUseListMode(),
|
||||||
+ !TabUiFeatureUtilities.shouldUseListMode()
|
+ !TabUiFeatureUtilities.shouldUseListMode()
|
||||||
+ && !ContextUtils.getAppSharedPreferences().getBoolean(PrivacySettings.PREF_TABGRID_USE_ICONS, false),
|
+ && !ContextUtils.getAppSharedPreferences().getBoolean(PrivacySettings.PREF_TABGRID_USE_ICONS, false),
|
||||||
tabModelSelector != null ? tabModelSelector::getTabById : null,
|
tabModelSelector != null ? tabModelSelector::getTabById : null,
|
||||||
@@ -105,15 +105,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
@@ -31,6 +31,7 @@ import org.chromium.base.ContextUtils;
|
@@ -21,6 +21,7 @@ import androidx.preference.Preference;
|
||||||
import org.chromium.base.IntentUtils;
|
|
||||||
import org.chromium.base.metrics.RecordHistogram;
|
import org.chromium.base.metrics.RecordHistogram;
|
||||||
import org.chromium.base.metrics.RecordUserAction;
|
import org.chromium.base.metrics.RecordUserAction;
|
||||||
+import java.util.function.Supplier;
|
+import org.chromium.base.supplier.Supplier;
|
||||||
import org.chromium.base.supplier.MonotonicObservableSupplier;
|
import org.chromium.base.supplier.ObservableSupplier;
|
||||||
import org.chromium.base.supplier.ObservableSuppliers;
|
import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||||
import org.chromium.base.supplier.SettableMonotonicObservableSupplier;
|
import org.chromium.base.ContextUtils;
|
||||||
@@ -107,13 +108,27 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
@@ -78,12 +79,26 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||||
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
||||||
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
|
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
|
||||||
|
|
||||||
@@ -126,7 +126,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/** Fragment to keep track of the all the privacy related preferences. */
|
/** Fragment to keep track of the all the privacy related preferences. */
|
||||||
@NullMarked
|
|
||||||
public class PrivacySettings extends ChromeBaseSettingsFragment
|
public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
- implements Preference.OnPreferenceChangeListener {
|
- implements Preference.OnPreferenceChangeListener {
|
||||||
+ implements Preference.OnPreferenceChangeListener, INeedSnackbarManager {
|
+ implements Preference.OnPreferenceChangeListener, INeedSnackbarManager {
|
||||||
@@ -142,10 +141,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
|
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
|
||||||
private static final String PREF_PRELOAD_PAGES = "preload_pages";
|
private static final String PREF_PRELOAD_PAGES = "preload_pages";
|
||||||
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
|
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
|
||||||
@@ -206,6 +221,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -170,6 +185,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
if (shouldHideSandboxPref(privacySandboxBridge)) {
|
}
|
||||||
getPreferenceScreen().removePreference(sandboxPreference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
+ mSnackbar = Snackbar.make(getActivity().getString(R.string.ui_relaunch_notice),
|
+ mSnackbar = Snackbar.make(getActivity().getString(R.string.ui_relaunch_notice),
|
||||||
+ new SnackbarManager.SnackbarController() {
|
+ new SnackbarManager.SnackbarController() {
|
||||||
+ @Override
|
+ @Override
|
||||||
@@ -156,7 +155,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
+ ApplicationLifetime.terminate(true);
|
+ ApplicationLifetime.terminate(true);
|
||||||
+ }
|
+ }
|
||||||
+ }, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_UNKNOWN)
|
+ }, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_UNKNOWN)
|
||||||
+ .setDefaultLines(false)
|
+ .setSingleLine(false)
|
||||||
+ .setAction(getActivity().getString(R.string.relaunch),
|
+ .setAction(getActivity().getString(R.string.relaunch),
|
||||||
+ /*actionData*/null)
|
+ /*actionData*/null)
|
||||||
+ .setDuration(/*durationMs*/70000);
|
+ .setDuration(/*durationMs*/70000);
|
||||||
@@ -164,7 +163,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
|
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
|
||||||
// Record the launch of PG from the S&P link-row entry point
|
// Record the launch of PG from the S&P link-row entry point
|
||||||
privacyGuidePreference.setOnPreferenceClickListener(
|
privacyGuidePreference.setOnPreferenceClickListener(
|
||||||
@@ -477,6 +507,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -392,6 +422,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
|
|
||||||
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
|
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
|
||||||
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
|
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
|
||||||
@@ -172,7 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
@@ -523,6 +554,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -438,6 +469,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||||
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
|
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
|
||||||
sharedPreferencesEditor.apply();
|
sharedPreferencesEditor.apply();
|
||||||
@@ -186,7 +185,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -573,6 +611,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -504,6 +542,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
: R.string.text_off);
|
: R.string.text_off);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,7 +199,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -6691,6 +6691,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
@@ -5954,6 +5954,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||||
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
|
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
|
|||||||
@@ -6,43 +6,43 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
---
|
---
|
||||||
.../layout/custom_tabs_control_container.xml | 2 +-
|
.../layout/custom_tabs_control_container.xml | 2 +-
|
||||||
.../java/res/layout/recent_tabs_page.xml | 2 +-
|
.../java/res/layout/recent_tabs_page.xml | 2 +-
|
||||||
.../java/res/values-sw600dp/dimens.xml | 3 ++-
|
.../java/res/values-sw600dp/dimens.xml | 4 ++--
|
||||||
chrome/android/java/res/values/dimens.xml | 3 ++-
|
chrome/android/java/res/values/dimens.xml | 6 +++++-
|
||||||
.../browser/ChromeBaseAppCompatActivity.java | 3 +++
|
.../browser/ChromeBaseAppCompatActivity.java | 3 +++
|
||||||
.../chrome/browser/WarmupManager.java | 7 +++++--
|
.../chrome/browser/WarmupManager.java | 5 ++++-
|
||||||
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
|
.../ChromeAccessibilitySettingsDelegate.java | 19 ++++++++++++++++++
|
||||||
.../chrome/browser/app/ChromeActivity.java | 5 ++++-
|
.../chrome/browser/app/ChromeActivity.java | 4 +++-
|
||||||
.../overlays/strip/StripLayoutHelper.java | 1 +
|
.../overlays/strip/StripLayoutHelper.java | 10 ++++++++--
|
||||||
.../strip/StripLayoutHelperManager.java | 6 +++++-
|
.../strip/StripLayoutHelperManager.java | 6 +++++-
|
||||||
.../scene_layer/TabStripSceneLayer.java | 8 ++++++++
|
|
||||||
.../init/ChromeBrowserInitializer.java | 2 ++
|
.../init/ChromeBrowserInitializer.java | 2 ++
|
||||||
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +++-
|
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +++-
|
||||||
.../chrome/browser/ui/RootUiCoordinator.java | 6 +++++-
|
.../chrome/browser/ui/RootUiCoordinator.java | 6 +++++-
|
||||||
chrome/browser/preferences/BUILD.gn | 1 +
|
chrome/browser/preferences/BUILD.gn | 1 +
|
||||||
.../preferences/ChromePreferenceKeys.java | 1 +
|
.../preferences/ChromePreferenceKeys.java | 1 +
|
||||||
.../preferences/ChromeSharedPreferences.java | 12 ++++++++++++
|
.../preferences/ChromeSharedPreferences.java | 12 +++++++++++
|
||||||
.../LegacyChromePreferenceKeys.java | 1 +
|
.../LegacyChromePreferenceKeys.java | 1 +
|
||||||
.../ui/desktop_windowing/AppHeaderUtils.java | 2 ++
|
.../AppHeaderCoordinator.java | 2 ++
|
||||||
.../omnibox/LocationBarCoordinator.java | 2 +-
|
.../omnibox/LocationBarCoordinator.java | 2 +-
|
||||||
.../strings/android_chrome_strings.grd | 7 +++++++
|
.../strings/android_chrome_strings.grd | 7 +++++++
|
||||||
.../java/res/layout/control_container.xml | 8 ++++----
|
.../java/res/layout/control_container.xml | 8 ++++----
|
||||||
.../java/res/layout/toolbar_tablet.xml | 2 +-
|
.../java/res/layout/toolbar_tablet.xml | 2 +-
|
||||||
.../java/res/values-sw600dp/dimens.xml | 5 +++--
|
.../java/res/values-sw600dp/dimens.xml | 5 +++--
|
||||||
.../toolbar/java/res/values/dimens.xml | 6 ++++--
|
.../toolbar/java/res/values/dimens.xml | 6 ++++--
|
||||||
.../toolbar/top/ToolbarControlContainer.java | 6 ++++++
|
.../browser/toolbar/ControlContainer.java | 2 +-
|
||||||
|
.../toolbar/top/ToolbarControlContainer.java | 20 ++++++++++++++++++-
|
||||||
.../browser/toolbar/top/ToolbarLayout.java | 5 ++++-
|
.../browser/toolbar/top/ToolbarLayout.java | 5 ++++-
|
||||||
.../tab_strip/HeightTransitionHandler.java | 2 ++
|
.../tab_strip/HeightTransitionHandler.java | 2 ++
|
||||||
.../TabStripTransitionCoordinator.java | 6 +++++-
|
.../TabStripTransitionCoordinator.java | 6 +++++-
|
||||||
.../res/xml/accessibility_preferences.xml | 5 +++++
|
.../res/xml/accessibility_preferences.xml | 5 +++++
|
||||||
.../accessibility/AccessibilitySettings.java | 13 +++++++++++++
|
.../accessibility/AccessibilitySettings.java | 13 ++++++++++++
|
||||||
.../AccessibilitySettingsDelegate.java | 2 ++
|
.../AccessibilitySettingsDelegate.java | 2 ++
|
||||||
.../chromium/ui/base/DeviceFormFactor.java | 14 ++++++++++++++
|
.../chromium/ui/base/DeviceFormFactor.java | 14 +++++++++++++
|
||||||
33 files changed, 149 insertions(+), 22 deletions(-)
|
33 files changed, 163 insertions(+), 26 deletions(-)
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/layout/custom_tabs_control_container.xml b/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
diff --git a/chrome/android/java/res/layout/custom_tabs_control_container.xml b/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
||||||
--- a/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
--- a/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
||||||
+++ b/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
+++ b/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
||||||
@@ -31,7 +31,7 @@ found in the LICENSE file.
|
@@ -32,7 +32,7 @@ found in the LICENSE file.
|
||||||
android:id="@+id/find_toolbar_stub"
|
android:id="@+id/find_toolbar_stub"
|
||||||
android:inflatedId="@+id/find_toolbar"
|
android:inflatedId="@+id/find_toolbar"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
@@ -66,41 +66,47 @@ diff --git a/chrome/android/java/res/layout/recent_tabs_page.xml b/chrome/androi
|
|||||||
diff --git a/chrome/android/java/res/values-sw600dp/dimens.xml b/chrome/android/java/res/values-sw600dp/dimens.xml
|
diff --git a/chrome/android/java/res/values-sw600dp/dimens.xml b/chrome/android/java/res/values-sw600dp/dimens.xml
|
||||||
--- a/chrome/android/java/res/values-sw600dp/dimens.xml
|
--- a/chrome/android/java/res/values-sw600dp/dimens.xml
|
||||||
+++ b/chrome/android/java/res/values-sw600dp/dimens.xml
|
+++ b/chrome/android/java/res/values-sw600dp/dimens.xml
|
||||||
@@ -14,7 +14,8 @@ found in the LICENSE file.
|
@@ -14,8 +14,8 @@ found in the LICENSE file.
|
||||||
<dimen name="compositor_tab_title_text_size">14sp</dimen>
|
<dimen name="compositor_tab_title_text_size">14sp</dimen>
|
||||||
|
|
||||||
<!-- Full Screen Dimensions -->
|
<!-- Full Screen Dimensions -->
|
||||||
- <dimen name="control_container_height">96dp</dimen>
|
- <dimen name="control_container_height">96dp</dimen>
|
||||||
|
- <dimen name="custom_tabs_control_container_height">64dp</dimen>
|
||||||
+ <dimen name="control_container_height_cromite">96dp</dimen>
|
+ <dimen name="control_container_height_cromite">96dp</dimen>
|
||||||
+ <dimen name="control_container_height_tabletui">56dp</dimen>
|
+ <dimen name="control_container_height_tabletui">96dp</dimen>
|
||||||
|
|
||||||
<!-- NTP dimensions -->
|
<!-- NTP dimensions -->
|
||||||
<dimen name="ntp_search_box_transition_start_offset">60dp</dimen>
|
<dimen name="ntp_search_box_transition_start_offset">60dp</dimen>
|
||||||
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
|
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
|
||||||
--- a/chrome/android/java/res/values/dimens.xml
|
--- a/chrome/android/java/res/values/dimens.xml
|
||||||
+++ b/chrome/android/java/res/values/dimens.xml
|
+++ b/chrome/android/java/res/values/dimens.xml
|
||||||
@@ -116,7 +116,8 @@ found in the LICENSE file.
|
@@ -117,9 +117,13 @@ found in the LICENSE file.
|
||||||
<dimen name="signin_screen_top_padding">50dp</dimen>
|
<dimen name="tab_modal_scrim_vertical_margin">16dp</dimen>
|
||||||
|
|
||||||
<!-- Should match toolbar_height_no_shadow -->
|
<!-- Should match toolbar_height_no_shadow -->
|
||||||
- <dimen name="control_container_height">@dimen/default_action_bar_height</dimen>
|
- <dimen name="control_container_height">@dimen/default_action_bar_height</dimen>
|
||||||
+ <dimen name="control_container_height_cromite">@dimen/default_action_bar_height</dimen>
|
+ <dimen name="control_container_height_cromite">@dimen/default_action_bar_height</dimen>
|
||||||
+ <dimen name="control_container_height_tabletui">56dp</dimen>
|
+ <dimen name="control_container_height_tabletui">96dp</dimen>
|
||||||
<dimen name="custom_tabs_control_container_height">@dimen/default_action_bar_height</dimen>
|
<dimen name="custom_tabs_control_container_height">@dimen/default_action_bar_height</dimen>
|
||||||
|
|
||||||
|
+ <!-- The combined height of the tab strip and toolbar. -->
|
||||||
|
+ <dimen name="tab_strip_and_toolbar_height_cromite">56dp</dimen>
|
||||||
|
+
|
||||||
<!-- Find in Page dimensions -->
|
<!-- Find in Page dimensions -->
|
||||||
|
<dimen name="find_in_page_popup_width">375dp</dimen>
|
||||||
|
<dimen name="find_in_page_popup_height">64dp</dimen>
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||||
@@ -65,6 +65,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
|
@@ -58,6 +58,7 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats;
|
||||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeControllerCreator;
|
import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder;
|
||||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeFieldTrialImpl;
|
import org.chromium.chrome.browser.night_mode.NightModeStateProvider;
|
||||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
|
import org.chromium.chrome.browser.night_mode.NightModeUtils;
|
||||||
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||||
import org.chromium.chrome.browser.ui.edge_to_edge.SimpleEdgeToEdgeController;
|
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
|
||||||
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeManager;
|
||||||
import org.chromium.components.browser_ui.util.AutomotiveUtils;
|
import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeStateProvider;
|
||||||
@@ -154,6 +155,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
|
@@ -131,6 +132,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
|
||||||
protected void attachBaseContext(Context newBase) {
|
protected void attachBaseContext(Context newBase) {
|
||||||
super.attachBaseContext(newBase);
|
super.attachBaseContext(newBase);
|
||||||
|
|
||||||
@@ -112,31 +118,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||||
@@ -64,6 +64,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer;
|
@@ -63,6 +63,7 @@ import org.chromium.content_public.browser.WebContents;
|
||||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
import org.chromium.content_public.browser.WebContentsObserver;
|
||||||
import org.chromium.content_public.browser.WebContents;
|
import org.chromium.net.NetId;
|
||||||
import org.chromium.ui.LayoutInflaterUtils;
|
import org.chromium.ui.LayoutInflaterUtils;
|
||||||
+import org.chromium.ui.base.DeviceFormFactor;
|
+import org.chromium.ui.base.DeviceFormFactor;
|
||||||
import org.chromium.ui.base.WindowAndroid;
|
import org.chromium.ui.base.WindowAndroid;
|
||||||
import org.chromium.ui.display.DisplayUtil;
|
import org.chromium.ui.display.DisplayUtil;
|
||||||
import org.chromium.url.GURL;
|
import org.chromium.url.GURL;
|
||||||
@@ -475,8 +476,10 @@ public class WarmupManager {
|
@@ -476,7 +477,9 @@ public class WarmupManager {
|
||||||
ControlContainer controlContainer = mainView.findViewById(R.id.control_container);
|
ControlContainer controlContainer = mainView.findViewById(R.id.control_container);
|
||||||
|
|
||||||
if (toolbarId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
|
if (toolbarId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
|
||||||
- controlContainer.initWithToolbar(
|
- controlContainer.initWithToolbar(toolbarId);
|
||||||
- toolbarId, R.dimen.custom_tabs_control_container_height);
|
|
||||||
+ controlContainer.initWithToolbar(toolbarId,
|
+ controlContainer.initWithToolbar(toolbarId,
|
||||||
+ DeviceFormFactor.isForceTabletUI()
|
+ DeviceFormFactor.isForceTabletUI()
|
||||||
+ ? R.dimen.control_container_height_tabletui
|
+ ? R.dimen.control_container_height_tabletui : 0);
|
||||||
+ : R.dimen.custom_tabs_control_container_height);
|
|
||||||
}
|
}
|
||||||
return mainView;
|
return mainView;
|
||||||
} catch (InflateException e) {
|
} catch (InflateException e) {
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
@@ -67,6 +67,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
@@ -62,6 +62,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,82 +169,79 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
@@ -850,7 +850,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
@@ -758,7 +758,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||||
// Inflate the correct toolbar layout for the device.
|
// Inflate the correct toolbar layout for the device.
|
||||||
int toolbarLayoutId = getToolbarLayoutId();
|
int toolbarLayoutId = getToolbarLayoutId();
|
||||||
if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
|
if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
|
||||||
- controlContainer.initWithToolbar(toolbarLayoutId, getToolbarLayoutHeightResId());
|
- controlContainer.initWithToolbar(toolbarLayoutId);
|
||||||
+ controlContainer.initWithToolbar(toolbarLayoutId,
|
+ controlContainer.initWithToolbar(toolbarLayoutId,
|
||||||
+ DeviceFormFactor.isForceTabletUI()
|
+ DeviceFormFactor.isForceTabletUI()
|
||||||
+ ? R.dimen.control_container_height_tabletui
|
+ ? R.dimen.control_container_height_tabletui : 0);
|
||||||
+ : getToolbarLayoutHeightResId());
|
|
||||||
}
|
}
|
||||||
onInitialLayoutInflationComplete();
|
onInitialLayoutInflationComplete();
|
||||||
}
|
}
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||||
@@ -138,6 +138,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService;
|
@@ -114,6 +114,7 @@ import org.chromium.components.tab_group_sync.SavedTabGroup;
|
||||||
import org.chromium.components.tab_group_sync.TriggerSource;
|
import org.chromium.components.tab_group_sync.TabGroupSyncService;
|
||||||
import org.chromium.components.tab_groups.TabGroupColorId;
|
import org.chromium.components.tab_groups.TabGroupColorId;
|
||||||
import org.chromium.ui.accessibility.AccessibilityState;
|
import org.chromium.ui.MotionEventUtils;
|
||||||
+import org.chromium.ui.base.DeviceFormFactor;
|
+import org.chromium.ui.base.DeviceFormFactor;
|
||||||
import org.chromium.ui.base.LocalizationUtils;
|
import org.chromium.ui.base.LocalizationUtils;
|
||||||
import org.chromium.ui.base.WindowAndroid;
|
import org.chromium.ui.base.WindowAndroid;
|
||||||
import org.chromium.ui.util.ColorUtils;
|
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||||
|
@@ -4060,8 +4061,13 @@ public class StripLayoutHelper
|
||||||
|
mTabMenu.setAnchorView(tabView);
|
||||||
|
// 3. Set the vertical offset to align the tab menu with bottom of the tab strip
|
||||||
|
int tabHeight = mManagerHost.getHeight();
|
||||||
|
- int verticalOffset =
|
||||||
|
- -(tabHeight - (int) mContext.getResources().getDimension(R.dimen.tab_strip_height));
|
||||||
|
+ int tab_strip_height =
|
||||||
|
+ (int) mContext.getResources().getDimension(R.dimen.tab_strip_height_cromite);
|
||||||
|
+ if (DeviceFormFactor.isForceTabletUI()) {
|
||||||
|
+ tab_strip_height =
|
||||||
|
+ (int) mContext.getResources().getDimension(R.dimen.tab_strip_height_tabletui);
|
||||||
|
+ }
|
||||||
|
+ int verticalOffset = -(tabHeight - tab_strip_height);
|
||||||
|
mTabMenu.setVerticalOffset(verticalOffset);
|
||||||
|
|
||||||
|
// 4. Set the horizontal offset to align the tab menu with the right side of the tab
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||||
@@ -118,6 +118,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
|
@@ -94,6 +94,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
|
||||||
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
||||||
import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
|
import org.chromium.components.browser_ui.widget.scrim.ScrimProperties;
|
||||||
import org.chromium.content_public.browser.LoadUrlParams;
|
import org.chromium.content_public.browser.LoadUrlParams;
|
||||||
+import org.chromium.ui.base.DeviceFormFactor;
|
+import org.chromium.ui.base.DeviceFormFactor;
|
||||||
import org.chromium.ui.base.LocalizationUtils;
|
import org.chromium.ui.base.LocalizationUtils;
|
||||||
import org.chromium.ui.base.PageTransition;
|
import org.chromium.ui.base.PageTransition;
|
||||||
import org.chromium.ui.base.WindowAndroid;
|
import org.chromium.ui.base.WindowAndroid;
|
||||||
@@ -584,7 +585,10 @@ public class StripLayoutHelperManager
|
@@ -453,7 +454,10 @@ public class StripLayoutHelperManager
|
||||||
mIsHeaderCustomizationSupported =
|
|
||||||
ToolbarFeatures.isAppHeaderCustomizationSupported(
|
mIsLayoutOptimizationsEnabled =
|
||||||
/* isTablet= */ true, DisplayUtil.isContextInDefaultDisplay(mContext));
|
ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(true);
|
||||||
- mScrollableStripHeight = res.getDimension(R.dimen.tab_strip_height) / mDensity;
|
- mScrollableStripHeight = res.getDimension(R.dimen.tab_strip_height) / mDensity;
|
||||||
+ mScrollableStripHeight =
|
+ mScrollableStripHeight =
|
||||||
+ (DeviceFormFactor.isForceTabletUI()
|
+ (DeviceFormFactor.isForceTabletUI()
|
||||||
+ ? res.getDimension(R.dimen.tab_strip_height_tabletui)
|
+ ? res.getDimension(R.dimen.tab_strip_height_tabletui)
|
||||||
+ : res.getDimension(R.dimen.tab_strip_height_cromite)) / mDensity;
|
+ : res.getDimension(R.dimen.tab_strip_height_cromite)) / mDensity;
|
||||||
mHeight =
|
mHeight =
|
||||||
mIsHeaderCustomizationSupported
|
mIsLayoutOptimizationsEnabled
|
||||||
? toolbarManager.getTabStripHeightSupplier().get() / mDensity
|
? toolbarManager.getTabStripHeightSupplier().get() / mDensity
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
|
||||||
@@ -124,6 +124,14 @@ public class TabStripSceneLayer extends SceneOverlayLayer {
|
|
||||||
if (mNativePtr == 0) return;
|
|
||||||
final boolean visible = yOffset > -layoutHelper.getHeight();
|
|
||||||
|
|
||||||
+ if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(ContextUtils.getApplicationContext())) {
|
|
||||||
+ TintedCompositorButton newTabButton = layoutHelper.getNewTabButton();
|
|
||||||
+ if (newTabButton.isVisible()) {
|
|
||||||
+ rightPaddingDp += newTabButton.getWidth() + layoutHelper.getNewTabBtnVisualOffset()
|
|
||||||
+ + StripLayoutGroupTitle.REORDER_BACKGROUND_PADDING_END;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
// This will hide the tab strips if necessary.
|
|
||||||
TabStripSceneLayerJni.get()
|
|
||||||
.beginBuildingFrame(mNativePtr, visible, resourceManager, layerTitleCache);
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||||
@@ -18,6 +18,7 @@ import org.chromium.base.task.TaskTraits;
|
@@ -17,6 +17,7 @@ import org.chromium.base.library_loader.LibraryProcessType;
|
||||||
import org.chromium.build.annotations.NullMarked;
|
import org.chromium.base.task.ChainedTasks;
|
||||||
import org.chromium.build.annotations.Nullable;
|
import org.chromium.base.task.TaskTraits;
|
||||||
import org.chromium.chrome.browser.flags.ChromeSwitches;
|
import org.chromium.chrome.browser.flags.ChromeSwitches;
|
||||||
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||||
import org.chromium.chrome.browser.profiles.ProfileManager;
|
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||||
import org.chromium.chrome.browser.signin.SigninCheckerProvider;
|
import org.chromium.chrome.browser.signin.SigninCheckerProvider;
|
||||||
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
|
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
|
||||||
@@ -110,6 +111,7 @@ public class ChromeBrowserInitializer {
|
@@ -107,6 +108,7 @@ public class ChromeBrowserInitializer {
|
||||||
public void handlePreNativeStartupAndLoadLibraries(final BrowserParts parts) {
|
public void handlePreNativeStartupAndLoadLibraries(final BrowserParts parts) {
|
||||||
ThreadUtils.checkUiThread();
|
ThreadUtils.checkUiThread();
|
||||||
if (parts.isActivityFinishingOrDestroyed()) return;
|
if (parts.isActivityFinishingOrDestroyed()) return;
|
||||||
@@ -251,7 +252,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||||
@@ -934,7 +934,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
@@ -620,7 +620,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getControlContainerHeightResource() {
|
public int getControlContainerHeightResource() {
|
||||||
@@ -265,18 +266,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||||
@@ -135,6 +135,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
|
@@ -109,6 +109,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
|
||||||
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
|
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
|
||||||
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
|
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
|
||||||
import org.chromium.chrome.browser.pdf.PdfPage;
|
import org.chromium.chrome.browser.pdf.PdfPage;
|
||||||
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||||
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||||
import org.chromium.chrome.browser.profiles.Profile;
|
import org.chromium.chrome.browser.price_insights.PriceInsightsButtonController;
|
||||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
|
import org.chromium.chrome.browser.price_tracking.CurrentTabPriceTrackingStateSupplier;
|
||||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
|
import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController;
|
||||||
@@ -2096,7 +2098,9 @@ public class RootUiCoordinator
|
@@ -1777,7 +1779,9 @@ public class RootUiCoordinator
|
||||||
|
if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
|
||||||
|
|
||||||
protected int getFindToolbarStub() {
|
|
||||||
int stubId = R.id.find_toolbar_stub;
|
int stubId = R.id.find_toolbar_stub;
|
||||||
- if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
|
- if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
|
||||||
+ if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity) &&
|
+ if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity) &&
|
||||||
@@ -284,11 +285,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
|
|||||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false)) {
|
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false)) {
|
||||||
stubId = R.id.find_toolbar_tablet_stub;
|
stubId = R.id.find_toolbar_tablet_stub;
|
||||||
}
|
}
|
||||||
return stubId;
|
mFindToolbarManager =
|
||||||
diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BUILD.gn
|
diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BUILD.gn
|
||||||
--- a/chrome/browser/preferences/BUILD.gn
|
--- a/chrome/browser/preferences/BUILD.gn
|
||||||
+++ b/chrome/browser/preferences/BUILD.gn
|
+++ b/chrome/browser/preferences/BUILD.gn
|
||||||
@@ -27,6 +27,7 @@ android_library("java") {
|
@@ -25,6 +25,7 @@ android_library("java") {
|
||||||
"//components/cached_flags:java",
|
"//components/cached_flags:java",
|
||||||
"//third_party/androidx:androidx_annotation_annotation_java",
|
"//third_party/androidx:androidx_annotation_annotation_java",
|
||||||
"//third_party/jni_zero:jni_zero_java",
|
"//third_party/jni_zero:jni_zero_java",
|
||||||
@@ -299,7 +300,7 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU
|
|||||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
@@ -413,6 +413,7 @@ public final class ChromePreferenceKeys {
|
@@ -280,6 +280,7 @@ public final class ChromePreferenceKeys {
|
||||||
/** Whether the app-specific history info text was already seen by users. */
|
/** Whether the app-specific history info text was already seen by users. */
|
||||||
public static final String HISTORY_APP_SPECIFIC_INFO_SEEN =
|
public static final String HISTORY_APP_SPECIFIC_INFO_SEEN =
|
||||||
"Chrome.History.AppSpecificInfoSeen";
|
"Chrome.History.AppSpecificInfoSeen";
|
||||||
@@ -339,7 +340,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
@@ -56,6 +56,7 @@ public class LegacyChromePreferenceKeys {
|
@@ -57,6 +57,7 @@ public class LegacyChromePreferenceKeys {
|
||||||
ChromePreferenceKeys.FIRST_RUN_FLOW_COMPLETE,
|
ChromePreferenceKeys.FIRST_RUN_FLOW_COMPLETE,
|
||||||
ChromePreferenceKeys.FIRST_RUN_FLOW_SIGNIN_SETUP,
|
ChromePreferenceKeys.FIRST_RUN_FLOW_SIGNIN_SETUP,
|
||||||
ChromePreferenceKeys.FIRST_RUN_LIGHTWEIGHT_FLOW_COMPLETE,
|
ChromePreferenceKeys.FIRST_RUN_LIGHTWEIGHT_FLOW_COMPLETE,
|
||||||
@@ -347,29 +348,29 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||||||
ChromePreferenceKeys.FIRST_RUN_SKIP_WELCOME_PAGE,
|
ChromePreferenceKeys.FIRST_RUN_SKIP_WELCOME_PAGE,
|
||||||
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
|
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
|
||||||
ChromePreferenceKeys.HOMEPAGE_ENABLED,
|
ChromePreferenceKeys.HOMEPAGE_ENABLED,
|
||||||
diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderUtils.java b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderUtils.java
|
diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||||
--- a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderUtils.java
|
--- a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||||
+++ b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderUtils.java
|
+++ b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||||
@@ -20,6 +20,7 @@ import org.chromium.build.annotations.Nullable;
|
@@ -35,6 +35,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils.Windowing
|
||||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
import org.chromium.components.browser_ui.desktop_windowing.AppHeaderState;
|
||||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher.ActivityState;
|
|
||||||
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager;
|
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager;
|
||||||
|
import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeStateProvider;
|
||||||
+import org.chromium.ui.base.DeviceFormFactor;
|
+import org.chromium.ui.base.DeviceFormFactor;
|
||||||
import org.chromium.ui.display.DisplayUtil;
|
import org.chromium.ui.InsetObserver;
|
||||||
import org.chromium.ui.insets.InsetsRectProvider;
|
import org.chromium.ui.InsetObserver.WindowInsetsConsumer;
|
||||||
|
import org.chromium.ui.InsetsRectProvider;
|
||||||
@@ -169,6 +170,7 @@ public class AppHeaderUtils {
|
@@ -260,6 +261,7 @@ public class AppHeaderCoordinator
|
||||||
*/
|
private static @DesktopWindowHeuristicResult int checkIsInDesktopWindow(
|
||||||
static @DesktopWindowHeuristicResult int checkIsInDesktopWindow(
|
InsetsRectProvider insetsRectProvider,
|
||||||
InsetsRectProvider insetsRectProvider, Context context) {
|
@DesktopWindowHeuristicResult int currentResult) {
|
||||||
+ if (DeviceFormFactor.isForceTabletUI()) return DesktopWindowHeuristicResult.IN_DESKTOP_WINDOW;
|
+ if (DeviceFormFactor.isForceTabletUI()) return DesktopWindowHeuristicResult.IN_DESKTOP_WINDOW;
|
||||||
@DesktopWindowHeuristicResult int newResult;
|
@DesktopWindowHeuristicResult int newResult;
|
||||||
|
|
||||||
boolean isOnExternalDisplay = !DisplayUtil.isContextInDefaultDisplay(context);
|
Insets captionBarInset = insetsRectProvider.getCachedInset();
|
||||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||||
@@ -1050,7 +1050,7 @@ public class LocationBarCoordinator
|
@@ -799,7 +799,7 @@ public class LocationBarCoordinator
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isTabletWindow() {
|
private boolean isTabletWindow() {
|
||||||
@@ -381,8 +382,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -1635,6 +1635,13 @@ Your Google account may have other forms of browsing history like searches and a
|
@@ -1657,6 +1657,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||||
Privacy guide explanation closed
|
Hide your IP address
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
|
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
|
||||||
@@ -402,28 +403,30 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container
|
|||||||
android:id="@+id/control_container"
|
android:id="@+id/control_container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
- android:minHeight="@dimen/control_container_height">
|
- android:minHeight="@dimen/control_container_height" >
|
||||||
+ android:minHeight="@dimen/control_container_height_cromite">
|
+ android:minHeight="@dimen/control_container_height_cromite" >
|
||||||
|
|
||||||
<view
|
<view
|
||||||
class="org.chromium.chrome.browser.toolbar.top.ToolbarControlContainer$ToolbarViewResourceCoordinatorLayout"
|
class="org.chromium.chrome.browser.toolbar.top.ToolbarControlContainer$ToolbarViewResourceFrameLayout"
|
||||||
@@ -20,7 +20,7 @@ found in the LICENSE file.
|
@@ -20,7 +20,7 @@ found in the LICENSE file.
|
||||||
<ViewStub
|
<ViewStub
|
||||||
android:id="@+id/toolbar_stub"
|
android:id="@+id/toolbar_stub"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
- android:layout_marginTop="@dimen/tab_strip_height"
|
- android:layout_marginTop="@dimen/tab_strip_height"
|
||||||
+ android:layout_marginTop="@dimen/tab_strip_height_cromite"
|
+ android:layout_marginTop="@dimen/tab_strip_height_cromite"
|
||||||
android:layout_marginBottom="@dimen/toolbar_hairline_height"
|
|
||||||
android:layout_height="@dimen/toolbar_height_no_shadow" />
|
android:layout_height="@dimen/toolbar_height_no_shadow" />
|
||||||
|
|
||||||
@@ -30,13 +30,13 @@ found in the LICENSE file.
|
<ImageView
|
||||||
|
@@ -28,7 +28,7 @@ found in the LICENSE file.
|
||||||
|
android:src="@drawable/toolbar_hairline"
|
||||||
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="bottom"
|
- android:layout_marginTop="@dimen/control_container_height"
|
||||||
app:layout_anchorGravity="bottom"
|
+ android:layout_marginTop="@dimen/control_container_height_cromite"
|
||||||
- />
|
android:scaleType="fitXY"
|
||||||
+ android:layout_marginTop="@dimen/control_container_height_cromite" />
|
android:importantForAccessibility="no" />
|
||||||
|
|
||||||
<ViewStub
|
@@ -36,7 +36,7 @@ found in the LICENSE file.
|
||||||
android:id="@+id/find_toolbar_stub"
|
android:id="@+id/find_toolbar_stub"
|
||||||
android:inflatedId="@+id/find_toolbar"
|
android:inflatedId="@+id/find_toolbar"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
@@ -435,14 +438,14 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container
|
|||||||
diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
|
diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
|
||||||
--- a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
|
--- a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
|
||||||
+++ b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
|
+++ b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
|
||||||
@@ -14,7 +14,7 @@ found in the LICENSE file.
|
@@ -15,7 +15,7 @@ found in the LICENSE file.
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/toolbar_height_no_shadow"
|
android:layout_height="@dimen/toolbar_height_no_shadow"
|
||||||
- android:layout_marginTop="@dimen/tab_strip_height"
|
- android:layout_marginTop="@dimen/tab_strip_height"
|
||||||
+ android:layout_marginTop="@dimen/tab_strip_height_tabletui"
|
+ android:layout_marginTop="@dimen/tab_strip_height_tabletui"
|
||||||
android:background="@macro/default_bg_color"
|
android:background="@macro/default_bg_color"
|
||||||
>
|
>
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml b/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml
|
diff --git a/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml b/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml
|
||||||
--- a/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml
|
--- a/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml
|
||||||
@@ -461,7 +464,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml b/chro
|
|||||||
--- a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml
|
--- a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml
|
||||||
+++ b/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml
|
+++ b/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml
|
||||||
@@ -10,8 +10,10 @@ found in the LICENSE file.
|
@@ -10,8 +10,10 @@ found in the LICENSE file.
|
||||||
<dimen name="toolbar_tab_count_text_size_2_digit">9dp</dimen>
|
<dimen name="toolbar_tab_count_text_size_2_digit">10dp</dimen>
|
||||||
|
|
||||||
<!-- Tab Strip Dimensions -->
|
<!-- Tab Strip Dimensions -->
|
||||||
- <dimen name="tab_strip_height">0dp</dimen>
|
- <dimen name="tab_strip_height">0dp</dimen>
|
||||||
@@ -472,45 +475,72 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml b/chro
|
|||||||
+ <dimen name="tab_strip_reserved_top_padding_tabletui">2dp</dimen>
|
+ <dimen name="tab_strip_reserved_top_padding_tabletui">2dp</dimen>
|
||||||
|
|
||||||
<dimen name="ntp_search_box_height">64dp</dimen>
|
<dimen name="ntp_search_box_height">64dp</dimen>
|
||||||
<dimen name="ntp_search_box_height_tall">72dp</dimen>
|
|
||||||
|
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
|
||||||
|
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
|
||||||
|
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
|
||||||
|
@@ -23,7 +23,7 @@ public interface ControlContainer {
|
||||||
|
* Initialize the control container with the specified toolbar.
|
||||||
|
* @param toolbarLayoutId The ID of the toolbar layout to use.
|
||||||
|
*/
|
||||||
|
- void initWithToolbar(int toolbarLayoutId);
|
||||||
|
+ void initWithToolbar(int toolbarLayoutId, int controlContainerHeightOverrideId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return The {@link ViewResourceAdapter} that exposes this {@link View} as a CC resource.
|
||||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||||
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.toolbar.top;
|
@@ -5,6 +5,7 @@
|
||||||
import static org.chromium.build.NullUtil.assumeNonNull;
|
package org.chromium.chrome.browser.toolbar.top;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
+import android.content.res.Resources;
|
+import android.content.res.Resources;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.graphics.Color;
|
|
||||||
import android.graphics.PorterDuff;
|
import android.graphics.PorterDuff;
|
||||||
@@ -176,6 +177,11 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
import android.graphics.Rect;
|
||||||
@Initializer
|
@@ -143,8 +144,25 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||||
public void initWithToolbar(int toolbarLayoutId, int toolbarLayoutHeightResId) {
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
- public void initWithToolbar(int toolbarLayoutId) {
|
||||||
|
+ public void initWithToolbar(int toolbarLayoutId, int controlContainerHeightOverrideId) {
|
||||||
try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) {
|
try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) {
|
||||||
+ if (DeviceFormFactor.isForceTabletUI() && toolbarLayoutHeightResId != 0) {
|
+ if (controlContainerHeightOverrideId != 0) {
|
||||||
+ toolbarLayoutHeightResId = R.dimen.control_container_height_tabletui;
|
|
||||||
+ Resources res = getContext().getResources();
|
+ Resources res = getContext().getResources();
|
||||||
+ setMinimumHeight((int) res.getDimension(toolbarLayoutHeightResId));
|
+ setMinimumHeight((int) res.getDimension(controlContainerHeightOverrideId));
|
||||||
|
+ int tab_strip_height =
|
||||||
|
+ (int) res.getDimension(R.dimen.tab_strip_height_tabletui);
|
||||||
|
+
|
||||||
|
+ View view = findViewById(R.id.toolbar_stub);
|
||||||
|
+ if (view != null)
|
||||||
|
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
|
||||||
|
+
|
||||||
|
+ view = findViewById(R.id.toolbar_hairline);
|
||||||
|
+ if (view != null) view.setVisibility(View.GONE);
|
||||||
|
+
|
||||||
|
+ view = findViewById(R.id.find_toolbar_stub);
|
||||||
|
+ if (view != null)
|
||||||
|
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
|
||||||
+ }
|
+ }
|
||||||
mToolbarContainer = findViewById(R.id.toolbar_container);
|
mToolbarContainer =
|
||||||
mToolbarLayoutHeight = getResources().getDimensionPixelSize(toolbarLayoutHeightResId);
|
(ToolbarViewResourceFrameLayout) findViewById(R.id.toolbar_container);
|
||||||
ViewStub toolbarStub = findViewById(R.id.toolbar_stub);
|
ViewStub toolbarStub = findViewById(R.id.toolbar_stub);
|
||||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||||
@@ -67,6 +67,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
|
@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils;
|
||||||
|
import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
|
||||||
import org.chromium.components.feature_engagement.Tracker;
|
import org.chromium.components.feature_engagement.Tracker;
|
||||||
import org.chromium.ui.base.ViewUtils;
|
import org.chromium.ui.base.ViewUtils;
|
||||||
import org.chromium.ui.util.MotionEventUtils;
|
|
||||||
+import org.chromium.ui.base.DeviceFormFactor;
|
+import org.chromium.ui.base.DeviceFormFactor;
|
||||||
import org.chromium.ui.util.TokenHolder;
|
import org.chromium.ui.util.TokenHolder;
|
||||||
import org.chromium.url.GURL;
|
import org.chromium.url.GURL;
|
||||||
|
|
||||||
@@ -599,7 +600,9 @@ public abstract class ToolbarLayout extends FrameLayout
|
@@ -590,7 +591,9 @@ public abstract class ToolbarLayout extends FrameLayout
|
||||||
* @see Toolbar#getTabStripHeight()
|
* not have a tab strip.
|
||||||
*/
|
*/
|
||||||
public int getTabStripHeightFromResource() {
|
protected int getTabStripHeightFromResource() {
|
||||||
- return getResources().getDimensionPixelSize(R.dimen.tab_strip_height);
|
- return getResources().getDimensionPixelSize(R.dimen.tab_strip_height);
|
||||||
+ if (DeviceFormFactor.isForceTabletUI())
|
+ if (DeviceFormFactor.isForceTabletUI())
|
||||||
+ return getResources().getDimensionPixelSize(R.dimen.tab_strip_height_tabletui);
|
+ return getResources().getDimensionPixelSize(R.dimen.tab_strip_height_tabletui);
|
||||||
@@ -521,34 +551,34 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
|||||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
||||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
||||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
||||||
@@ -29,6 +29,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer;
|
@@ -28,6 +28,7 @@ import org.chromium.chrome.browser.toolbar.top.ToolbarLayout;
|
||||||
|
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripHeightObserver;
|
||||||
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripTransitionDelegate;
|
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripTransitionDelegate;
|
||||||
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripTransitionHandler;
|
|
||||||
import org.chromium.ui.base.ViewUtils;
|
import org.chromium.ui.base.ViewUtils;
|
||||||
+import org.chromium.ui.base.DeviceFormFactor;
|
+import org.chromium.ui.base.DeviceFormFactor;
|
||||||
import org.chromium.ui.resources.dynamics.DynamicResourceReadyOnceCallback;
|
import org.chromium.ui.resources.dynamics.DynamicResourceReadyOnceCallback;
|
||||||
import org.chromium.ui.util.TokenHolder;
|
import org.chromium.ui.util.TokenHolder;
|
||||||
|
|
||||||
@@ -514,6 +515,7 @@ class HeightTransitionHandler {
|
@@ -559,6 +560,7 @@ class HeightTransitionHandler {
|
||||||
|
|
||||||
/** Get the min screen width (in dp) required for the tab strip to become visible. */
|
|
||||||
private static int getScreenWidthThresholdDp() {
|
|
||||||
+ if (DeviceFormFactor.isForceTabletUI()) return 0;
|
|
||||||
if (TabStripTransitionCoordinator.sHeightTransitionThresholdForTesting != null) {
|
if (TabStripTransitionCoordinator.sHeightTransitionThresholdForTesting != null) {
|
||||||
return TabStripTransitionCoordinator.sHeightTransitionThresholdForTesting;
|
return TabStripTransitionCoordinator.sHeightTransitionThresholdForTesting;
|
||||||
}
|
}
|
||||||
|
+ if (DeviceFormFactor.isForceTabletUI()) return 0;
|
||||||
|
return TRANSITION_THRESHOLD_DP;
|
||||||
|
}
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
||||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
||||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
||||||
@@ -25,6 +25,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
|
@@ -28,6 +28,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
|
||||||
import org.chromium.components.browser_ui.desktop_windowing.AppHeaderState;
|
import org.chromium.components.browser_ui.desktop_windowing.AppHeaderState;
|
||||||
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager;
|
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager;
|
||||||
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager.AppHeaderObserver;
|
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager.AppHeaderObserver;
|
||||||
+import org.chromium.ui.base.DeviceFormFactor;
|
+import org.chromium.ui.base.DeviceFormFactor;
|
||||||
|
|
||||||
/**
|
/** Class used to manage tab strip visibility and height updates. */
|
||||||
* Class used to manage tab strip visibility and height updates.
|
public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHeaderObserver {
|
||||||
@@ -171,7 +172,10 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea
|
@@ -153,7 +154,10 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea
|
||||||
mTabStripReservedTopPadding =
|
mTabStripReservedTopPadding =
|
||||||
controlContainerView()
|
controlContainerView()
|
||||||
.getResources()
|
.getResources()
|
||||||
@@ -563,9 +593,9 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
@@ -46,6 +46,11 @@ found in the LICENSE file.
|
@@ -41,6 +41,11 @@ found in the LICENSE file.
|
||||||
android:summary="@string/caret_browsing_summary"
|
android:summary="@string/jump_start_omnibox_summary"
|
||||||
android:title="@string/caret_browsing_title" />
|
android:title="@string/jump_start_omnibox_title" />
|
||||||
|
|
||||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||||
+ android:key="force_tablet_ui"
|
+ android:key="force_tablet_ui"
|
||||||
@@ -578,17 +608,17 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
@@ -39,6 +39,7 @@ import org.chromium.content_public.browser.ContentFeatureMap;
|
@@ -25,6 +25,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
|
||||||
import org.chromium.ui.base.UiAndroidFeatureList;
|
import org.chromium.content_public.browser.ContentFeatureMap;
|
||||||
|
|
||||||
import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment;
|
import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment;
|
||||||
+import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate.BooleanPreferenceDelegate;
|
+import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate.BooleanPreferenceDelegate;
|
||||||
|
|
||||||
/** Fragment to keep track of all the accessibility related preferences. */
|
/** Fragment to keep track of all the accessibility related preferences. */
|
||||||
@NullMarked
|
public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||||
@@ -80,6 +81,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
@@ -39,6 +40,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||||
}
|
public static final String PREF_ZOOM_INFO = "zoom_info";
|
||||||
};
|
public static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions";
|
||||||
|
|
||||||
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
||||||
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||||
@@ -596,9 +626,9 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||||||
private PageZoomPreference mPageZoomDefaultZoomPref;
|
private PageZoomPreference mPageZoomDefaultZoomPref;
|
||||||
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
||||||
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
||||||
@@ -167,6 +171,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
@@ -105,6 +109,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||||
readerEnableLinks.setOnPreferenceChangeListener(this);
|
mDelegate.getReaderAccessibilityDelegate().getValue());
|
||||||
}
|
readerForAccessibilityPref.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
+ ChromeSwitchPreference forceTabletUiPref =
|
+ ChromeSwitchPreference forceTabletUiPref =
|
||||||
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_TABLET_UI);
|
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_TABLET_UI);
|
||||||
@@ -609,7 +639,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||||||
Preference captions = findPreference(PREF_CAPTIONS);
|
Preference captions = findPreference(PREF_CAPTIONS);
|
||||||
captions.setOnPreferenceClickListener(
|
captions.setOnPreferenceClickListener(
|
||||||
preference -> {
|
preference -> {
|
||||||
@@ -262,6 +272,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
@@ -165,6 +175,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
|
if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
|
||||||
mDelegate.getForceEnableZoomAccessibilityDelegate().setValue((Boolean) newValue);
|
mDelegate.getForceEnableZoomAccessibilityDelegate().setValue((Boolean) newValue);
|
||||||
@@ -617,12 +647,12 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||||||
+ mForceTabletUIDelegate.setValue((Boolean) newValue);
|
+ mForceTabletUIDelegate.setValue((Boolean) newValue);
|
||||||
+ mDelegate.requestRestart(getActivity());
|
+ mDelegate.requestRestart(getActivity());
|
||||||
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
|
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
|
||||||
boolean readerModeEnabled = (Boolean) newValue;
|
mDelegate.getReaderAccessibilityDelegate().setValue((Boolean) newValue);
|
||||||
mDelegate.getReaderAccessibilityDelegate().setValue(readerModeEnabled);
|
} else if (PREF_PAGE_ZOOM_DEFAULT_ZOOM.equals(preference.getKey())) {
|
||||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
@@ -42,6 +42,8 @@ public interface AccessibilitySettingsDelegate {
|
@@ -39,6 +39,8 @@ public interface AccessibilitySettingsDelegate {
|
||||||
*/
|
*/
|
||||||
BrowserContextHandle getBrowserContextHandle();
|
BrowserContextHandle getBrowserContextHandle();
|
||||||
|
|
||||||
@@ -634,9 +664,9 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||||||
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||||
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||||
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||||
@@ -87,6 +87,14 @@ public class DeviceFormFactor {
|
@@ -69,6 +69,14 @@ public class DeviceFormFactor {
|
||||||
/** See {@link #setIsTabletForTesting(boolean)}. */
|
return BuildConfig.IS_DESKTOP_ANDROID;
|
||||||
private static @Nullable Boolean sIsTabletForTesting;
|
}
|
||||||
|
|
||||||
+ private static boolean mForceTabletUI = false;
|
+ private static boolean mForceTabletUI = false;
|
||||||
+ public static void setForceTabletUI(boolean forceTabletUI) {
|
+ public static void setForceTabletUI(boolean forceTabletUI) {
|
||||||
@@ -649,7 +679,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
|||||||
/**
|
/**
|
||||||
* Each activity could be on a different display, and this will just tell you whether the
|
* Each activity could be on a different display, and this will just tell you whether the
|
||||||
* display associated with the application context is "tablet sized". Use {@link
|
* display associated with the application context is "tablet sized". Use {@link
|
||||||
@@ -95,6 +103,7 @@ public class DeviceFormFactor {
|
@@ -77,6 +85,7 @@ public class DeviceFormFactor {
|
||||||
@CalledByNative
|
@CalledByNative
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static boolean isTablet() {
|
public static boolean isTablet() {
|
||||||
@@ -657,7 +687,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
|||||||
if (sIsTabletForTesting != null) {
|
if (sIsTabletForTesting != null) {
|
||||||
return sIsTabletForTesting;
|
return sIsTabletForTesting;
|
||||||
}
|
}
|
||||||
@@ -125,6 +134,7 @@ public class DeviceFormFactor {
|
@@ -107,6 +116,7 @@ public class DeviceFormFactor {
|
||||||
* E.g. http://developer.samsung.com/samsung-dex/testing
|
* E.g. http://developer.samsung.com/samsung-dex/testing
|
||||||
*/
|
*/
|
||||||
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
|
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
|
||||||
@@ -665,7 +695,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
|||||||
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
|
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,6 +169,7 @@ public class DeviceFormFactor {
|
@@ -142,6 +152,7 @@ public class DeviceFormFactor {
|
||||||
* @return The screen width bucket the device is in (see constants at the top of this class).
|
* @return The screen width bucket the device is in (see constants at the top of this class).
|
||||||
*/
|
*/
|
||||||
private static int detectScreenWidthBucket(Context context) {
|
private static int detectScreenWidthBucket(Context context) {
|
||||||
@@ -673,7 +703,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
|||||||
return context.getResources().getInteger(R.integer.min_screen_width_bucket);
|
return context.getResources().getInteger(R.integer.min_screen_width_bucket);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,6 +177,7 @@ public class DeviceFormFactor {
|
@@ -149,6 +160,7 @@ public class DeviceFormFactor {
|
||||||
ThreadUtils.assertOnUiThread();
|
ThreadUtils.assertOnUiThread();
|
||||||
Context context = windowAndroid.getContext().get();
|
Context context = windowAndroid.getContext().get();
|
||||||
if (context == null) return 0;
|
if (context == null) return 0;
|
||||||
@@ -681,7 +711,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
|||||||
return context.getResources().getInteger(R.integer.min_screen_width_bucket);
|
return context.getResources().getInteger(R.integer.min_screen_width_bucket);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,6 +187,7 @@ public class DeviceFormFactor {
|
@@ -158,6 +170,7 @@ public class DeviceFormFactor {
|
||||||
*/
|
*/
|
||||||
@UiThread
|
@UiThread
|
||||||
public static int getNonMultiDisplayMinimumTabletWidthPx(Context context) {
|
public static int getNonMultiDisplayMinimumTabletWidthPx(Context context) {
|
||||||
@@ -689,7 +719,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
|||||||
return getMinimumTabletWidthPx(DisplayAndroid.getNonMultiDisplay(context));
|
return getMinimumTabletWidthPx(DisplayAndroid.getNonMultiDisplay(context));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,6 +196,7 @@ public class DeviceFormFactor {
|
@@ -166,6 +179,7 @@ public class DeviceFormFactor {
|
||||||
* layout.
|
* layout.
|
||||||
*/
|
*/
|
||||||
public static int getMinimumTabletWidthPx(DisplayAndroid display) {
|
public static int getMinimumTabletWidthPx(DisplayAndroid display) {
|
||||||
|
|||||||
@@ -4,17 +4,16 @@ Subject: Add option to not persist tabs across sessions
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
.../android/java/res/xml/privacy_preferences.xml | 5 +++++
|
.../android/java/res/xml/privacy_preferences.xml | 5 +++++
|
||||||
.../chrome/browser/ChromeTabbedActivity.java | 5 ++++-
|
.../chrome/browser/ChromeTabbedActivity.java | 5 ++++-
|
||||||
.../browser/privacy/settings/PrivacySettings.java | 15 ++++++++++++++-
|
.../privacy/settings/PrivacySettings.java | 16 +++++++++++++++-
|
||||||
.../browser/tab_group_sync/StartupHelper.java | 6 ++++++
|
.../android/strings/android_chrome_strings.grd | 6 ++++++
|
||||||
.../ui/android/strings/android_chrome_strings.grd | 6 ++++++
|
4 files changed, 30 insertions(+), 2 deletions(-)
|
||||||
5 files changed, 35 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
@@ -82,6 +82,11 @@ found in the LICENSE file.
|
@@ -96,6 +96,11 @@ found in the LICENSE file.
|
||||||
android:title="@string/incognito_settings_title"
|
android:title="@string/incognito_settings_title"
|
||||||
android:summary="@string/incognito_settings_summary"
|
android:summary="@string/incognito_settings_summary"
|
||||||
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
|
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
|
||||||
@@ -29,17 +28,17 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
@@ -58,6 +58,7 @@ import org.chromium.base.ApplicationStatus;
|
@@ -45,6 +45,7 @@ import org.chromium.base.Callback;
|
||||||
import org.chromium.base.Callback;
|
|
||||||
import org.chromium.base.CallbackController;
|
import org.chromium.base.CallbackController;
|
||||||
import org.chromium.base.CallbackUtils;
|
import org.chromium.base.CallbackUtils;
|
||||||
+import org.chromium.base.ContextUtils;
|
|
||||||
import org.chromium.base.CommandLine;
|
import org.chromium.base.CommandLine;
|
||||||
import org.chromium.base.DeviceInfo;
|
+import org.chromium.base.ContextUtils;
|
||||||
import org.chromium.base.IntentUtils;
|
import org.chromium.base.IntentUtils;
|
||||||
@@ -2309,8 +2310,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
import org.chromium.base.Log;
|
||||||
ActivityRestoreState.NUM_ENTRIES);
|
import org.chromium.base.MemoryPressureListener;
|
||||||
}
|
@@ -1666,8 +1667,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements MismatchedIn
|
||||||
|
boolean hadCipherData =
|
||||||
|
CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState());
|
||||||
|
|
||||||
+ String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
+ String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
||||||
boolean noRestoreState =
|
boolean noRestoreState =
|
||||||
@@ -52,32 +51,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
@@ -10,6 +10,7 @@ import static org.chromium.ui.R.drawable.gshield_colorful;
|
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.privacy.settings;
|
||||||
|
import static org.chromium.components.content_settings.PrefNames.COOKIE_CONTROLS_MODE;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.os.Build;
|
||||||
import android.content.Intent;
|
|
||||||
+import android.content.SharedPreferences;
|
+import android.content.SharedPreferences;
|
||||||
import android.graphics.drawable.Drawable;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
@@ -25,6 +26,7 @@ import androidx.preference.Preference;
|
import android.text.style.ClickableSpan;
|
||||||
|
@@ -22,6 +23,8 @@ import org.chromium.base.metrics.RecordHistogram;
|
||||||
import org.chromium.base.ApiCompatibilityUtils;
|
|
||||||
import org.chromium.base.Callback;
|
|
||||||
+import org.chromium.base.ContextUtils;
|
|
||||||
import org.chromium.base.IntentUtils;
|
|
||||||
import org.chromium.base.metrics.RecordHistogram;
|
|
||||||
import org.chromium.base.metrics.RecordUserAction;
|
import org.chromium.base.metrics.RecordUserAction;
|
||||||
@@ -121,6 +123,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
import org.chromium.base.supplier.ObservableSupplier;
|
||||||
|
import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||||
|
+import org.chromium.base.ContextUtils;
|
||||||
|
+import org.chromium.base.BuildInfo;
|
||||||
|
import org.chromium.chrome.R;
|
||||||
|
import org.chromium.chrome.browser.enterprise.util.ManagedBrowserUtils;
|
||||||
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||||
|
@@ -92,6 +95,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
private final SharedPreferencesManager mSharedPreferencesManager =
|
private final SharedPreferencesManager mSharedPreferencesManager =
|
||||||
ChromeSharedPreferences.getInstance();
|
ChromeSharedPreferences.getInstance();
|
||||||
|
|
||||||
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
||||||
+
|
+
|
||||||
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||||
@VisibleForTesting static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies";
|
@VisibleForTesting static final String PREF_FP_PROTECTION = "fp_protection";
|
||||||
private static final String PREF_ADVANCED_PROTECTION_INFO = "advanced_protection_info";
|
@VisibleForTesting static final String PREF_IP_PROTECTION = "ip_protection";
|
||||||
@@ -418,7 +422,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -333,7 +338,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
String key = preference.getKey();
|
String key = preference.getKey();
|
||||||
@@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
UserPrefs.get(getProfile())
|
UserPrefs.get(getProfile())
|
||||||
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
||||||
} else if (PREF_HTTPS_FIRST_MODE_LEGACY.equals(key)) {
|
} else if (PREF_HTTPS_FIRST_MODE_LEGACY.equals(key)) {
|
||||||
@@ -478,6 +486,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -409,6 +418,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
getContext(), getProfile()));
|
getContext(), getProfile()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,35 +102,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
|
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
|
||||||
if (secureDnsPref != null && secureDnsPref.isVisible()) {
|
if (secureDnsPref != null && secureDnsPref.isVisible()) {
|
||||||
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
|
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
|
||||||
diff --git a/chrome/browser/tab_group_sync/android/java/src/org/chromium/chrome/browser/tab_group_sync/StartupHelper.java b/chrome/browser/tab_group_sync/android/java/src/org/chromium/chrome/browser/tab_group_sync/StartupHelper.java
|
|
||||||
--- a/chrome/browser/tab_group_sync/android/java/src/org/chromium/chrome/browser/tab_group_sync/StartupHelper.java
|
|
||||||
+++ b/chrome/browser/tab_group_sync/android/java/src/org/chromium/chrome/browser/tab_group_sync/StartupHelper.java
|
|
||||||
@@ -4,6 +4,7 @@
|
|
||||||
|
|
||||||
package org.chromium.chrome.browser.tab_group_sync;
|
|
||||||
|
|
||||||
+import org.chromium.base.ContextUtils;
|
|
||||||
import org.chromium.base.metrics.RecordHistogram;
|
|
||||||
import org.chromium.build.annotations.NullMarked;
|
|
||||||
import org.chromium.chrome.browser.preferences.Pref;
|
|
||||||
@@ -74,6 +75,11 @@ public class StartupHelper {
|
|
||||||
*/
|
|
||||||
public void initializeTabGroupSync() {
|
|
||||||
LogUtils.log(TAG, "initializeTabGroupSync");
|
|
||||||
+ if (ContextUtils.getAppSharedPreferences().getBoolean("close_tabs_on_exit", false)) {
|
|
||||||
+ for (String tabGroupId : mTabGroupSyncService.getAllGroupIds()) {
|
|
||||||
+ mTabGroupSyncService.removeGroup(tabGroupId);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
// First close the groups that were deleted remotely when the activity was not running.
|
|
||||||
closeDeletedGroupsFromTabModel();
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -3021,6 +3021,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
@@ -5479,6 +5479,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||||
<message name="IDS_ACCESSIBILITY_TAB_SWITCHER_TITLE" desc="Accessibility label of the current window when Grid Tab Switcher is shown.">
|
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
|
||||||
All tabs
|
IMAGE
|
||||||
</message>
|
</message>
|
||||||
+ <message name="IDS_CLOSE_TABS_ON_EXIT_TITLE" desc="Text for 'Close tabs on exit' settings-privacy option.">
|
+ <message name="IDS_CLOSE_TABS_ON_EXIT_TITLE" desc="Text for 'Close tabs on exit' settings-privacy option.">
|
||||||
+ Close all open tabs on exit
|
+ Close all open tabs on exit
|
||||||
@@ -138,7 +115,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
+ <message name="IDS_CLOSE_TABS_ON_EXIT_SUMMARY" desc="Summary text for 'Close tabs on exit' settings-privacy option.">
|
+ <message name="IDS_CLOSE_TABS_ON_EXIT_SUMMARY" desc="Summary text for 'Close tabs on exit' settings-privacy option.">
|
||||||
+ Don't persist tabs between browsing sessions. Caution: parameters in urls allow linking between different sessions.
|
+ Don't persist tabs between browsing sessions. Caution: parameters in urls allow linking between different sessions.
|
||||||
+ </message>
|
+ </message>
|
||||||
<message name="IDS_TAB_LOADING_DEFAULT_TITLE" desc="The title of a tab when we are still waiting for either the URL or the real title. This generally shows when the page is first loading.">
|
<message name="IDS_CONTEXTMENU_LINK_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the link.">
|
||||||
Loading…
|
LINK
|
||||||
</message>
|
</message>
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ And allow use about:blank as default homepage
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
.../tab_management/TabGridDialogMediator.java | 12 +++++++++++-
|
.../tab_management/TabGridDialogMediator.java | 11 ++++++++++-
|
||||||
.../tasks/tab_management/TabGroupUiMediator.java | 8 +++++++-
|
.../tasks/tab_management/TabGroupUiMediator.java | 8 +++++++-
|
||||||
.../java/res/xml/homepage_preferences.xml | 5 +++++
|
.../java/res/xml/homepage_preferences.xml | 5 +++++
|
||||||
.../strip/TabGroupContextMenuCoordinator.java | 10 +++++++++-
|
.../strip/TabGroupContextMenuCoordinator.java | 11 ++++++++++-
|
||||||
.../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++
|
.../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++
|
||||||
.../homepage/settings/HomepageSettings.java | 12 ++++++++++++
|
.../homepage/settings/HomepageSettings.java | 12 ++++++++++++
|
||||||
.../chrome/browser/metrics/LaunchMetrics.java | 1 -
|
.../chrome/browser/metrics/LaunchMetrics.java | 1 -
|
||||||
@@ -24,17 +24,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
||||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
||||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
||||||
@@ -102,6 +102,7 @@ import org.chromium.components.collaboration.messaging.PersistentNotificationTyp
|
@@ -99,6 +99,9 @@ import java.util.Map;
|
||||||
import org.chromium.components.data_sharing.DataSharingService;
|
import java.util.Objects;
|
||||||
import org.chromium.components.data_sharing.GroupMember;
|
import java.util.Optional;
|
||||||
import org.chromium.components.data_sharing.member_role.MemberRole;
|
|
||||||
+import org.chromium.components.embedder_support.util.UrlConstants;
|
|
||||||
import org.chromium.components.tab_group_sync.EitherId.EitherGroupId;
|
|
||||||
import org.chromium.components.tab_group_sync.LocalTabGroupId;
|
|
||||||
import org.chromium.components.tab_group_sync.TabGroupSyncService;
|
|
||||||
@@ -122,6 +123,9 @@ import java.util.Objects;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.function.Supplier;
|
|
||||||
|
|
||||||
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
||||||
+import org.chromium.url.GURL;
|
+import org.chromium.url.GURL;
|
||||||
@@ -42,47 +34,47 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|||||||
/**
|
/**
|
||||||
* A mediator for the TabGridDialog component, responsible for communicating with the components'
|
* A mediator for the TabGridDialog component, responsible for communicating with the components'
|
||||||
* coordinator as well as managing the business logic for dialog show/hide.
|
* coordinator as well as managing the business logic for dialog show/hide.
|
||||||
@@ -1017,9 +1021,15 @@ public class TabGridDialogMediator
|
@@ -918,9 +921,15 @@ public class TabGridDialogMediator
|
||||||
UrlConstantResolver urlConstantResolver =
|
return;
|
||||||
UrlConstantResolverFactory.getForProfile(profile);
|
}
|
||||||
|
|
||||||
+ String url = urlConstantResolver.getNtpUrl();
|
+ String url = UrlConstants.NTP_URL;
|
||||||
+ if (UrlConstants.NTP_URL.equals(url)
|
+ if (UrlConstants.NTP_URL.equals(url)
|
||||||
+ && HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
+ && HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
||||||
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl(profile.isIncognitoBranded());
|
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
|
||||||
+ url = gurl != null ? gurl.getSpec() : url;
|
+ url = gurl != null ? gurl.getSpec() : url;
|
||||||
+ }
|
+ }
|
||||||
TabGroupUtils.openUrlInGroup(
|
TabGroupUtils.openUrlInGroup(
|
||||||
assumeNonNull(mCurrentTabGroupModelFilterSupplier.get()),
|
mCurrentTabGroupModelFilterSupplier.get(),
|
||||||
- urlConstantResolver.getNtpUrl(),
|
- UrlConstants.NTP_URL,
|
||||||
+ url,
|
+ url,
|
||||||
tabsInGroup.get(tabsInGroup.size() - 1).getId(),
|
currentTab.getId(),
|
||||||
TabLaunchType.FROM_TAB_GROUP_UI);
|
TabLaunchType.FROM_TAB_GROUP_UI);
|
||||||
RecordUserAction.record("MobileNewTabOpened." + mComponentName);
|
RecordUserAction.record("MobileNewTabOpened." + mComponentName);
|
||||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
||||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
||||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
||||||
@@ -37,6 +37,7 @@ import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory;
|
@@ -25,6 +25,7 @@ import org.chromium.chrome.browser.collaboration.CollaborationServiceFactory;
|
||||||
import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesConfig;
|
import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory;
|
||||||
import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesCoordinator;
|
import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesCoordinator;
|
||||||
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||||
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
||||||
|
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
|
||||||
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
|
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
|
||||||
import org.chromium.chrome.browser.layouts.LayoutType;
|
import org.chromium.chrome.browser.layouts.LayoutType;
|
||||||
import org.chromium.chrome.browser.profiles.Profile;
|
@@ -366,10 +367,15 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
|
||||||
@@ -426,10 +427,15 @@ public class TabGroupUiMediator implements BackPressHandler {
|
assert relatedTabs.size() > 0;
|
||||||
UrlConstantResolverFactory.getForProfile(currentTabProfile);
|
|
||||||
|
|
||||||
Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
|
Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
|
||||||
+ String url = urlConstantResolver.getNtpUrl();
|
+ String url = UrlConstants.NTP_URL;
|
||||||
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
||||||
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl(currentTab.isIncognito());
|
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
|
||||||
+ url = gurl != null ? gurl.getSpec() : url;
|
+ url = gurl != null ? gurl.getSpec() : url;
|
||||||
+ }
|
+ }
|
||||||
mTabCreatorManager
|
mTabCreatorManager
|
||||||
.getTabCreator(currentTab.isIncognito())
|
.getTabCreator(currentTab.isIncognito())
|
||||||
.createNewTab(
|
.createNewTab(
|
||||||
- new LoadUrlParams(urlConstantResolver.getNtpUrl()),
|
- new LoadUrlParams(UrlConstants.NTP_URL),
|
||||||
+ new LoadUrlParams(url),
|
+ new LoadUrlParams(url),
|
||||||
TabLaunchType.FROM_TAB_GROUP_UI,
|
TabLaunchType.FROM_TAB_GROUP_UI,
|
||||||
parentTabToAttach);
|
parentTabToAttach);
|
||||||
@@ -105,9 +97,9 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
|
||||||
@@ -96,6 +96,9 @@ import java.util.List;
|
@@ -66,6 +66,9 @@ import org.chromium.ui.text.EmptyTextWatcher;
|
||||||
import java.util.function.BiConsumer;
|
import org.chromium.ui.widget.AnchoredPopupWindow.HorizontalOrientation;
|
||||||
import java.util.function.Supplier;
|
import org.chromium.ui.widget.RectProvider;
|
||||||
|
|
||||||
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
||||||
+import org.chromium.url.GURL;
|
+import org.chromium.url.GURL;
|
||||||
@@ -115,26 +107,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
|||||||
/**
|
/**
|
||||||
* A coordinator for the context menu on the tab strip by long-pressing on the group titles. It is
|
* A coordinator for the context menu on the tab strip by long-pressing on the group titles. It is
|
||||||
* responsible for creating a list of menu items, setting up the menu and displaying the menu.
|
* responsible for creating a list of menu items, setting up the menu and displaying the menu.
|
||||||
@@ -249,9 +252,14 @@ public class TabGroupContextMenuCoordinator extends TabStripReorderingHelper<Tok
|
@@ -197,9 +200,15 @@ public class TabGroupContextMenuCoordinator extends TabGroupOverflowMenuCoordina
|
||||||
UrlConstantResolver resolver =
|
/* didCloseCallback= */ null);
|
||||||
UrlConstantResolverFactory.getForProfile(
|
recordUserAction("DeleteGroup");
|
||||||
tabGroupModelFilter.getTabModel().getProfile());
|
} else if (menuId == org.chromium.chrome.R.id.open_new_tab_in_group) {
|
||||||
+ String url = resolver.getNtpUrl();
|
+ String url = UrlConstants.NTP_URL;
|
||||||
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
+ if (UrlConstants.NTP_URL.equals(url)
|
||||||
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl(tabModelSupplier.get().isIncognitoBranded());
|
+ && HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
||||||
|
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
|
||||||
+ url = gurl != null ? gurl.getSpec() : url;
|
+ url = gurl != null ? gurl.getSpec() : url;
|
||||||
+ }
|
+ }
|
||||||
TabGroupUtils.openUrlInGroup(
|
TabGroupUtils.openUrlInGroup(
|
||||||
tabGroupModelFilter,
|
tabGroupModelFilter,
|
||||||
- resolver.getNtpUrl(),
|
- UrlConstants.NTP_URL,
|
||||||
+ url,
|
+ url,
|
||||||
tabId,
|
tabId,
|
||||||
TabLaunchType.FROM_TAB_GROUP_UI);
|
TabLaunchType.FROM_TAB_GROUP_UI);
|
||||||
RecordUserAction.record("MobileToolbarTabGroupMenu.NewTabInGroup");
|
recordUserAction("NewTabInGroup");
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||||
@@ -264,6 +264,22 @@ public class HomepageManager
|
@@ -237,6 +237,22 @@ public class HomepageManager
|
||||||
notifyHomepageUpdated();
|
notifyHomepageUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,15 +153,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
||||||
@@ -28,6 +28,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils;
|
@@ -24,6 +24,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||||
import org.chromium.components.embedder_support.util.UrlUtilities;
|
import org.chromium.components.embedder_support.util.UrlUtilities;
|
||||||
import org.chromium.components.url_formatter.UrlFormatter;
|
import org.chromium.components.url_formatter.UrlFormatter;
|
||||||
import org.chromium.url.GURL;
|
import org.chromium.url.GURL;
|
||||||
+import org.chromium.components.embedder_support.util.UrlConstants;
|
+import org.chromium.components.embedder_support.util.UrlConstants;
|
||||||
|
|
||||||
/** Fragment that allows the user to configure homepage related preferences. */
|
/** Fragment that allows the user to configure homepage related preferences. */
|
||||||
@NullMarked
|
public class HomepageSettings extends ChromeBaseSettingsFragment {
|
||||||
@@ -37,6 +38,8 @@ public class HomepageSettings extends ChromeBaseSettingsFragment {
|
@@ -32,6 +33,8 @@ public class HomepageSettings extends ChromeBaseSettingsFragment {
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public static final String PREF_HOMEPAGE_RADIO_GROUP = "homepage_radio_group";
|
public static final String PREF_HOMEPAGE_RADIO_GROUP = "homepage_radio_group";
|
||||||
|
|
||||||
@@ -176,9 +169,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin
|
|||||||
+
|
+
|
||||||
private HomepageManager mHomepageManager;
|
private HomepageManager mHomepageManager;
|
||||||
private RadioButtonGroupHomepagePreference mRadioButtons;
|
private RadioButtonGroupHomepagePreference mRadioButtons;
|
||||||
private final SettableMonotonicObservableSupplier<String> mPageTitle =
|
private final ObservableSupplierImpl<String> mPageTitle = new ObservableSupplierImpl<>();
|
||||||
@@ -105,6 +108,15 @@ public class HomepageSettings extends ChromeBaseSettingsFragment {
|
@@ -67,6 +70,15 @@ public class HomepageSettings extends ChromeBaseSettingsFragment {
|
||||||
mRadioButtons.setOnHomepagePreferenceChangeListener(this::onRadioButtonGroupChanged);
|
});
|
||||||
mRadioButtons.setupPreferenceValues(createPreferenceValuesForRadioGroup());
|
mRadioButtons.setupPreferenceValues(createPreferenceValuesForRadioGroup());
|
||||||
|
|
||||||
+ ChromeSwitchPreference mNTPIsHomepageSwitch =
|
+ ChromeSwitchPreference mNTPIsHomepageSwitch =
|
||||||
@@ -196,7 +189,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
||||||
@@ -136,7 +136,6 @@ public class LaunchMetrics {
|
@@ -113,7 +113,6 @@ public class LaunchMetrics {
|
||||||
public static void recordHomePageLaunchMetrics(
|
public static void recordHomePageLaunchMetrics(
|
||||||
boolean showHomeButton, boolean homepageIsNtp, GURL homepageGurl) {
|
boolean showHomeButton, boolean homepageIsNtp, GURL homepageGurl) {
|
||||||
if (homepageGurl.isEmpty()) {
|
if (homepageGurl.isEmpty()) {
|
||||||
@@ -207,21 +200,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchM
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||||
@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingDelegateFact
|
@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
|
||||||
import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
|
|
||||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||||
|
import org.chromium.chrome.browser.new_tab_url.DseNewTabUrlManager;
|
||||||
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
||||||
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
|
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
|
||||||
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState;
|
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState;
|
||||||
import org.chromium.chrome.browser.profiles.Profile;
|
import org.chromium.chrome.browser.profiles.Profile;
|
||||||
@@ -575,6 +576,13 @@ public class ChromeTabCreator implements TabCreator, NeedsTabModel, NeedsTabMode
|
@@ -485,6 +486,13 @@ public class ChromeTabCreator extends TabCreator {
|
||||||
|
* @return the created tab.
|
||||||
*/
|
*/
|
||||||
public @Nullable Tab launchUrl(
|
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
|
||||||
String url, @TabLaunchType int type, @Nullable Intent intent, long intentTimestamp) {
|
|
||||||
+ if (!mIncognito && url.equals(UrlConstants.NTP_URL)) {
|
+ if (!mIncognito && url.equals(UrlConstants.NTP_URL)) {
|
||||||
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
||||||
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl(mIncognito);
|
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
|
||||||
+ url = gurl != null ? gurl.getSpec() : url;
|
+ url = gurl != null ? gurl.getSpec() : url;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
@@ -232,7 +225,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
|||||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
@@ -426,6 +426,7 @@ public final class ChromePreferenceKeys {
|
@@ -293,6 +293,7 @@ public final class ChromePreferenceKeys {
|
||||||
public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP";
|
public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP";
|
||||||
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
|
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
|
||||||
|
|
||||||
@@ -243,7 +236,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
@@ -60,6 +60,7 @@ public class LegacyChromePreferenceKeys {
|
@@ -61,6 +61,7 @@ public class LegacyChromePreferenceKeys {
|
||||||
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
|
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
|
||||||
ChromePreferenceKeys.HOMEPAGE_ENABLED,
|
ChromePreferenceKeys.HOMEPAGE_ENABLED,
|
||||||
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
|
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
|
||||||
@@ -254,7 +247,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -1465,6 +1465,9 @@ Your Google account may have other forms of browsing history like searches and a
|
@@ -1478,6 +1478,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||||
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
|
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
|
||||||
Last hour
|
Last hour
|
||||||
</message>
|
</message>
|
||||||
@@ -267,21 +260,21 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
||||||
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
||||||
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
||||||
@@ -128,6 +128,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
@@ -90,6 +90,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||||
pref_registration_flags);
|
registry->RegisterBooleanPref(
|
||||||
registry->RegisterBooleanPref(prefs::kPinSplitTabButton, false,
|
prefs::kShowForwardButton, true,
|
||||||
pref_registration_flags);
|
GetHomeAndForwardButtonAndHomePageIsNewTabPageFlags());
|
||||||
+ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false,
|
+ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false,
|
||||||
+ PrefRegistry::NO_REGISTRATION_FLAGS);
|
+ PrefRegistry::NO_REGISTRATION_FLAGS);
|
||||||
|
|
||||||
registry->RegisterInt64Pref(prefs::kDefaultBrowserInfobarLastDeclined, 0);
|
registry->RegisterInt64Pref(prefs::kDefaultBrowserLastDeclined, 0);
|
||||||
registry->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true);
|
registry->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true);
|
||||||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||||
--- a/chrome/common/pref_names.h
|
--- a/chrome/common/pref_names.h
|
||||||
+++ b/chrome/common/pref_names.h
|
+++ b/chrome/common/pref_names.h
|
||||||
@@ -868,6 +868,10 @@ inline constexpr char kSplitViewDragAndDropNudgeUsedCount[] =
|
@@ -1326,6 +1326,10 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button";
|
||||||
// by enterprise policy.
|
// toolbar.
|
||||||
inline constexpr char kGeminiSettings[] = "browser.gemini_settings";
|
inline constexpr char kShowForwardButton[] = "browser.show_forward_button";
|
||||||
|
|
||||||
+// A boolean specifying whether opening a new tab should open the Home page
|
+// A boolean specifying whether opening a new tab should open the Home page
|
||||||
+// instead of the New Tab page.
|
+// instead of the New Tab page.
|
||||||
|
|||||||
@@ -9,18 +9,20 @@ Add DuckDuckGo Lite
|
|||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
.../search_engine_choice/default_favicon.png | Bin 0 -> 903 bytes
|
.../search_engine_choice/default_favicon.png | Bin 0 -> 903 bytes
|
||||||
|
...search_engine_choice_scaled_resources.grdp | 1 +
|
||||||
components/search_engines/BUILD.gn | 3 ++
|
components/search_engines/BUILD.gn | 3 ++
|
||||||
components/search_engines/cromite/BUILD.gn | 12 ++++++
|
components/search_engines/cromite/BUILD.gn | 12 ++++++
|
||||||
.../cromite/cromite_prepopulated_engines.json | 37 ++++++++++++++++++
|
.../cromite/cromite_prepopulated_engines.json | 37 ++++++++++++++++++
|
||||||
.../search_engine_choice_utils.cc | 9 +----
|
.../search_engine_choice_utils.cc | 5 +--
|
||||||
|
.../search_engine_countries-inc.cc | 2 +
|
||||||
.../search_engines/search_engine_type.h | 5 +++
|
.../search_engines/search_engine_type.h | 5 +++
|
||||||
.../template_url_prepopulate_data.cc | 21 +++++++++-
|
.../template_url_prepopulate_data.cc | 3 +-
|
||||||
.../template_url_prepopulate_data.h | 9 -----
|
.../template_url_prepopulate_data.h | 7 ----
|
||||||
tools/json_to_struct/json_to_struct.gni | 9 +++++
|
tools/json_to_struct/json_to_struct.gni | 9 +++++
|
||||||
tools/json_to_struct/json_to_struct.py | 26 ++++++++----
|
tools/json_to_struct/json_to_struct.py | 26 ++++++++----
|
||||||
tools/json_to_struct/struct_generator.py | 10 +++--
|
tools/json_to_struct/struct_generator.py | 10 +++--
|
||||||
tools/variations/fieldtrial_to_struct.py | 4 +-
|
tools/variations/fieldtrial_to_struct.py | 4 +-
|
||||||
12 files changed, 113 insertions(+), 32 deletions(-)
|
14 files changed, 99 insertions(+), 25 deletions(-)
|
||||||
create mode 100644 components/resources/default_100_percent/search_engine_choice/default_favicon.png
|
create mode 100644 components/resources/default_100_percent/search_engine_choice/default_favicon.png
|
||||||
create mode 100644 components/search_engines/cromite/BUILD.gn
|
create mode 100644 components/search_engines/cromite/BUILD.gn
|
||||||
create mode 100644 components/search_engines/cromite/cromite_prepopulated_engines.json
|
create mode 100644 components/search_engines/cromite/cromite_prepopulated_engines.json
|
||||||
@@ -52,10 +54,21 @@ d#;<tA>kFnu^?NN9uE_uZ002ovPDHLkV1m60sc!%P
|
|||||||
literal 0
|
literal 0
|
||||||
HcmV?d00001
|
HcmV?d00001
|
||||||
|
|
||||||
|
diff --git a/components/resources/search_engine_choice_scaled_resources.grdp b/components/resources/search_engine_choice_scaled_resources.grdp
|
||||||
|
--- a/components/resources/search_engine_choice_scaled_resources.grdp
|
||||||
|
+++ b/components/resources/search_engine_choice_scaled_resources.grdp
|
||||||
|
@@ -5,6 +5,7 @@
|
||||||
|
<if expr="_google_chrome">
|
||||||
|
<structure type="chrome_scaled_image" name="IDR_GOOGLE_COM_PNG" file="google_chrome/google_search_logo.png" />
|
||||||
|
</if>
|
||||||
|
+ <structure type="chrome_scaled_image" name="IDR_GOOGLEEN_PNG" file="search_engine_choice/default_favicon.png" />
|
||||||
|
<structure type="chrome_scaled_image" name="IDR_AR_YAHOO_COM_PNG" file="search_engine_choice/yahoo_com.png" />
|
||||||
|
<structure type="chrome_scaled_image" name="IDR_AT_YAHOO_COM_PNG" file="search_engine_choice/yahoo_com.png" />
|
||||||
|
<structure type="chrome_scaled_image" name="IDR_AU_YAHOO_COM_PNG" file="search_engine_choice/yahoo_com.png" />
|
||||||
diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUILD.gn
|
diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUILD.gn
|
||||||
--- a/components/search_engines/BUILD.gn
|
--- a/components/search_engines/BUILD.gn
|
||||||
+++ b/components/search_engines/BUILD.gn
|
+++ b/components/search_engines/BUILD.gn
|
||||||
@@ -74,6 +74,7 @@ static_library("search_engines") {
|
@@ -70,6 +70,7 @@ static_library("search_engines") {
|
||||||
"//third_party/metrics_proto",
|
"//third_party/metrics_proto",
|
||||||
"//third_party/omnibox_proto",
|
"//third_party/omnibox_proto",
|
||||||
"//third_party/search_engines_data:prepopulated_engines",
|
"//third_party/search_engines_data:prepopulated_engines",
|
||||||
@@ -63,18 +76,18 @@ diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUIL
|
|||||||
]
|
]
|
||||||
|
|
||||||
deps = [
|
deps = [
|
||||||
@@ -165,6 +166,7 @@ source_set("search_engine_utils") {
|
@@ -155,6 +156,7 @@ source_set("search_engine_utils") {
|
||||||
"//components/regional_capabilities",
|
":search_engine_type",
|
||||||
"//components/regional_capabilities:switches",
|
"//components/google/core/common",
|
||||||
"//third_party/search_engines_data:prepopulated_engines",
|
"//third_party/search_engines_data:prepopulated_engines",
|
||||||
+ "cromite:cromite_prepopulated_engines",
|
+ "cromite:cromite_prepopulated_engines",
|
||||||
]
|
]
|
||||||
|
|
||||||
deps = [ "//url" ]
|
deps = [ "//url" ]
|
||||||
@@ -264,6 +266,7 @@ source_set("unit_tests") {
|
@@ -235,6 +237,7 @@ source_set("unit_tests") {
|
||||||
|
"//testing/gmock",
|
||||||
"//testing/gtest",
|
"//testing/gtest",
|
||||||
"//third_party/search_engines_data:prepopulated_engines",
|
"//third_party/search_engines_data:prepopulated_engines",
|
||||||
"//third_party/search_engines_data:regional_settings",
|
|
||||||
+ "cromite:cromite_prepopulated_engines",
|
+ "cromite:cromite_prepopulated_engines",
|
||||||
"//ui/base",
|
"//ui/base",
|
||||||
"//url",
|
"//url",
|
||||||
@@ -141,7 +154,7 @@ new file mode 100644
|
|||||||
diff --git a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
|
diff --git a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
|
||||||
--- a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
|
--- a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
|
||||||
+++ b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
|
+++ b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
|
||||||
@@ -211,14 +211,7 @@ void RecordChoiceScreenDefaultSearchProviderType(
|
@@ -182,10 +182,7 @@ void RecordChoiceScreenDefaultSearchProviderType(
|
||||||
}
|
}
|
||||||
|
|
||||||
void RecordChoiceScreenSelectedIndex(int selected_engine_index) {
|
void RecordChoiceScreenSelectedIndex(int selected_engine_index) {
|
||||||
@@ -149,27 +162,33 @@ diff --git a/components/search_engines/search_engine_choice/search_engine_choice
|
|||||||
- kSearchEngineChoiceScreenSelectedEngineIndexHistogram,
|
- kSearchEngineChoiceScreenSelectedEngineIndexHistogram,
|
||||||
- selected_engine_index,
|
- selected_engine_index,
|
||||||
- TemplateURLPrepopulateData::kMaxEeaPrepopulatedEngines);
|
- TemplateURLPrepopulateData::kMaxEeaPrepopulatedEngines);
|
||||||
- base::PumaHistogramExactLinear(
|
|
||||||
- base::PumaType::kRc, kPumaSearchChoiceScreenSelectedEngineIndexHistogram,
|
|
||||||
- selected_engine_index,
|
|
||||||
- TemplateURLPrepopulateData::kMaxEeaPrepopulatedEngines);
|
|
||||||
+ // do nothing in Cromite
|
+ // do nothing in Cromite
|
||||||
}
|
}
|
||||||
|
|
||||||
void RecordChoiceScreenPositionsCountryMismatch(bool has_mismatch) {
|
void RecordChoiceScreenPositionsCountryMismatch(bool has_mismatch) {
|
||||||
|
diff --git a/components/search_engines/search_engine_countries-inc.cc b/components/search_engines/search_engine_countries-inc.cc
|
||||||
|
--- a/components/search_engines/search_engine_countries-inc.cc
|
||||||
|
+++ b/components/search_engines/search_engine_countries-inc.cc
|
||||||
|
@@ -1452,5 +1452,7 @@ const std::vector<EngineAndTier> GetPrepopulationSetFromCountryID(
|
||||||
|
for (size_t i = 0; i < num_engines; i++) {
|
||||||
|
t_url.push_back(engines[i]);
|
||||||
|
}
|
||||||
|
+ t_url.push_back({SearchEngineTier::kTopEngines, &googleen});
|
||||||
|
+ t_url.push_back({SearchEngineTier::kTopEngines, &duckduckgo_light});
|
||||||
|
return t_url;
|
||||||
|
}
|
||||||
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
|
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
|
||||||
--- a/components/search_engines/search_engine_type.h
|
--- a/components/search_engines/search_engine_type.h
|
||||||
+++ b/components/search_engines/search_engine_type.h
|
+++ b/components/search_engines/search_engine_type.h
|
||||||
@@ -99,11 +99,16 @@ enum SearchEngineType {
|
@@ -91,10 +91,15 @@ enum SearchEngineType {
|
||||||
SEARCH_ENGINE_KAGI = 79,
|
SEARCH_ENGINE_YOU = 72,
|
||||||
SEARCH_ENGINE_STARTER_PACK_AI_MODE = 80,
|
SEARCH_ENGINE_STARTER_PACK_GEMINI = 73,
|
||||||
SEARCH_ENGINE_YAHOO_JP = 81,
|
SEARCH_ENGINE_LILO = 74,
|
||||||
+ SEARCH_ENGINE_GOOGLE_EN = 82,
|
+ SEARCH_ENGINE_GOOGLE_EN = 75,
|
||||||
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 83,
|
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 76,
|
||||||
|
|
||||||
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
|
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
|
||||||
};
|
};
|
||||||
// LINT.ThenChange(//tools/metrics/histograms/enums.xml:OmniboxSearchEngineType)
|
|
||||||
|
|
||||||
+static_assert(SEARCH_ENGINE_DUCKDUCKGOLIGHT == (SEARCH_ENGINE_MAX - 1),
|
+static_assert(SEARCH_ENGINE_DUCKDUCKGOLIGHT == (SEARCH_ENGINE_MAX - 1),
|
||||||
+ "Please check this patch");
|
+ "Please check this patch");
|
||||||
@@ -181,7 +200,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||||||
--- a/components/search_engines/template_url_prepopulate_data.cc
|
--- a/components/search_engines/template_url_prepopulate_data.cc
|
||||||
+++ b/components/search_engines/template_url_prepopulate_data.cc
|
+++ b/components/search_engines/template_url_prepopulate_data.cc
|
||||||
@@ -29,6 +29,8 @@
|
@@ -29,6 +29,8 @@
|
||||||
#include "components/search_engines/template_url_data_util.h"
|
#include "components/version_info/version_info.h"
|
||||||
#include "third_party/search_engines_data/resources/definitions/prepopulated_engines.h"
|
#include "third_party/search_engines_data/resources/definitions/prepopulated_engines.h"
|
||||||
|
|
||||||
+#include "components/search_engines/cromite/cromite_prepopulated_engines.h"
|
+#include "components/search_engines/cromite/cromite_prepopulated_engines.h"
|
||||||
@@ -189,53 +208,18 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||||||
namespace TemplateURLPrepopulateData {
|
namespace TemplateURLPrepopulateData {
|
||||||
|
|
||||||
// Helpers --------------------------------------------------------------------
|
// Helpers --------------------------------------------------------------------
|
||||||
@@ -172,7 +174,7 @@ int GetDataVersion(PrefService* prefs) {
|
@@ -78,7 +80,6 @@ GetPrepopulatedEnginesForEeaRegionCountries(int country_id,
|
||||||
return kCurrentDataVersion;
|
generator.seed(profile_seed);
|
||||||
|
std::shuffle(t_urls.begin(), t_urls.end(), generator);
|
||||||
|
|
||||||
|
- CHECK_LE(t_urls.size(), kMaxEeaPrepopulatedEngines);
|
||||||
|
return t_urls;
|
||||||
}
|
}
|
||||||
|
|
||||||
-std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEngines(
|
|
||||||
+std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEnginesChromium(
|
|
||||||
PrefService& prefs,
|
|
||||||
const std::vector<const PrepopulatedEngine*>&
|
|
||||||
regional_prepopulated_engines) {
|
|
||||||
@@ -188,6 +190,17 @@ std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEngines(
|
|
||||||
&PrepopulatedEngineToTemplateURLData);
|
|
||||||
}
|
|
||||||
|
|
||||||
+std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEngines(
|
|
||||||
+ PrefService& prefs,
|
|
||||||
+ const std::vector<const PrepopulatedEngine*>&
|
|
||||||
+ regional_prepopulated_engines) {
|
|
||||||
+ std::vector<std::unique_ptr<TemplateURLData>> t_urls =
|
|
||||||
+ GetPrepopulatedEnginesChromium(prefs, regional_prepopulated_engines);
|
|
||||||
+ t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(googleen));
|
|
||||||
+ t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(duckduckgo_light));
|
|
||||||
+ return t_urls;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
std::unique_ptr<TemplateURLData> GetPrepopulatedEngine(
|
|
||||||
PrefService& prefs,
|
|
||||||
const std::vector<const PrepopulatedEngine*>& regional_prepopulated_engines,
|
|
||||||
@@ -208,10 +221,14 @@ std::vector<std::unique_ptr<TemplateURLData>> GetLocalPrepopulatedEngines(
|
|
||||||
return std::vector<std::unique_ptr<TemplateURLData>>();
|
|
||||||
}
|
|
||||||
|
|
||||||
- return base::ToVector(regional_capabilities::GetPrepopulatedEngines(
|
|
||||||
+ std::vector<std::unique_ptr<TemplateURLData>> t_urls =
|
|
||||||
+ base::ToVector(regional_capabilities::GetPrepopulatedEngines(
|
|
||||||
country_id, prefs,
|
|
||||||
regional_capabilities::SearchEngineListType::kTopN),
|
|
||||||
&PrepopulatedEngineToTemplateURLData);
|
|
||||||
+ t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(googleen));
|
|
||||||
+ t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(duckduckgo_light));
|
|
||||||
+ return t_urls;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
diff --git a/components/search_engines/template_url_prepopulate_data.h b/components/search_engines/template_url_prepopulate_data.h
|
diff --git a/components/search_engines/template_url_prepopulate_data.h b/components/search_engines/template_url_prepopulate_data.h
|
||||||
--- a/components/search_engines/template_url_prepopulate_data.h
|
--- a/components/search_engines/template_url_prepopulate_data.h
|
||||||
+++ b/components/search_engines/template_url_prepopulate_data.h
|
+++ b/components/search_engines/template_url_prepopulate_data.h
|
||||||
@@ -27,15 +27,6 @@ struct PrepopulatedEngine;
|
@@ -32,13 +32,6 @@ struct PrepopulatedEngine;
|
||||||
|
|
||||||
extern const int kMaxPrepopulatedEngineID;
|
extern const int kMaxPrepopulatedEngineID;
|
||||||
|
|
||||||
@@ -244,17 +228,15 @@ diff --git a/components/search_engines/template_url_prepopulate_data.h b/compone
|
|||||||
-//
|
-//
|
||||||
-// Note: If this is increased, please also increase the declared variant count
|
-// Note: If this is increased, please also increase the declared variant count
|
||||||
-// for the `Search.ChoiceScreenShowedEngineAt.Index{Index}` histogram.
|
-// for the `Search.ChoiceScreenShowedEngineAt.Index{Index}` histogram.
|
||||||
-// TODO(crbug.com/408932087): Investigate moving it to the file that actually
|
|
||||||
-// populates these, `//c/regional_capabilities/r*c*_util.cc`.
|
|
||||||
-inline constexpr size_t kMaxEeaPrepopulatedEngines = 8;
|
-inline constexpr size_t kMaxEeaPrepopulatedEngines = 8;
|
||||||
-
|
-
|
||||||
// The maximum number of prepopulated search engines that can be returned in
|
// The maximum number of prepopulated search engines that can be returned in
|
||||||
// in the rest of the world by `GetPrepopulatedEngines()`.
|
// in the rest of the world by `GetPrepopulatedEngines()`.
|
||||||
// TODO(crbug.com/408932087): Investigate deduping it with the constant
|
inline constexpr size_t kMaxRowPrepopulatedEngines = 5;
|
||||||
diff --git a/tools/json_to_struct/json_to_struct.gni b/tools/json_to_struct/json_to_struct.gni
|
diff --git a/tools/json_to_struct/json_to_struct.gni b/tools/json_to_struct/json_to_struct.gni
|
||||||
--- a/tools/json_to_struct/json_to_struct.gni
|
--- a/tools/json_to_struct/json_to_struct.gni
|
||||||
+++ b/tools/json_to_struct/json_to_struct.gni
|
+++ b/tools/json_to_struct/json_to_struct.gni
|
||||||
@@ -39,6 +39,11 @@ template("json_to_struct") {
|
@@ -25,6 +25,11 @@ template("json_to_struct") {
|
||||||
action_name = target_name + "_action"
|
action_name = target_name + "_action"
|
||||||
source_set_name = target_name
|
source_set_name = target_name
|
||||||
|
|
||||||
@@ -266,7 +248,7 @@ diff --git a/tools/json_to_struct/json_to_struct.gni b/tools/json_to_struct/json
|
|||||||
action(action_name) {
|
action(action_name) {
|
||||||
visibility = [ ":$source_set_name" ]
|
visibility = [ ":$source_set_name" ]
|
||||||
script = "//tools/json_to_struct/json_to_struct.py"
|
script = "//tools/json_to_struct/json_to_struct.py"
|
||||||
@@ -61,6 +66,10 @@ template("json_to_struct") {
|
@@ -49,6 +54,10 @@ template("json_to_struct") {
|
||||||
"--namespace=" + invoker.namespace,
|
"--namespace=" + invoker.namespace,
|
||||||
"--schema=" + rebase_path(invoker.schema_file, root_build_dir),
|
"--schema=" + rebase_path(invoker.schema_file, root_build_dir),
|
||||||
]
|
]
|
||||||
@@ -280,7 +262,7 @@ diff --git a/tools/json_to_struct/json_to_struct.gni b/tools/json_to_struct/json
|
|||||||
diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_to_struct.py
|
diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_to_struct.py
|
||||||
--- a/tools/json_to_struct/json_to_struct.py
|
--- a/tools/json_to_struct/json_to_struct.py
|
||||||
+++ b/tools/json_to_struct/json_to_struct.py
|
+++ b/tools/json_to_struct/json_to_struct.py
|
||||||
@@ -104,7 +104,7 @@ def _GenerateHeaderGuard(h_filename):
|
@@ -97,7 +97,7 @@ def _GenerateHeaderGuard(h_filename):
|
||||||
return re.sub(u'^_*', '', result) + u'_' # Remove leading underscores.
|
return re.sub(u'^_*', '', result) + u'_' # Remove leading underscores.
|
||||||
|
|
||||||
|
|
||||||
@@ -289,7 +271,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
|||||||
"""Generates the .h file containing the definition of the structure specified
|
"""Generates the .h file containing the definition of the structure specified
|
||||||
by the schema.
|
by the schema.
|
||||||
|
|
||||||
@@ -148,11 +148,15 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
|
@@ -133,11 +133,15 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
|
||||||
f.write(u'#include "%s"\n' % header)
|
f.write(u'#include "%s"\n' % header)
|
||||||
f.write(u'\n')
|
f.write(u'\n')
|
||||||
|
|
||||||
@@ -306,7 +288,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
|||||||
schema['type_name'], schema['schema']))
|
schema['type_name'], schema['schema']))
|
||||||
f.write(u'\n')
|
f.write(u'\n')
|
||||||
|
|
||||||
@@ -177,7 +181,7 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
|
@@ -162,7 +166,7 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
|
||||||
f.write(u'#endif // %s\n' % header_guard)
|
f.write(u'#endif // %s\n' % header_guard)
|
||||||
|
|
||||||
|
|
||||||
@@ -315,16 +297,16 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
|||||||
"""Generates the .cc file containing the static initializers for the
|
"""Generates the .cc file containing the static initializers for the
|
||||||
of the elements specified in the description.
|
of the elements specified in the description.
|
||||||
|
|
||||||
@@ -212,7 +216,7 @@ def _GenerateCC(basepath, fileroot, head, namespace, schema, description):
|
@@ -191,7 +195,7 @@ def _GenerateCC(basepath, fileroot, head, namespace, schema, description):
|
||||||
f.write(element_generator.GenerateElements(schema['type_name'],
|
f.write(element_generator.GenerateElements(schema['type_name'],
|
||||||
schema['schema'], description))
|
schema['schema'], description))
|
||||||
|
|
||||||
- if not aggregation.export_items:
|
- if 'generate_array' in description:
|
||||||
+ if excludetype == False and not aggregation.export_items:
|
+ if excludetype == False and 'generate_array' in description:
|
||||||
f.write('\n} // anonymous namespace \n\n')
|
f.write(u'\n')
|
||||||
|
f.write(
|
||||||
aggregated = GenerateCCAggregation(schema['type_name'], aggregation)
|
u'const %s* const array_%s[] = {\n' %
|
||||||
@@ -299,7 +303,7 @@ def GenerateClass(basepath,
|
@@ -283,7 +287,7 @@ def GenerateClass(basepath,
|
||||||
|
|
||||||
|
|
||||||
def GenerateStruct(basepath, output_root, namespace, schema, description,
|
def GenerateStruct(basepath, output_root, namespace, schema, description,
|
||||||
@@ -333,7 +315,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
|||||||
"""Generates a C++ struct from a JSON description.
|
"""Generates a C++ struct from a JSON description.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@@ -318,8 +322,8 @@ def GenerateStruct(basepath, output_root, namespace, schema, description,
|
@@ -302,8 +306,8 @@ def GenerateStruct(basepath, output_root, namespace, schema, description,
|
||||||
"""
|
"""
|
||||||
year = int(year) if year else datetime.now().year
|
year = int(year) if year else datetime.now().year
|
||||||
head = HEAD % (year, schema_filename, description_filename)
|
head = HEAD % (year, schema_filename, description_filename)
|
||||||
@@ -344,7 +326,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
|||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
parser = optparse.OptionParser(
|
parser = optparse.OptionParser(
|
||||||
@@ -334,11 +338,17 @@ if __name__ == '__main__':
|
@@ -318,11 +322,17 @@ if __name__ == '__main__':
|
||||||
parser.add_option('-s', '--schema', help='path to the schema file, '
|
parser.add_option('-s', '--schema', help='path to the schema file, '
|
||||||
'mandatory.')
|
'mandatory.')
|
||||||
parser.add_option('-o', '--output', help='output filename, ')
|
parser.add_option('-o', '--output', help='output filename, ')
|
||||||
@@ -362,7 +344,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
|||||||
description_filename = os.path.normpath(args[0])
|
description_filename = os.path.normpath(args[0])
|
||||||
root, ext = os.path.splitext(description_filename)
|
root, ext = os.path.splitext(description_filename)
|
||||||
shortroot = opts.output if opts.output else os.path.split(root)[1]
|
shortroot = opts.output if opts.output else os.path.split(root)[1]
|
||||||
@@ -355,4 +365,4 @@ if __name__ == '__main__':
|
@@ -339,4 +349,4 @@ if __name__ == '__main__':
|
||||||
schema = _Load(opts.schema)
|
schema = _Load(opts.schema)
|
||||||
description = _Load(description_filename)
|
description = _Load(description_filename)
|
||||||
GenerateStruct(basepath, output_root, opts.namespace, schema, description,
|
GenerateStruct(basepath, output_root, opts.namespace, schema, description,
|
||||||
@@ -402,7 +384,7 @@ diff --git a/tools/json_to_struct/struct_generator.py b/tools/json_to_struct/str
|
|||||||
diff --git a/tools/variations/fieldtrial_to_struct.py b/tools/variations/fieldtrial_to_struct.py
|
diff --git a/tools/variations/fieldtrial_to_struct.py b/tools/variations/fieldtrial_to_struct.py
|
||||||
--- a/tools/variations/fieldtrial_to_struct.py
|
--- a/tools/variations/fieldtrial_to_struct.py
|
||||||
+++ b/tools/variations/fieldtrial_to_struct.py
|
+++ b/tools/variations/fieldtrial_to_struct.py
|
||||||
@@ -210,14 +210,14 @@ def main(arguments):
|
@@ -232,14 +232,14 @@ def main(arguments):
|
||||||
json_to_struct.GenerateStruct(
|
json_to_struct.GenerateStruct(
|
||||||
basepath, output_root, opts.namespace, schema, description,
|
basepath, output_root, opts.namespace, schema, description,
|
||||||
os.path.split(description_filename)[1], os.path.split(opts.schema)[1],
|
os.path.split(description_filename)[1], os.path.split(opts.schema)[1],
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,343 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Thu, 9 Oct 2025 09:11:01 +0000
|
|
||||||
Subject: Add setting to enable Credman for passkeys
|
|
||||||
|
|
||||||
Enables Credential Manager for passkey management on A14+ devices via a switch
|
|
||||||
in the settings. By default, the feature is disabled.
|
|
||||||
In other versions of Android, webauthn appears to be enabled on websites but
|
|
||||||
always returns a timeout error as per specifications.
|
|
||||||
Conditional immediate support is disabled.
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|
||||||
---
|
|
||||||
.../settings/PasswordSettings.java | 27 +++++++++++++++++++
|
|
||||||
.../touch_to_fill_controller.cc | 2 ++
|
|
||||||
...etting-to-enable-Credman-for-passkeys.grdp | 12 +++++++++
|
|
||||||
.../webauthn/AuthenticatorImpl.java | 24 +++++++----------
|
|
||||||
.../components/webauthn/WebauthnFeatures.java | 2 ++
|
|
||||||
.../cred_man/CredManSupportProvider.java | 25 +++++------------
|
|
||||||
.../webauthn/android/webauthn_feature_map.cc | 1 +
|
|
||||||
components/webauthn/features.cc | 4 +++
|
|
||||||
components/webauthn/features.h | 3 +++
|
|
||||||
device/fido/public/features.cc | 1 +
|
|
||||||
.../authentication_credentials_container.cc | 5 ++++
|
|
||||||
11 files changed, 73 insertions(+), 33 deletions(-)
|
|
||||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-enable-Credman-for-passkeys.grdp
|
|
||||||
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
|
|
||||||
@@ -11,6 +11,7 @@ import android.app.Activity;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.net.Uri;
|
|
||||||
+import android.os.Build;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.text.SpannableString;
|
|
||||||
import android.text.style.ForegroundColorSpan;
|
|
||||||
@@ -68,6 +69,10 @@ import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
|
|
||||||
import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
|
|
||||||
import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
|
||||||
|
|
||||||
+import org.chromium.chrome.browser.flags.CromiteNativeUtils;
|
|
||||||
+import org.chromium.components.webauthn.WebauthnFeatureMap;
|
|
||||||
+import org.chromium.components.webauthn.WebauthnFeatures;
|
|
||||||
+
|
|
||||||
/**
|
|
||||||
* The "Passwords" screen in Settings, which allows the user to enable or disable password saving,
|
|
||||||
* to view saved passwords (just the username and URL), and to delete saved passwords.
|
|
||||||
@@ -334,6 +339,7 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
|
||||||
createSavePasswordsSwitch();
|
|
||||||
createAutoSignInCheckbox();
|
|
||||||
createEnableAndroidAutofillSwitch();
|
|
||||||
+ createCredManSwitch();
|
|
||||||
|
|
||||||
PasswordManagerHandlerProvider.getForProfile(getProfile())
|
|
||||||
.getPasswordManagerHandler()
|
|
||||||
@@ -687,6 +693,27 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
|
||||||
getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_AUTOSIGNIN));
|
|
||||||
}
|
|
||||||
|
|
||||||
+ private void createCredManSwitch() {
|
|
||||||
+ ChromeSwitchPreference credManSwitch =
|
|
||||||
+ new ChromeSwitchPreference(getStyledContext(), null);
|
|
||||||
+ credManSwitch.setTitle(R.string.enable_android_credman_title);
|
|
||||||
+ credManSwitch.setOrder(0);
|
|
||||||
+ credManSwitch.setSummary(R.string.enable_android_credman_summary);
|
|
||||||
+ credManSwitch.setChecked(
|
|
||||||
+ WebauthnFeatureMap.getInstance().isEnabled(WebauthnFeatures.WEBAUTHN_ANDROID_PASSKEY));
|
|
||||||
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
|
||||||
+ credManSwitch.setSummary(R.string.enable_android_credman_disabled_summary);
|
|
||||||
+ credManSwitch.setEnabled(false);
|
|
||||||
+ }
|
|
||||||
+ credManSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
|
|
||||||
+ CromiteNativeUtils.setFlagEnabled("WebAuthenticationAndroidPasskey", (boolean)newValue);
|
|
||||||
+ if (!mSnackbarManagerSupplier.get().isShowing())
|
|
||||||
+ mSnackbarManagerSupplier.get().showSnackbar(mSnackbar);
|
|
||||||
+ return true;
|
|
||||||
+ });
|
|
||||||
+ getPreferenceScreen().addPreference(credManSwitch);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
private void displayManageAccountLink() {
|
|
||||||
SyncService syncService = SyncServiceFactory.getForProfile(getProfile());
|
|
||||||
if (syncService == null || !syncService.isEngineInitialized()) {
|
|
||||||
diff --git a/chrome/browser/touch_to_fill/password_manager/touch_to_fill_controller.cc b/chrome/browser/touch_to_fill/password_manager/touch_to_fill_controller.cc
|
|
||||||
--- a/chrome/browser/touch_to_fill/password_manager/touch_to_fill_controller.cc
|
|
||||||
+++ b/chrome/browser/touch_to_fill/password_manager/touch_to_fill_controller.cc
|
|
||||||
@@ -312,6 +312,7 @@ void TouchToFillController::Reset() {
|
|
||||||
}
|
|
||||||
visibility_controller_->Reset();
|
|
||||||
credentials_.clear();
|
|
||||||
+ cred_man_delegate_ = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TouchToFillController::ActionCompleted() {
|
|
||||||
@@ -319,6 +320,7 @@ void TouchToFillController::ActionCompleted() {
|
|
||||||
visibility_controller_->SetShown();
|
|
||||||
}
|
|
||||||
ttf_delegate_.reset();
|
|
||||||
+ cred_man_delegate_ = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
DisplayTarget TouchToFillController::GetResponsibleDisplayTarget(
|
|
||||||
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-enable-Credman-for-passkeys.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-enable-Credman-for-passkeys.grdp
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-enable-Credman-for-passkeys.grdp
|
|
||||||
@@ -0,0 +1,12 @@
|
|
||||||
+<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
+<grit-part>
|
|
||||||
+ <message name="IDS_ENABLE_ANDROID_CREDMAN_TITLE" desc="" formatter_data="android_java">
|
|
||||||
+ Enable Android Credential Manager
|
|
||||||
+ </message>
|
|
||||||
+ <message name="IDS_ENABLE_ANDROID_CREDMAN_SUMMARY" desc="" formatter_data="android_java">
|
|
||||||
+ Enable support for Android Credential Manager
|
|
||||||
+ </message>
|
|
||||||
+ <message name="IDS_ENABLE_ANDROID_CREDMAN_DISABLED_SUMMARY" desc="" formatter_data="android_java">
|
|
||||||
+ Not supported on your device (require A14+)
|
|
||||||
+ </message>
|
|
||||||
+</grit-part>
|
|
||||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
|
|
||||||
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
|
|
||||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
|
|
||||||
@@ -30,6 +30,8 @@ import org.chromium.blink.mojom.WebAuthnClientCapability;
|
|
||||||
import org.chromium.build.annotations.NullMarked;
|
|
||||||
import org.chromium.build.annotations.Nullable;
|
|
||||||
import org.chromium.components.password_manager.BrowserAssistedLoginType;
|
|
||||||
+import org.chromium.components.webauthn.CredManSupport;
|
|
||||||
+import org.chromium.components.webauthn.cred_man.CredManSupportProvider;
|
|
||||||
import org.chromium.components.ukm.UkmRecorder;
|
|
||||||
import org.chromium.content_public.browser.RenderFrameHost;
|
|
||||||
import org.chromium.content_public.browser.Visibility;
|
|
||||||
@@ -167,8 +169,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
|
|
||||||
mIsPaymentRequest = options.isPaymentCredentialCreation;
|
|
||||||
mRequestCallback = requestCallback;
|
|
||||||
mRequestCallback.setCompletionCallback(this::cleanupRequest);
|
|
||||||
- if (!GmsCoreUtils.isWebauthnSupported()
|
|
||||||
- || (!isChrome(mWebContents) && !GmsCoreUtils.isResultReceiverSupported())) {
|
|
||||||
+ if (CredManSupportProvider.getCredManSupport() == CredManSupport.DISABLED) {
|
|
||||||
mRequestCallback.onComplete(
|
|
||||||
WebauthnRequestResponse.forFailedMakeCredential(
|
|
||||||
AuthenticatorStatus.NOT_IMPLEMENTED,
|
|
||||||
@@ -254,8 +255,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
|
|
||||||
&& DeviceFeatureMap.isEnabled(
|
|
||||||
DeviceFeatureList
|
|
||||||
.WEBAUTHN_AUTHENTICATOR_PASSWORDS_ONLY_IMMEDIATE_REQUESTS);
|
|
||||||
- if (!GmsCoreUtils.isWebauthnSupported()
|
|
||||||
- || (!isChrome(mWebContents) && !GmsCoreUtils.isResultReceiverSupported())
|
|
||||||
+ if (CredManSupportProvider.getCredManSupport() == CredManSupport.DISABLED
|
|
||||||
|| (options.publicKey == null && !isPasswordOnlyFlux)) {
|
|
||||||
RequestMetrics metrics =
|
|
||||||
new RequestMetrics.Builder()
|
|
||||||
@@ -300,12 +300,11 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean couldSupportConditionalMediation() {
|
|
||||||
- return GmsCoreUtils.isWebauthnSupported() && isChrome(mWebContents);
|
|
||||||
+ return isChrome(mWebContents);
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean couldSupportUvpaa() {
|
|
||||||
- return GmsCoreUtils.isWebauthnSupported()
|
|
||||||
- && (isChrome(mWebContents) || GmsCoreUtils.isResultReceiverSupported());
|
|
||||||
+ return isChrome(mWebContents);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@@ -379,22 +378,19 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
|
|
||||||
capabilities.add(
|
|
||||||
createWebAuthnClientCapability(
|
|
||||||
AuthenticatorConstants.CAPABILITY_CONDITIONAL_GET,
|
|
||||||
- couldSupportConditionalMediation() && isUvpaa));
|
|
||||||
+ true));
|
|
||||||
capabilities.add(
|
|
||||||
createWebAuthnClientCapability(
|
|
||||||
AuthenticatorConstants.CAPABILITY_UVPAA,
|
|
||||||
- couldSupportUvpaa() && isUvpaa));
|
|
||||||
+ true));
|
|
||||||
capabilities.add(
|
|
||||||
createWebAuthnClientCapability(
|
|
||||||
AuthenticatorConstants.CAPABILITY_CONDITIONAL_CREATE,
|
|
||||||
- isUvpaa && couldSupportConditionalMediation()));
|
|
||||||
+ true));
|
|
||||||
capabilities.add(
|
|
||||||
createWebAuthnClientCapability(
|
|
||||||
AuthenticatorConstants.CAPABILITY_IMMEDIATE_GET,
|
|
||||||
- DeviceFeatureMap.isEnabled(
|
|
||||||
- DeviceFeatureList
|
|
||||||
- .WEBAUTHN_IMMEDIATE_GET)
|
|
||||||
- && isUvpaa));
|
|
||||||
+ false));
|
|
||||||
capabilities.add(
|
|
||||||
createWebAuthnClientCapability(
|
|
||||||
AuthenticatorConstants
|
|
||||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java
|
|
||||||
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java
|
|
||||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java
|
|
||||||
@@ -19,4 +19,6 @@ public abstract class WebauthnFeatures {
|
|
||||||
public static final String WEBAUTHN_ANDROID_CRED_MAN_FOR_DEV = "WebAuthnAndroidCredManForDev";
|
|
||||||
public static final String WEBAUTHN_ANDROID_CRED_MAN_REQUEST_EXTRA_BUNDLE =
|
|
||||||
"WebAuthenticationAndroidCredManRequestExtraBundle";
|
|
||||||
+ public static final String WEBAUTHN_ANDROID_PASSKEY =
|
|
||||||
+ "WebAuthenticationAndroidPasskey";
|
|
||||||
}
|
|
||||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java
|
|
||||||
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java
|
|
||||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java
|
|
||||||
@@ -19,11 +19,11 @@ import org.chromium.base.version_info.VersionInfo;
|
|
||||||
import org.chromium.build.annotations.NullMarked;
|
|
||||||
import org.chromium.build.annotations.Nullable;
|
|
||||||
import org.chromium.components.webauthn.CredManSupport;
|
|
||||||
-import org.chromium.components.webauthn.GmsCoreUtils;
|
|
||||||
import org.chromium.components.webauthn.WebauthnFeatureMap;
|
|
||||||
import org.chromium.components.webauthn.WebauthnFeatures;
|
|
||||||
import org.chromium.components.webauthn.WebauthnMode;
|
|
||||||
import org.chromium.components.webauthn.WebauthnModeProvider;
|
|
||||||
+import org.chromium.components.webauthn.WebauthnLogger;
|
|
||||||
|
|
||||||
@NullMarked
|
|
||||||
public class CredManSupportProvider {
|
|
||||||
@@ -79,12 +79,12 @@ public class CredManSupportProvider {
|
|
||||||
}
|
|
||||||
if (getAndroidVersion() < Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
|
||||||
sCredManSupport = CredManSupport.DISABLED;
|
|
||||||
- log(TAG, "Disabled because of Android version.");
|
|
||||||
+ WebauthnLogger.logError(TAG, "Disabled because of Android version.");
|
|
||||||
return sCredManSupport;
|
|
||||||
}
|
|
||||||
- if (notSkippedBecauseInTests() && hasOldGmsVersion()) {
|
|
||||||
+ if (!WebauthnFeatureMap.getInstance().isEnabled(WebauthnFeatures.WEBAUTHN_ANDROID_PASSKEY)) {
|
|
||||||
sCredManSupport = CredManSupport.DISABLED;
|
|
||||||
- log(TAG, "Disabled because of old GMS version.");
|
|
||||||
+ WebauthnLogger.logError(TAG, "Disabled because of user.");
|
|
||||||
return sCredManSupport;
|
|
||||||
}
|
|
||||||
if (notSkippedBecauseInTests()
|
|
||||||
@@ -92,14 +92,14 @@ public class CredManSupportProvider {
|
|
||||||
== null) {
|
|
||||||
sCredManSupport = CredManSupport.DISABLED;
|
|
||||||
recordCredManAvailability(/* available= */ false);
|
|
||||||
- log(TAG, "Disabled because CredentialManager is not available.");
|
|
||||||
+ WebauthnLogger.logError(TAG, "Disabled because CredentialManager is not available.");
|
|
||||||
return sCredManSupport;
|
|
||||||
}
|
|
||||||
recordCredManAvailability(/* available= */ true);
|
|
||||||
|
|
||||||
final CredManUiRecommender recommender =
|
|
||||||
ServiceLoaderUtil.maybeCreate(CredManUiRecommender.class);
|
|
||||||
- boolean customUiRecommended = recommender != null && recommender.recommendsCustomUi();
|
|
||||||
+ boolean customUiRecommended = true;
|
|
||||||
boolean gpmInCredMan =
|
|
||||||
sOverrideForcesGpm != null ? sOverrideForcesGpm : customUiRecommended;
|
|
||||||
boolean isChrome3pPwmMode =
|
|
||||||
@@ -138,13 +138,6 @@ public class CredManSupportProvider {
|
|
||||||
"WebAuthentication.Android.CredManAvailability", available);
|
|
||||||
}
|
|
||||||
|
|
||||||
- private static boolean hasOldGmsVersion() {
|
|
||||||
- assert sOverrideAndroidVersion == null : "Don't use in testing!";
|
|
||||||
- // The check works for unavailable and low GMS versions. `getGmsCoreVersion()` is -1 if the
|
|
||||||
- // GMS version can't be retrieved. Chrome assumes an insufficient GMS availability then.
|
|
||||||
- return GmsCoreUtils.getGmsCoreVersion() < getMinGmsVersionForCurrentChannel();
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
private static int getAndroidVersion() {
|
|
||||||
return sOverrideAndroidVersion == null ? Build.VERSION.SDK_INT : sOverrideAndroidVersion;
|
|
||||||
}
|
|
||||||
@@ -152,10 +145,4 @@ public class CredManSupportProvider {
|
|
||||||
private static boolean notSkippedBecauseInTests() {
|
|
||||||
return sOverrideForcesGpm == null && sOverrideAndroidVersion == null;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- private static int getMinGmsVersionForCurrentChannel() {
|
|
||||||
- return (VersionInfo.isBetaBuild() || VersionInfo.isStableBuild())
|
|
||||||
- ? GMSCORE_MIN_VERSION_BETA_STABLE
|
|
||||||
- : GMSCORE_MIN_VERSION_CANARY_DEV;
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
diff --git a/components/webauthn/android/webauthn_feature_map.cc b/components/webauthn/android/webauthn_feature_map.cc
|
|
||||||
--- a/components/webauthn/android/webauthn_feature_map.cc
|
|
||||||
+++ b/components/webauthn/android/webauthn_feature_map.cc
|
|
||||||
@@ -18,6 +18,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
|
||||||
&kWebAuthnAndroidPasskeyCacheMigration,
|
|
||||||
&kWebAuthnAndroidCredManForDev,
|
|
||||||
&kWebAuthnAndroidCredManRequestExtraBundle,
|
|
||||||
+ &kWebAuthnAndroidPasskey,
|
|
||||||
};
|
|
||||||
|
|
||||||
// static
|
|
||||||
diff --git a/components/webauthn/features.cc b/components/webauthn/features.cc
|
|
||||||
--- a/components/webauthn/features.cc
|
|
||||||
+++ b/components/webauthn/features.cc
|
|
||||||
@@ -34,6 +34,10 @@ BASE_FEATURE(kWebAuthnAndroidCredManRequestExtraBundle,
|
|
||||||
BASE_FEATURE(kWebAuthnConditionalUiSuppressedOnWebView,
|
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
+CROMITE_FEATURE(kWebAuthnAndroidPasskey,
|
|
||||||
+ "WebAuthenticationAndroidPasskey",
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+
|
|
||||||
#endif // BUILDFLAG(IS_ANDROID)
|
|
||||||
|
|
||||||
#if !BUILDFLAG(IS_ANDROID)
|
|
||||||
diff --git a/components/webauthn/features.h b/components/webauthn/features.h
|
|
||||||
--- a/components/webauthn/features.h
|
|
||||||
+++ b/components/webauthn/features.h
|
|
||||||
@@ -27,6 +27,9 @@ BASE_DECLARE_FEATURE(kWebAuthnAndroidCredManForDev);
|
|
||||||
COMPONENT_EXPORT(WEBAUTHN)
|
|
||||||
extern const base::FeatureParam<std::string> kWebAuthnAndroidCredManForDevMode;
|
|
||||||
|
|
||||||
+COMPONENT_EXPORT(WEBAUTHN)
|
|
||||||
+BASE_DECLARE_FEATURE(kWebAuthnAndroidPasskey);
|
|
||||||
+
|
|
||||||
// Whether to send a custom bundle values for the CredMan requests. The extras
|
|
||||||
// are used by Google Password Manager.
|
|
||||||
COMPONENT_EXPORT(WEBAUTHN)
|
|
||||||
diff --git a/device/fido/public/features.cc b/device/fido/public/features.cc
|
|
||||||
--- a/device/fido/public/features.cc
|
|
||||||
+++ b/device/fido/public/features.cc
|
|
||||||
@@ -183,6 +183,7 @@ BASE_FEATURE_PARAM(int,
|
|
||||||
BASE_FEATURE(kWebAuthnImmediateGet,
|
|
||||||
"WebAuthenticationImmediateGet",
|
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kWebAuthnImmediateGet);
|
|
||||||
|
|
||||||
BASE_FEATURE_PARAM(int,
|
|
||||||
kWebAuthnImmediateMediationTimeoutMilliseconds,
|
|
||||||
diff --git a/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc b/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc
|
|
||||||
--- a/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc
|
|
||||||
+++ b/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc
|
|
||||||
@@ -1157,6 +1157,11 @@ DOMException* AuthenticatorStatusToDOMException(
|
|
||||||
const WebAuthnDOMExceptionDetailsPtr& dom_exception_details) {
|
|
||||||
DCHECK_EQ(status != AuthenticatorStatus::ERROR_WITH_DOM_EXCEPTION_DETAILS,
|
|
||||||
dom_exception_details.is_null());
|
|
||||||
+ if (status == AuthenticatorStatus::UNKNOWN_ERROR ||
|
|
||||||
+ status == AuthenticatorStatus::NOT_IMPLEMENTED) {
|
|
||||||
+ status = AuthenticatorStatus::NOT_ALLOWED_ERROR;
|
|
||||||
+ base::PlatformThread::Sleep(base::Milliseconds(base::RandInt(1000, 6000)));
|
|
||||||
+ }
|
|
||||||
switch (status) {
|
|
||||||
case AuthenticatorStatus::SUCCESS:
|
|
||||||
NOTREACHED();
|
|
||||||
--
|
|
||||||
@@ -21,7 +21,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
.../accessibility/AccessibilitySettings.java | 12 +++++++
|
.../accessibility/AccessibilitySettings.java | 12 +++++++
|
||||||
.../AccessibilitySettingsDelegate.java | 2 ++
|
.../AccessibilitySettingsDelegate.java | 2 ++
|
||||||
.../contextmenu/ContextMenuItemDelegate.java | 3 ++
|
.../contextmenu/ContextMenuItemDelegate.java | 3 ++
|
||||||
.../ThinWebViewContextMenuItemDelegate.java | 6 ++++
|
|
||||||
...Add-setting-to-invert-tap-and-long-tap.inc | 8 +++++
|
...Add-setting-to-invert-tap-and-long-tap.inc | 8 +++++
|
||||||
...Add-setting-to-invert-tap-and-long-tap.inc | 3 ++
|
...Add-setting-to-invert-tap-and-long-tap.inc | 3 ++
|
||||||
...Add-setting-to-invert-tap-and-long-tap.inc | 1 +
|
...Add-setting-to-invert-tap-and-long-tap.inc | 1 +
|
||||||
@@ -29,9 +28,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
.../renderer/core/html/html_anchor_element.h | 7 +++-
|
.../renderer/core/html/html_anchor_element.h | 7 +++-
|
||||||
.../renderer/core/html/html_image_element.cc | 17 +++++++++
|
.../renderer/core/html/html_image_element.cc | 17 +++++++++
|
||||||
.../renderer/core/html/html_image_element.h | 2 ++
|
.../renderer/core/html/html_image_element.h | 2 ++
|
||||||
.../core/page/context_menu_controller.cc | 23 +++++++++---
|
.../core/page/context_menu_controller.cc | 33 ++++++++++++-----
|
||||||
.../core/page/context_menu_controller.h | 5 +--
|
.../core/page/context_menu_controller.h | 5 +--
|
||||||
23 files changed, 170 insertions(+), 16 deletions(-)
|
22 files changed, 170 insertions(+), 20 deletions(-)
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
create mode 100644 cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc
|
create mode 100644 cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
@@ -41,8 +40,8 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/contextmenu/A
|
|||||||
+++ b/android_webview/java/src/org/chromium/android_webview/contextmenu/AwContextMenuItemDelegate.java
|
+++ b/android_webview/java/src/org/chromium/android_webview/contextmenu/AwContextMenuItemDelegate.java
|
||||||
@@ -11,6 +11,7 @@ import android.net.Uri;
|
@@ -11,6 +11,7 @@ import android.net.Uri;
|
||||||
import org.chromium.base.IntentUtils;
|
import org.chromium.base.IntentUtils;
|
||||||
import org.chromium.build.annotations.NullMarked;
|
|
||||||
import org.chromium.components.embedder_support.contextmenu.ContextMenuItemDelegate;
|
import org.chromium.components.embedder_support.contextmenu.ContextMenuItemDelegate;
|
||||||
|
import org.chromium.components.embedder_support.contextmenu.ContextMenuParams;
|
||||||
+import org.chromium.content_public.common.Referrer;
|
+import org.chromium.content_public.common.Referrer;
|
||||||
import org.chromium.content_public.browser.WebContents;
|
import org.chromium.content_public.browser.WebContents;
|
||||||
import org.chromium.ui.base.Clipboard;
|
import org.chromium.ui.base.Clipboard;
|
||||||
@@ -60,7 +59,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/contextmenu/A
|
|||||||
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
|
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
|
--- a/chrome/android/java/res/values/ids.xml
|
||||||
+++ b/chrome/android/java/res/values/ids.xml
|
+++ b/chrome/android/java/res/values/ids.xml
|
||||||
@@ -112,6 +112,7 @@ found in the LICENSE file.
|
@@ -88,6 +88,7 @@ found in the LICENSE file.
|
||||||
|
|
||||||
<!-- Menu item IDs for FullscreenActivities -->
|
<!-- Menu item IDs for FullscreenActivities -->
|
||||||
<item type="id" name="contextmenu_open_in_chrome" />
|
<item type="id" name="contextmenu_open_in_chrome" />
|
||||||
@@ -71,7 +70,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
@@ -167,6 +167,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
@@ -162,6 +162,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||||
mSnackbarManagerSupplier.get().showSnackbar(mSnackbar);
|
mSnackbarManagerSupplier.get().showSnackbar(mSnackbar);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,59 +98,59 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
||||||
@@ -135,8 +135,9 @@ class ChromeContextMenuItem {
|
@@ -111,8 +111,9 @@ class ChromeContextMenuItem {
|
||||||
// Developer Group
|
int SHARE_HIGHLIGHT = 32;
|
||||||
int VIEW_PAGE_SOURCE = 41;
|
int REMOVE_HIGHLIGHT = 33;
|
||||||
int INSPECT_ELEMENT = 42;
|
int LEARN_MORE = 34;
|
||||||
+ int FOLLOW_LINK = 43;
|
+ int FOLLOW_LINK = 35;
|
||||||
// ALWAYS UPDATE!
|
// ALWAYS UPDATE!
|
||||||
- int NUM_ENTRIES = 43;
|
- int NUM_ENTRIES = 35;
|
||||||
+ int NUM_ENTRIES = 44;
|
+ int NUM_ENTRIES = 36;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Mapping from {@link Item} to the ID found in the ids.xml. */
|
/** Mapping from {@link Item} to the ID found in the ids.xml. */
|
||||||
@@ -184,6 +185,7 @@ class ChromeContextMenuItem {
|
@@ -152,6 +153,7 @@ class ChromeContextMenuItem {
|
||||||
R.id.contextmenu_print_page, // Item.PRINT_PAGE
|
R.id.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT
|
||||||
R.id.contextmenu_view_page_source, // Item.VIEW_PAGE_SOURCE
|
R.id.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT
|
||||||
R.id.contextmenu_inspect_element, // Item.INSPECT_ELEMENT
|
R.id.contextmenu_learn_more, // Item.LEARN_MORE
|
||||||
+ R.id.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB
|
+ R.id.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Mapping from {@link Item} to the ID of the string that describes the action of the item. */
|
/** Mapping from {@link Item} to the ID of the string that describes the action of the item. */
|
||||||
@@ -231,6 +233,7 @@ class ChromeContextMenuItem {
|
@@ -191,6 +193,7 @@ class ChromeContextMenuItem {
|
||||||
R.string.contextmenu_print_page, // Item.PRINT_PAGE
|
R.string.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT
|
||||||
R.string.contextmenu_view_page_source, // Item.VIEW_PAGE_SOURCE
|
R.string.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT
|
||||||
R.string.contextmenu_inspect_element, // Item.INSPECT_ELEMENT
|
R.string.contextmenu_learn_more, // Item.LEARN_MORE
|
||||||
+ R.string.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB
|
+ R.string.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB:
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
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
|
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
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||||
@@ -495,6 +495,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
@@ -347,6 +347,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||||
}
|
|
||||||
if (mParams.isAnchor()) {
|
if (mParams.isAnchor()) {
|
||||||
ModelList linkGroup = new ModelList();
|
ModelList linkGroup = new ModelList();
|
||||||
+ if (ChromeFeatureList.sShowAlwaysContextMenuOnLinks.isEnabled()) {
|
+ if (ChromeFeatureList.sShowAlwaysContextMenuOnLinks.isEnabled()) {
|
||||||
+ linkGroup.add(createListItem(Item.FOLLOW_LINK));
|
+ linkGroup.add(createListItem(Item.FOLLOW_LINK));
|
||||||
+ }
|
+ }
|
||||||
if (areMandatoryFlowsCompleted(getProfile())
|
if (FirstRunStatus.getFirstRunFlowComplete()
|
||||||
&& !isEmptyUrl(mParams.getUrl())
|
&& !isEmptyUrl(mParams.getUrl())
|
||||||
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
|
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
|
||||||
@@ -1141,6 +1144,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
@@ -738,6 +741,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||||
title = mParams.getLinkText();
|
getProfile(),
|
||||||
}
|
false);
|
||||||
tabItemDelegate.onReadLater(mParams.getUrl(), title);
|
});
|
||||||
+ } else if (itemId == R.id.contextmenu_open_in_tab) {
|
+ } else if (itemId == R.id.contextmenu_open_in_tab) {
|
||||||
+ mItemDelegate.onOpenUrl(mParams.getUrl(), mParams.getReferrer());
|
+ mItemDelegate.onOpenUrl(mParams.getUrl(), mParams.getReferrer());
|
||||||
} else if (itemId == R.id.contextmenu_open_in_chrome) {
|
} else if (itemId == R.id.contextmenu_open_in_chrome) {
|
||||||
recordContextMenuSelection(ContextMenuUma.Action.OPEN_IN_CHROME);
|
recordContextMenuSelection(ContextMenuUma.Action.OPEN_IN_CHROME);
|
||||||
tabItemDelegate.onOpenInChrome(mParams.getUrl(), mParams.getPageUrl());
|
mItemDelegate.onOpenInChrome(mParams.getUrl(), mParams.getPageUrl());
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
@@ -388,6 +388,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
@@ -301,6 +301,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||||
mTab.loadUrl(loadUrlParams);
|
mTab.loadUrl(loadUrlParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,47 +168,47 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
|
|||||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
@@ -463,6 +463,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
@@ -343,6 +343,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||||
&kTabClosureMethodRefactor,
|
&kTabDragDropAndroid,
|
||||||
&kTabModelInitFixes,
|
&kToolbarPhoneCleanup,
|
||||||
&kTabStorageSqlitePrototype,
|
&kTabGroupCreationDialogAndroid,
|
||||||
+ &blink::features::kShowAlwaysContextMenuOnLinks,
|
+ &blink::features::kShowAlwaysContextMenuOnLinks,
|
||||||
&kTabStripAutoSelectOnCloseChange,
|
&kTabResumptionModuleAndroid,
|
||||||
&kTabStripCloseRefactorAndroid,
|
&kTabStateFlatBuffer,
|
||||||
&kTabStripDensityChangeAndroid,
|
&kTabStripGroupCollapseAndroid,
|
||||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
@@ -546,6 +546,8 @@ public abstract class ChromeFeatureList {
|
@@ -410,6 +410,8 @@ public abstract class ChromeFeatureList {
|
||||||
"DisableToolbarSwipeUp";
|
"DisableToolbarSwipeUp";
|
||||||
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
|
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
|
||||||
"MoveTopToolbarToBottom";
|
"MoveTopToolbarToBottom";
|
||||||
+ public static final String SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS =
|
+ public static final String SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS =
|
||||||
+ "ShowAlwaysContextMenuOnLinks";
|
+ "ShowAlwaysContextMenuOnLinks";
|
||||||
public static final String NEW_TAB_PAGE_CUSTOMIZATION_THEME_SYNC =
|
public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
|
||||||
"NewTabPageCustomizationThemeSync";
|
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
|
||||||
public static final String NEW_TAB_PAGE_CUSTOMIZATION_V2 = "NewTabPageCustomizationV2";
|
"NotificationPermissionBottomSheet";
|
||||||
@@ -1107,6 +1109,8 @@ public abstract class ChromeFeatureList {
|
@@ -773,6 +775,8 @@ public abstract class ChromeFeatureList {
|
||||||
newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false);
|
newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false);
|
||||||
public static final CachedFlag sMoveTopToolbarToBottom =
|
public static final CachedFlag sMoveTopToolbarToBottom =
|
||||||
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
||||||
+ public static final CachedFlag sShowAlwaysContextMenuOnLinks =
|
+ public static final CachedFlag sShowAlwaysContextMenuOnLinks =
|
||||||
+ newCachedFlag(SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS, false);
|
+ newCachedFlag(SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS, false);
|
||||||
public static final CachedFlag sPaintPreviewDemo = newCachedFlag(PAINT_PREVIEW_DEMO, false);
|
public static final CachedFlag sPaintPreviewDemo = newCachedFlag(PAINT_PREVIEW_DEMO, false);
|
||||||
public static final CachedFlag sPersistAcrossReboots =
|
public static final CachedFlag sPostGetMyMemoryStateToBackground =
|
||||||
newCachedFlag(PERSIST_ACROSS_REBOOTS, true);
|
newCachedFlag(POST_GET_MEMORY_PRESSURE_TO_BACKGROUND, true);
|
||||||
@@ -1399,6 +1403,7 @@ public abstract class ChromeFeatureList {
|
@@ -959,6 +963,7 @@ public abstract class ChromeFeatureList {
|
||||||
sTopControlsRefactorV2,
|
sTabWindowManagerReportIndicesMismatch,
|
||||||
sTouchToSearchCallout,
|
sTraceBinderIpc,
|
||||||
sUnparcelIntentFileDescriptors,
|
|
||||||
+ sShowAlwaysContextMenuOnLinks,
|
|
||||||
sUseActivityManagerForTabActivation,
|
|
||||||
sUseChimeAndroidSdk,
|
sUseChimeAndroidSdk,
|
||||||
sUseInitialNetworkStateAtStartup,
|
+ sShowAlwaysContextMenuOnLinks,
|
||||||
|
sUseLibunwindstackNativeUnwinderAndroid,
|
||||||
|
sWebApkMinShellApkVersion);
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -1700,6 +1700,12 @@ Your Google account may have other forms of browsing history like searches and a
|
@@ -1722,6 +1722,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||||
<message name="IDS_DISABLE_TOOLBAR_SWIPE_UP" desc="Summary of the preference that allows the user to disable toolbar swipeup.">
|
<message name="IDS_DISABLE_TOOLBAR_SWIPE_UP" desc="Summary of the preference that allows the user to disable toolbar swipeup.">
|
||||||
Disable toolbar swipe up
|
Disable toolbar swipe up
|
||||||
</message>
|
</message>
|
||||||
@@ -222,20 +221,20 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
|
|
||||||
<!-- Safety check -->
|
<!-- Safety check -->
|
||||||
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
|
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
|
||||||
@@ -3369,6 +3375,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
@@ -3281,6 +3287,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||||
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
|
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
|
||||||
Open in new Chrome tab
|
Open in new Chrome tab
|
||||||
</message>
|
</message>
|
||||||
+ <message name="IDS_CONTEXTMENU_OPEN_IN_TAB" desc="Context sensitive menu item to open the selected link in tab. [CHAR_LIMIT=30]">
|
+ <message name="IDS_CONTEXTMENU_OPEN_IN_TAB" desc="Context sensitive menu item to open the selected link in tab. [CHAR_LIMIT=30]">
|
||||||
+ Open in current tab
|
+ Open in current tab
|
||||||
+ </message>
|
+ </message>
|
||||||
<message name="IDS_CONTEXTMENU_OPEN_IN_CHROME_WINDOW" desc="Context sensitive menu item to open the selected link in a Chrome window from Chrome Custom Tab. Used when there is a dedicated window for Incognito tabs. [CHAR_LIMIT=30]">
|
<message name="IDS_CONTEXTMENU_OPEN_IN_CHROME_INCOGNITO_TAB" desc="Context sensitive menu item to open the selected link in a Chrome Incognito tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
|
||||||
Open in Chrome window
|
Open in Incognito tab
|
||||||
</message>
|
</message>
|
||||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
@@ -26,6 +26,11 @@ found in the LICENSE file.
|
@@ -31,6 +31,11 @@ found in the LICENSE file.
|
||||||
android:summary="@string/page_zoom_always_show_preference_summary"
|
android:summary="@string/page_zoom_always_show_preference_summary"
|
||||||
android:title="@string/page_zoom_always_show_preference_title" />
|
android:title="@string/page_zoom_always_show_preference_title" />
|
||||||
|
|
||||||
@@ -250,7 +249,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
@@ -89,6 +89,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
@@ -48,6 +48,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||||
private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate;
|
private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate;
|
||||||
private BooleanPreferenceDelegate mDisableToolbarSwipeUpDelegate;
|
private BooleanPreferenceDelegate mDisableToolbarSwipeUpDelegate;
|
||||||
|
|
||||||
@@ -260,7 +259,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||||||
private PageZoomPreference mPageZoomDefaultZoomPref;
|
private PageZoomPreference mPageZoomDefaultZoomPref;
|
||||||
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
||||||
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
||||||
@@ -198,6 +201,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
@@ -136,6 +139,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||||
mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.getValue());
|
mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.getValue());
|
||||||
mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this);
|
mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
@@ -273,7 +272,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||||||
Preference captions = findPreference(PREF_CAPTIONS);
|
Preference captions = findPreference(PREF_CAPTIONS);
|
||||||
captions.setOnPreferenceClickListener(
|
captions.setOnPreferenceClickListener(
|
||||||
preference -> {
|
preference -> {
|
||||||
@@ -323,6 +332,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
@@ -214,6 +223,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||||
} else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) {
|
} else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) {
|
||||||
mDisableToolbarSwipeUpDelegate.setValue((Boolean) newValue);
|
mDisableToolbarSwipeUpDelegate.setValue((Boolean) newValue);
|
||||||
mDelegate.requestRestart(getActivity());
|
mDelegate.requestRestart(getActivity());
|
||||||
@@ -286,7 +285,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
@@ -45,6 +45,8 @@ public interface AccessibilitySettingsDelegate {
|
@@ -42,6 +42,8 @@ public interface AccessibilitySettingsDelegate {
|
||||||
BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate();
|
BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate();
|
||||||
BooleanPreferenceDelegate getDisableToolbarSwipeUpDelegate();
|
BooleanPreferenceDelegate getDisableToolbarSwipeUpDelegate();
|
||||||
|
|
||||||
@@ -298,16 +297,16 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||||||
diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java
|
diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java
|
||||||
--- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java
|
--- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java
|
||||||
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java
|
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java
|
||||||
@@ -11,6 +11,7 @@ import androidx.annotation.IntDef;
|
@@ -9,6 +9,7 @@ import android.net.Uri;
|
||||||
|
import androidx.annotation.IntDef;
|
||||||
|
|
||||||
import org.chromium.build.annotations.NullMarked;
|
|
||||||
import org.chromium.content_public.browser.WebContents;
|
import org.chromium.content_public.browser.WebContents;
|
||||||
+import org.chromium.content_public.common.Referrer;
|
+import org.chromium.content_public.common.Referrer;
|
||||||
import org.chromium.url.GURL;
|
import org.chromium.url.GURL;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
@@ -148,6 +149,8 @@ public interface ContextMenuItemDelegate {
|
@@ -148,6 +149,8 @@ public interface ContextMenuItemDelegate {
|
||||||
/** Returns the page url. */
|
*/
|
||||||
GURL getPageUrl();
|
GURL getPageUrl();
|
||||||
|
|
||||||
+ void onOpenUrl(GURL url, Referrer referrer);
|
+ void onOpenUrl(GURL url, Referrer referrer);
|
||||||
@@ -315,29 +314,6 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
|
|||||||
/**
|
/**
|
||||||
* Called when the current embedder app is not the default to handle a View Intent.
|
* Called when the current embedder app is not the default to handle a View Intent.
|
||||||
*
|
*
|
||||||
diff --git a/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java b/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java
|
|
||||||
--- a/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java
|
|
||||||
+++ b/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java
|
|
||||||
@@ -6,6 +6,7 @@ package org.chromium.components.thinwebview.internal;
|
|
||||||
|
|
||||||
import org.chromium.build.annotations.NullMarked;
|
|
||||||
import org.chromium.components.embedder_support.contextmenu.ContextMenuItemDelegate;
|
|
||||||
+import org.chromium.content_public.common.Referrer;
|
|
||||||
import org.chromium.content_public.browser.WebContents;
|
|
||||||
import org.chromium.ui.base.Clipboard;
|
|
||||||
import org.chromium.url.GURL;
|
|
||||||
@@ -43,6 +44,11 @@ public class ThinWebViewContextMenuItemDelegate implements ContextMenuItemDelega
|
|
||||||
// Intentionally empty.
|
|
||||||
}
|
|
||||||
|
|
||||||
+ @Override
|
|
||||||
+ public void onOpenUrl(GURL url, Referrer referrer) {
|
|
||||||
+ // Intentionally empty. (Add setting to invert tap and long tap)
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
@Override
|
|
||||||
public GURL getPageUrl() {
|
|
||||||
return mWebContents.getVisibleUrl();
|
|
||||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@@ -368,15 +344,15 @@ new file mode 100644
|
|||||||
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc
|
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc
|
||||||
--- a/third_party/blink/renderer/core/html/html_anchor_element.cc
|
--- a/third_party/blink/renderer/core/html/html_anchor_element.cc
|
||||||
+++ b/third_party/blink/renderer/core/html/html_anchor_element.cc
|
+++ b/third_party/blink/renderer/core/html/html_anchor_element.cc
|
||||||
@@ -69,6 +69,7 @@
|
@@ -63,6 +63,7 @@
|
||||||
#include "third_party/blink/renderer/core/loader/render_blocking_resource_manager.h"
|
#include "third_party/blink/renderer/core/loader/render_blocking_resource_manager.h"
|
||||||
#include "third_party/blink/renderer/core/navigation_api/navigation_api.h"
|
#include "third_party/blink/renderer/core/navigation_api/navigation_api.h"
|
||||||
#include "third_party/blink/renderer/core/page/chrome_client.h"
|
#include "third_party/blink/renderer/core/page/chrome_client.h"
|
||||||
+#include "third_party/blink/renderer/core/page/context_menu_controller.h"
|
+#include "third_party/blink/renderer/core/page/context_menu_controller.h"
|
||||||
#include "third_party/blink/renderer/core/page/page.h"
|
#include "third_party/blink/renderer/core/page/page.h"
|
||||||
#include "third_party/blink/renderer/core/scroll/scroll_into_view_util.h"
|
|
||||||
#include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h"
|
#include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h"
|
||||||
@@ -429,6 +430,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
|
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
|
||||||
|
@@ -503,6 +504,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
|
||||||
bool is_trusted,
|
bool is_trusted,
|
||||||
base::TimeTicks platform_time_stamp,
|
base::TimeTicks platform_time_stamp,
|
||||||
KURL completed_url) {
|
KURL completed_url) {
|
||||||
@@ -394,8 +370,8 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
|||||||
LocalDOMWindow* window = GetDocument().domWindow();
|
LocalDOMWindow* window = GetDocument().domWindow();
|
||||||
if (!window) {
|
if (!window) {
|
||||||
return;
|
return;
|
||||||
@@ -511,6 +523,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
|
@@ -585,6 +597,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
|
||||||
frame_request.SetImpression(impression);
|
request.GetReferrerPolicy()));
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (!do_not_show_context_menu &&
|
+ if (!do_not_show_context_menu &&
|
||||||
@@ -410,34 +386,34 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
|||||||
Frame* target_frame =
|
Frame* target_frame =
|
||||||
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
|
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
|
||||||
|
|
||||||
@@ -547,7 +568,7 @@ bool HTMLAnchorElementBase::IsValidInterestInvoker(Element& target) const {
|
@@ -627,7 +648,7 @@ Element* HTMLAnchorElementBase::interestTargetElement() {
|
||||||
return IsLink();
|
html_names::kInteresttargetAttr);
|
||||||
}
|
}
|
||||||
|
|
||||||
-void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
|
-void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
|
||||||
+void HTMLAnchorElementBase::HandleClick(MouseEvent& event, bool do_not_show_context_menu) {
|
+void HTMLAnchorElementBase::HandleClick(MouseEvent& event, bool do_not_show_context_menu) {
|
||||||
event.SetDefaultHandled();
|
event.SetDefaultHandled();
|
||||||
|
|
||||||
// It's unclear whether synthesized middle-button "click" events should be
|
LocalDOMWindow* window = GetDocument().domWindow();
|
||||||
@@ -621,13 +642,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
|
@@ -723,13 +744,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
- base::OnceClosure navigate_closure = blink::BindOnce(
|
- base::OnceClosure navigate_closure = WTF::BindOnce(
|
||||||
- &HTMLAnchorElementBase::NavigateToHyperlink, WrapWeakPersistent(this),
|
- &HTMLAnchorElementBase::NavigateToHyperlink, WrapWeakPersistent(this),
|
||||||
- std::move(request), navigation_policy, event.isTrusted(),
|
- std::move(request), navigation_policy, event.isTrusted(),
|
||||||
- event.PlatformTimeStamp(), std::move(completed_url));
|
- event.PlatformTimeStamp(), std::move(completed_url));
|
||||||
-
|
-
|
||||||
if (navigation_policy == kNavigationPolicyDownload ||
|
if (navigation_policy == kNavigationPolicyDownload ||
|
||||||
navigation_policy == kNavigationPolicyLinkPreview) {
|
navigation_policy == kNavigationPolicyLinkPreview) {
|
||||||
+ base::OnceClosure navigate_closure = blink::BindOnce(
|
+ base::OnceClosure navigate_closure = WTF::BindOnce(
|
||||||
+ &HTMLAnchorElementBase::NavigateToHyperlink, WrapWeakPersistent(this),
|
+ &HTMLAnchorElementBase::NavigateToHyperlink, WrapWeakPersistent(this),
|
||||||
+ std::move(request), navigation_policy, event.isTrusted(),
|
+ std::move(request), navigation_policy, event.isTrusted(),
|
||||||
+ event.PlatformTimeStamp(), std::move(completed_url));
|
+ event.PlatformTimeStamp(), std::move(completed_url));
|
||||||
// We distinguish single/double click with some modifiers.
|
// We distinguish single/double click with some modifiers.
|
||||||
// See the comment of `EventHandler.delayed_navigation_task_handle_`.
|
// See the comment of `EventHandler.delayed_navigation_task_handle_`.
|
||||||
auto task_handle = PostDelayedCancellableTask(
|
auto task_handle = PostDelayedCancellableTask(
|
||||||
@@ -637,7 +657,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
|
@@ -739,7 +759,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
|
||||||
frame->GetEventHandler().SetDelayedNavigationTaskHandle(
|
frame->GetEventHandler().SetDelayedNavigationTaskHandle(
|
||||||
std::move(task_handle));
|
std::move(task_handle));
|
||||||
} else {
|
} else {
|
||||||
@@ -451,15 +427,15 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
|||||||
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h
|
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h
|
||||||
--- a/third_party/blink/renderer/core/html/html_anchor_element.h
|
--- a/third_party/blink/renderer/core/html/html_anchor_element.h
|
||||||
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h
|
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h
|
||||||
@@ -90,6 +90,7 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement,
|
@@ -112,6 +112,7 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement,
|
||||||
bool IsValidInterestInvoker(Element& target) const override;
|
Element* interestTargetElement() override;
|
||||||
|
|
||||||
void Trace(Visitor*) const override;
|
void Trace(Visitor*) const override;
|
||||||
+ void HandleClick(MouseEvent&, bool do_not_show_context_menu = false);
|
+ void HandleClick(MouseEvent&, bool do_not_show_context_menu = false);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
HTMLAnchorElementBase(const QualifiedName& tag_name, Document&);
|
HTMLAnchorElementBase(const QualifiedName& tag_name, Document&);
|
||||||
@@ -121,7 +122,11 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement,
|
@@ -143,7 +144,11 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement,
|
||||||
bool is_trusted,
|
bool is_trusted,
|
||||||
base::TimeTicks platform_time_stamp,
|
base::TimeTicks platform_time_stamp,
|
||||||
KURL);
|
KURL);
|
||||||
@@ -475,7 +451,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_
|
|||||||
diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_party/blink/renderer/core/html/html_image_element.cc
|
diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_party/blink/renderer/core/html/html_image_element.cc
|
||||||
--- a/third_party/blink/renderer/core/html/html_image_element.cc
|
--- a/third_party/blink/renderer/core/html/html_image_element.cc
|
||||||
+++ b/third_party/blink/renderer/core/html/html_image_element.cc
|
+++ b/third_party/blink/renderer/core/html/html_image_element.cc
|
||||||
@@ -37,6 +37,7 @@
|
@@ -36,6 +36,7 @@
|
||||||
#include "third_party/blink/renderer/core/dom/events/event_dispatch_forbidden_scope.h"
|
#include "third_party/blink/renderer/core/dom/events/event_dispatch_forbidden_scope.h"
|
||||||
#include "third_party/blink/renderer/core/dom/node_traversal.h"
|
#include "third_party/blink/renderer/core/dom/node_traversal.h"
|
||||||
#include "third_party/blink/renderer/core/dom/shadow_root.h"
|
#include "third_party/blink/renderer/core/dom/shadow_root.h"
|
||||||
@@ -483,7 +459,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
|
|||||||
#include "third_party/blink/renderer/core/frame/attribution_src_loader.h"
|
#include "third_party/blink/renderer/core/frame/attribution_src_loader.h"
|
||||||
#include "third_party/blink/renderer/core/frame/deprecation/deprecation.h"
|
#include "third_party/blink/renderer/core/frame/deprecation/deprecation.h"
|
||||||
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
|
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
|
||||||
@@ -68,6 +69,7 @@
|
@@ -63,6 +64,7 @@
|
||||||
#include "third_party/blink/renderer/core/media_type_names.h"
|
#include "third_party/blink/renderer/core/media_type_names.h"
|
||||||
#include "third_party/blink/renderer/core/page/chrome_client.h"
|
#include "third_party/blink/renderer/core/page/chrome_client.h"
|
||||||
#include "third_party/blink/renderer/core/page/page.h"
|
#include "third_party/blink/renderer/core/page/page.h"
|
||||||
@@ -491,7 +467,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
|
|||||||
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
|
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
|
||||||
#include "third_party/blink/renderer/core/probe/core_probes.h"
|
#include "third_party/blink/renderer/core/probe/core_probes.h"
|
||||||
#include "third_party/blink/renderer/core/resize_observer/resize_observer_entry.h"
|
#include "third_party/blink/renderer/core/resize_observer/resize_observer_entry.h"
|
||||||
@@ -796,6 +798,21 @@ void HTMLImageElement::DidFinishLayout() {
|
@@ -797,6 +799,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -512,23 +488,23 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
|
|||||||
+
|
+
|
||||||
bool HTMLImageElement::draggable() const {
|
bool HTMLImageElement::draggable() const {
|
||||||
// Image elements are draggable by default.
|
// Image elements are draggable by default.
|
||||||
return !EqualIgnoringAsciiCase(FastGetAttribute(html_names::kDraggableAttr),
|
return !EqualIgnoringASCIICase(FastGetAttribute(html_names::kDraggableAttr),
|
||||||
diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_party/blink/renderer/core/html/html_image_element.h
|
diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_party/blink/renderer/core/html/html_image_element.h
|
||||||
--- a/third_party/blink/renderer/core/html/html_image_element.h
|
--- a/third_party/blink/renderer/core/html/html_image_element.h
|
||||||
+++ b/third_party/blink/renderer/core/html/html_image_element.h
|
+++ b/third_party/blink/renderer/core/html/html_image_element.h
|
||||||
@@ -226,6 +226,8 @@ class CORE_EXPORT HTMLImageElement
|
@@ -218,6 +218,8 @@ class CORE_EXPORT HTMLImageElement
|
||||||
|
void DidAddUserAgentShadowRoot(ShadowRoot&) override;
|
||||||
void AdjustStyle(ComputedStyleBuilder&) override;
|
void AdjustStyle(ComputedStyleBuilder&) override;
|
||||||
|
|
||||||
+ void DefaultEventHandler(Event&) override;
|
+ void DefaultEventHandler(Event&) override;
|
||||||
+
|
+
|
||||||
private:
|
private:
|
||||||
void ParseAttribute(const AttributeModificationParams&) override;
|
bool AreAuthorShadowsAllowed() const override { return false; }
|
||||||
bool IsPresentationAttribute(const QualifiedName&) const override;
|
|
||||||
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||||
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
|
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||||
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||||
@@ -201,15 +201,17 @@ void ContextMenuController::DocumentDetached(Document* document) {
|
@@ -197,14 +197,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -538,8 +514,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
|||||||
+ if (!base::FeatureList::IsEnabled(features::kShowAlwaysContextMenuOnLinks)) {
|
+ if (!base::FeatureList::IsEnabled(features::kShowAlwaysContextMenuOnLinks)) {
|
||||||
+ DCHECK(mouse_event->type() == event_type_names::kContextmenu);
|
+ DCHECK(mouse_event->type() == event_type_names::kContextmenu);
|
||||||
+ }
|
+ }
|
||||||
LocalFrame* frame =
|
LocalFrame* frame = mouse_event->target()->ToNode()->GetDocument().GetFrame();
|
||||||
mouse_event->RawTarget()->ToNode()->GetDocument().GetFrame();
|
|
||||||
PhysicalOffset location =
|
PhysicalOffset location =
|
||||||
PhysicalOffset::FromPointFRound(mouse_event->AbsoluteLocation());
|
PhysicalOffset::FromPointFRound(mouse_event->AbsoluteLocation());
|
||||||
|
|
||||||
@@ -549,17 +524,17 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
|||||||
mouse_event->SetDefaultHandled();
|
mouse_event->SetDefaultHandled();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -443,7 +445,8 @@ bool ContextMenuController::ShowContextMenu(
|
@@ -428,7 +430,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
|
||||||
LocalFrame* frame,
|
bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||||
const PhysicalOffset& point,
|
const PhysicalOffset& point,
|
||||||
ui::mojom::blink::MenuSourceType source_type,
|
WebMenuSourceType source_type,
|
||||||
- const MouseEvent* mouse_event) {
|
- const MouseEvent* mouse_event) {
|
||||||
+ const MouseEvent* mouse_event,
|
+ const MouseEvent* mouse_event,
|
||||||
+ bool do_not_show_context_menu) {
|
+ bool do_not_show_context_menu) {
|
||||||
// Displaying the context menu in this function is a big hack as we don't
|
// Displaying the context menu in this function is a big hack as we don't
|
||||||
// have context, i.e. whether this is being invoked via a script or in
|
// have context, i.e. whether this is being invoked via a script or in
|
||||||
// response to user input (Mouse event WM_RBUTTONDOWN,
|
// response to user input (Mouse event WM_RBUTTONDOWN,
|
||||||
@@ -466,6 +469,16 @@ bool ContextMenuController::ShowContextMenu(
|
@@ -451,6 +454,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||||
if (!result.InnerNodeOrImageMapImage())
|
if (!result.InnerNodeOrImageMapImage())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -576,19 +551,29 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
|||||||
// Clear any previously set cached results if we are resetting the hit test
|
// Clear any previously set cached results if we are resetting the hit test
|
||||||
// result.
|
// result.
|
||||||
image_selection_cached_result_ = nullptr;
|
image_selection_cached_result_ = nullptr;
|
||||||
@@ -848,7 +861,7 @@ bool ContextMenuController::ShowContextMenu(
|
@@ -782,11 +795,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||||
|
|
||||||
SetAutofillData(result.InnerNode(), data);
|
SetAutofillData(result.InnerNode(), data);
|
||||||
|
|
||||||
|
- const bool from_touch = source_type == kMenuSourceTouch ||
|
||||||
|
- source_type == kMenuSourceLongPress ||
|
||||||
|
- source_type == kMenuSourceLongTap;
|
||||||
- if (from_touch && !ShouldShowContextMenuFromTouch(data))
|
- if (from_touch && !ShouldShowContextMenuFromTouch(data))
|
||||||
+ if (!base::FeatureList::IsEnabled(features::kShowAlwaysContextMenuOnLinks) && from_touch && !ShouldShowContextMenuFromTouch(data))
|
- return false;
|
||||||
return false;
|
+ if (!base::FeatureList::IsEnabled(features::kShowAlwaysContextMenuOnLinks)) {
|
||||||
|
+ const bool from_touch = source_type == kMenuSourceTouch ||
|
||||||
|
+ source_type == kMenuSourceLongPress ||
|
||||||
|
+ source_type == kMenuSourceLongTap;
|
||||||
|
+ if (from_touch && !ShouldShowContextMenuFromTouch(data))
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
|
||||||
WebLocalFrameImpl* selected_web_frame =
|
WebLocalFrameImpl* selected_web_frame =
|
||||||
|
WebLocalFrameImpl::FromFrame(selected_frame);
|
||||||
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.h b/third_party/blink/renderer/core/page/context_menu_controller.h
|
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.h b/third_party/blink/renderer/core/page/context_menu_controller.h
|
||||||
--- a/third_party/blink/renderer/core/page/context_menu_controller.h
|
--- a/third_party/blink/renderer/core/page/context_menu_controller.h
|
||||||
+++ b/third_party/blink/renderer/core/page/context_menu_controller.h
|
+++ b/third_party/blink/renderer/core/page/context_menu_controller.h
|
||||||
@@ -58,7 +58,7 @@ class CORE_EXPORT ContextMenuController
|
@@ -58,7 +58,7 @@ class CORE_EXPORT ContextMenuController final
|
||||||
|
|
||||||
void DocumentDetached(Document*);
|
void DocumentDetached(Document*);
|
||||||
|
|
||||||
@@ -597,13 +582,13 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.h b/th
|
|||||||
void ShowContextMenuAtPoint(LocalFrame*,
|
void ShowContextMenuAtPoint(LocalFrame*,
|
||||||
float x,
|
float x,
|
||||||
float y,
|
float y,
|
||||||
@@ -129,7 +129,8 @@ class CORE_EXPORT ContextMenuController
|
@@ -125,7 +125,8 @@ class CORE_EXPORT ContextMenuController final
|
||||||
virtual bool ShowContextMenu(LocalFrame*,
|
bool ShowContextMenu(LocalFrame*,
|
||||||
const PhysicalOffset&,
|
const PhysicalOffset&,
|
||||||
ui::mojom::blink::MenuSourceType,
|
WebMenuSourceType,
|
||||||
- const MouseEvent* mouse_event);
|
- const MouseEvent* mouse_event = nullptr);
|
||||||
+ const MouseEvent* mouse_event,
|
+ const MouseEvent* mouse_event = nullptr,
|
||||||
+ bool do_not_show_context_menu = false);
|
+ bool do_not_show_context_menu = false);
|
||||||
|
|
||||||
bool ShouldShowContextMenuFromTouch(const ContextMenuData&);
|
bool ShouldShowContextMenuFromTouch(const ContextMenuData&);
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
---
|
---
|
||||||
chrome/browser/about_flags.cc | 1 +
|
chrome/browser/about_flags.cc | 1 +
|
||||||
.../engagement/important_sites_util.cc | 9 +++++
|
.../engagement/important_sites_util.cc | 9 +++++
|
||||||
.../browser/media/media_engagement_service.cc | 4 ++-
|
|
||||||
.../auto_picture_in_picture_tab_helper.cc | 2 +-
|
|
||||||
.../internal/tracker_impl.cc | 3 ++
|
.../internal/tracker_impl.cc | 3 ++
|
||||||
.../public/feature_configurations.cc | 7 ++++
|
.../public/feature_configurations.cc | 7 ++++
|
||||||
.../content/site_engagement_score.cc | 5 +++
|
.../content/site_engagement_score.cc | 5 +++
|
||||||
@@ -18,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
components/site_engagement/core/features.cc | 30 ++++++++++++++++
|
components/site_engagement/core/features.cc | 30 ++++++++++++++++
|
||||||
components/site_engagement/core/features.h | 34 +++++++++++++++++++
|
components/site_engagement/core/features.h | 34 +++++++++++++++++++
|
||||||
.../Add-site-engagement-flag.inc | 10 ++++++
|
.../Add-site-engagement-flag.inc | 10 ++++++
|
||||||
11 files changed, 109 insertions(+), 2 deletions(-)
|
9 files changed, 105 insertions(+)
|
||||||
create mode 100644 components/site_engagement/core/features.cc
|
create mode 100644 components/site_engagement/core/features.cc
|
||||||
create mode 100644 components/site_engagement/core/features.h
|
create mode 100644 components/site_engagement/core/features.h
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-site-engagement-flag.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-site-engagement-flag.inc
|
||||||
@@ -26,10 +24,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||||
--- a/chrome/browser/about_flags.cc
|
--- a/chrome/browser/about_flags.cc
|
||||||
+++ b/chrome/browser/about_flags.cc
|
+++ b/chrome/browser/about_flags.cc
|
||||||
@@ -171,6 +171,7 @@
|
@@ -166,6 +166,7 @@
|
||||||
#include "components/sensitive_content/features.h"
|
#include "components/sensitive_content/features.h"
|
||||||
#include "components/services/heap_profiling/public/cpp/switches.h"
|
#include "components/services/heap_profiling/public/cpp/switches.h"
|
||||||
#include "components/services/storage/dom_storage/features.h"
|
#include "components/services/storage/public/cpp/buckets/bucket_info.h"
|
||||||
+#include "components/site_engagement/core/features.h"
|
+#include "components/site_engagement/core/features.h"
|
||||||
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
|
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
|
||||||
#include "components/sharing_message/features.h"
|
#include "components/sharing_message/features.h"
|
||||||
@@ -37,7 +35,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||||||
diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
|
diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
|
||||||
--- a/chrome/browser/engagement/important_sites_util.cc
|
--- a/chrome/browser/engagement/important_sites_util.cc
|
||||||
+++ b/chrome/browser/engagement/important_sites_util.cc
|
+++ b/chrome/browser/engagement/important_sites_util.cc
|
||||||
@@ -29,6 +29,7 @@
|
@@ -32,6 +32,7 @@
|
||||||
#include "components/prefs/scoped_user_pref_update.h"
|
#include "components/prefs/scoped_user_pref_update.h"
|
||||||
#include "components/site_engagement/content/site_engagement_score.h"
|
#include "components/site_engagement/content/site_engagement_score.h"
|
||||||
#include "components/site_engagement/content/site_engagement_service.h"
|
#include "components/site_engagement/content/site_engagement_service.h"
|
||||||
@@ -45,7 +43,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
|
|||||||
#include "components/site_engagement/core/mojom/site_engagement_details.mojom.h"
|
#include "components/site_engagement/core/mojom/site_engagement_details.mojom.h"
|
||||||
#include "components/webapps/browser/banners/app_banner_settings_helper.h"
|
#include "components/webapps/browser/banners/app_banner_settings_helper.h"
|
||||||
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
|
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
|
||||||
@@ -343,6 +344,10 @@ void ImportantSitesUtil::RegisterProfilePrefs(
|
@@ -349,6 +350,10 @@ void ImportantSitesUtil::RegisterProfilePrefs(
|
||||||
// static
|
// static
|
||||||
std::set<std::string> ImportantSitesUtil::GetInstalledRegisterableDomains(
|
std::set<std::string> ImportantSitesUtil::GetInstalledRegisterableDomains(
|
||||||
Profile* profile) {
|
Profile* profile) {
|
||||||
@@ -56,7 +54,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
|
|||||||
std::set<GURL> installed_origins = GetOriginsWithInstalledWebApps(profile);
|
std::set<GURL> installed_origins = GetOriginsWithInstalledWebApps(profile);
|
||||||
std::set<std::string> registerable_domains;
|
std::set<std::string> registerable_domains;
|
||||||
|
|
||||||
@@ -357,6 +362,10 @@ std::vector<ImportantDomainInfo>
|
@@ -363,6 +368,10 @@ std::vector<ImportantDomainInfo>
|
||||||
ImportantSitesUtil::GetImportantRegisterableDomains(Profile* profile,
|
ImportantSitesUtil::GetImportantRegisterableDomains(Profile* profile,
|
||||||
size_t max_results) {
|
size_t max_results) {
|
||||||
SCOPED_UMA_HISTOGRAM_TIMER("Storage.ImportantSites.GenerationTime");
|
SCOPED_UMA_HISTOGRAM_TIMER("Storage.ImportantSites.GenerationTime");
|
||||||
@@ -67,39 +65,6 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
|
|||||||
std::map<std::string, ImportantDomainInfo> important_info;
|
std::map<std::string, ImportantDomainInfo> important_info;
|
||||||
std::map<GURL, double> engagement_map;
|
std::map<GURL, double> engagement_map;
|
||||||
|
|
||||||
diff --git a/chrome/browser/media/media_engagement_service.cc b/chrome/browser/media/media_engagement_service.cc
|
|
||||||
--- a/chrome/browser/media/media_engagement_service.cc
|
|
||||||
+++ b/chrome/browser/media/media_engagement_service.cc
|
|
||||||
@@ -25,6 +25,7 @@
|
|
||||||
#include "components/history/core/browser/history_service.h"
|
|
||||||
#include "components/no_state_prefetch/browser/no_state_prefetch_contents.h"
|
|
||||||
#include "components/prefs/pref_service.h"
|
|
||||||
+#include "components/site_engagement/core/features.h"
|
|
||||||
#include "content/public/browser/web_contents.h"
|
|
||||||
#include "media/base/media_switches.h"
|
|
||||||
#include "url/origin.h"
|
|
||||||
@@ -54,7 +55,8 @@ enum class MediaEngagementClearReason {
|
|
||||||
|
|
||||||
// static
|
|
||||||
bool MediaEngagementService::IsEnabled() {
|
|
||||||
- return base::FeatureList::IsEnabled(media::kRecordMediaEngagementScores);
|
|
||||||
+ return base::FeatureList::IsEnabled(media::kRecordMediaEngagementScores)
|
|
||||||
+ && base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement);
|
|
||||||
}
|
|
||||||
|
|
||||||
// static
|
|
||||||
diff --git a/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc b/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc
|
|
||||||
--- a/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc
|
|
||||||
+++ b/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc
|
|
||||||
@@ -46,7 +46,7 @@ AutoPictureInPictureTabHelper::AutoPictureInPictureTabHelper(
|
|
||||||
Profile::FromBrowserContext(web_contents->GetBrowserContext()))),
|
|
||||||
auto_blocker_(PermissionDecisionAutoBlockerFactory::GetForProfile(
|
|
||||||
Profile::FromBrowserContext(web_contents->GetBrowserContext()))),
|
|
||||||
- media_engagement_service_(MediaEngagementService::Get(
|
|
||||||
+ media_engagement_service_(!MediaEngagementService::IsEnabled() ? nullptr : MediaEngagementService::Get(
|
|
||||||
Profile::FromBrowserContext(web_contents->GetBrowserContext()))),
|
|
||||||
clock_(base::DefaultTickClock::GetInstance()) {
|
|
||||||
// `base::Unretained` is safe here since we own `tab_observer_helper_`.
|
|
||||||
diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components/feature_engagement/internal/tracker_impl.cc
|
diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components/feature_engagement/internal/tracker_impl.cc
|
||||||
--- a/components/feature_engagement/internal/tracker_impl.cc
|
--- a/components/feature_engagement/internal/tracker_impl.cc
|
||||||
+++ b/components/feature_engagement/internal/tracker_impl.cc
|
+++ b/components/feature_engagement/internal/tracker_impl.cc
|
||||||
@@ -111,19 +76,19 @@ diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components
|
|||||||
#include "components/feature_engagement/internal/availability_model_impl.h"
|
#include "components/feature_engagement/internal/availability_model_impl.h"
|
||||||
#include "components/feature_engagement/internal/blocked_iph_features.h"
|
#include "components/feature_engagement/internal/blocked_iph_features.h"
|
||||||
#include "components/feature_engagement/internal/chrome_variations_configuration.h"
|
#include "components/feature_engagement/internal/chrome_variations_configuration.h"
|
||||||
@@ -290,6 +291,8 @@ TrackerImpl::TrackerImpl(
|
@@ -236,6 +237,8 @@ TrackerImpl::TrackerImpl(
|
||||||
TrackerImpl::~TrackerImpl() = default;
|
TrackerImpl::~TrackerImpl() = default;
|
||||||
|
|
||||||
void TrackerImpl::NotifyEvent(const std::string& event) {
|
void TrackerImpl::NotifyEvent(const std::string& event) {
|
||||||
+ if (!base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement))
|
+ if (!base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement))
|
||||||
+ return;
|
+ return;
|
||||||
GetEventModelWriter()->IncrementEvent(event, time_provider_->GetCurrentDay());
|
event_model_->IncrementEvent(event, time_provider_->GetCurrentDay());
|
||||||
stats::RecordNotifyEvent(event, configuration_.get(),
|
stats::RecordNotifyEvent(event, configuration_.get(),
|
||||||
event_model_provider_->IsReady());
|
event_model_->IsReady());
|
||||||
diff --git a/components/feature_engagement/public/feature_configurations.cc b/components/feature_engagement/public/feature_configurations.cc
|
diff --git a/components/feature_engagement/public/feature_configurations.cc b/components/feature_engagement/public/feature_configurations.cc
|
||||||
--- a/components/feature_engagement/public/feature_configurations.cc
|
--- a/components/feature_engagement/public/feature_configurations.cc
|
||||||
+++ b/components/feature_engagement/public/feature_configurations.cc
|
+++ b/components/feature_engagement/public/feature_configurations.cc
|
||||||
@@ -6,6 +6,7 @@
|
@@ -11,6 +11,7 @@
|
||||||
|
|
||||||
#include "base/strings/string_util.h"
|
#include "base/strings/string_util.h"
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
|
|||||||
@@ -5,17 +5,25 @@ Subject: Add support for ISupportHelpAndFeedback
|
|||||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
.../chrome/browser/settings/SettingsActivity.java | 8 ++++++--
|
.../chrome/browser/settings/SettingsActivity.java | 9 +++++++--
|
||||||
.../components/browser_ui/settings/SettingsUtils.java | 4 ++++
|
.../components/browser_ui/settings/SettingsUtils.java | 4 ++++
|
||||||
2 files changed, 10 insertions(+), 2 deletions(-)
|
2 files changed, 11 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||||
@@ -1102,8 +1102,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
@@ -55,6 +55,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
|
||||||
|
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
||||||
|
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory;
|
||||||
|
import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController;
|
||||||
|
+import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||||
|
import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
|
||||||
|
import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage;
|
||||||
|
import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
|
||||||
|
@@ -442,8 +443,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||||
|
finishCurrentSettings(mainFragment);
|
||||||
return true;
|
return true;
|
||||||
} else if (item.getItemId() == R.id.menu_id_general_help) {
|
} else if (item.getItemId() == R.id.menu_id_general_help) {
|
||||||
RecordUserAction.record("Settings.MobileHelpAndFeedback");
|
|
||||||
- HelpAndFeedbackLauncherImpl.getForProfile(mProfile)
|
- HelpAndFeedbackLauncherImpl.getForProfile(mProfile)
|
||||||
- .show(this, getString(R.string.help_context_settings), null);
|
- .show(this, getString(R.string.help_context_settings), null);
|
||||||
+ if (mainFragment instanceof SettingsUtils.ISupportHelpAndFeedback) {
|
+ if (mainFragment instanceof SettingsUtils.ISupportHelpAndFeedback) {
|
||||||
@@ -30,15 +38,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
|||||||
diff --git a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
diff --git a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
||||||
--- a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
--- a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
||||||
+++ b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
+++ b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
||||||
@@ -33,6 +33,10 @@ import java.util.ArrayList;
|
@@ -93,4 +93,8 @@ public class SettingsUtils {
|
||||||
/** A helper class for Settings. */
|
ToolbarUtils.setOverflowMenuVisibility(toolbar, visibility);
|
||||||
@NullMarked
|
return true;
|
||||||
public class SettingsUtils {
|
}
|
||||||
|
+
|
||||||
+ public interface ISupportHelpAndFeedback {
|
+ public interface ISupportHelpAndFeedback {
|
||||||
+ void onHelpAndFeebackPressed();
|
+ void onHelpAndFeebackPressed();
|
||||||
+ }
|
+ }
|
||||||
+
|
}
|
||||||
/**
|
|
||||||
* A helper that is used to load preferences from XML resources without causing a
|
|
||||||
* StrictModeViolation. See http://crbug.com/692125.
|
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -9,13 +9,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
---
|
---
|
||||||
base/android/content_uri_utils.cc | 10 ++++++
|
base/android/content_uri_utils.cc | 10 ++++++
|
||||||
base/android/content_uri_utils.h | 4 +++
|
base/android/content_uri_utils.h | 4 +++
|
||||||
.../org/chromium/base/ContentUriUtils.java | 33 +++++++++++++++++++
|
.../org/chromium/base/ContentUriUtils.java | 34 +++++++++++++++++++
|
||||||
3 files changed, 47 insertions(+)
|
3 files changed, 48 insertions(+)
|
||||||
|
|
||||||
diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc
|
diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc
|
||||||
--- a/base/android/content_uri_utils.cc
|
--- a/base/android/content_uri_utils.cc
|
||||||
+++ b/base/android/content_uri_utils.cc
|
+++ b/base/android/content_uri_utils.cc
|
||||||
@@ -140,6 +140,16 @@ static void JNI_ContentUriUtils_AddFileInfoToVector(
|
@@ -119,6 +119,16 @@ void JNI_ContentUriUtils_AddFileInfoToVector(JNIEnv* env,
|
||||||
Time::FromMillisecondsSinceUnixEpoch(last_modified));
|
Time::FromMillisecondsSinceUnixEpoch(last_modified));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,9 +35,9 @@ diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.
|
|||||||
diff --git a/base/android/content_uri_utils.h b/base/android/content_uri_utils.h
|
diff --git a/base/android/content_uri_utils.h b/base/android/content_uri_utils.h
|
||||||
--- a/base/android/content_uri_utils.h
|
--- a/base/android/content_uri_utils.h
|
||||||
+++ b/base/android/content_uri_utils.h
|
+++ b/base/android/content_uri_utils.h
|
||||||
@@ -46,6 +46,10 @@ int ContentUriGetFd(
|
@@ -33,6 +33,10 @@ BASE_EXPORT std::optional<std::string> TranslateOpenFlagsToJavaMode(
|
||||||
void ContentUriClose(
|
// Returns -1 if the URI is invalid.
|
||||||
const base::android::JavaRef<jobject>& java_parcel_file_descriptor);
|
int OpenContentUri(const FilePath& content_uri, uint32_t open_flags);
|
||||||
|
|
||||||
+// Opens a content URI for write and returns the file descriptor to the caller.
|
+// Opens a content URI for write and returns the file descriptor to the caller.
|
||||||
+// Returns -1 if the URI is invalid.
|
+// Returns -1 if the URI is invalid.
|
||||||
@@ -49,7 +49,15 @@ diff --git a/base/android/content_uri_utils.h b/base/android/content_uri_utils.h
|
|||||||
diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
||||||
--- a/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
--- a/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
||||||
+++ b/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
+++ b/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
||||||
@@ -31,6 +31,9 @@ import org.chromium.build.annotations.Nullable;
|
@@ -12,6 +12,7 @@ import android.content.res.AssetFileDescriptor;
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.Build;
|
||||||
|
+import android.os.ParcelFileDescriptor;
|
||||||
|
import android.provider.DocumentsContract;
|
||||||
|
import android.provider.MediaStore;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
@@ -30,6 +31,9 @@ import org.chromium.build.annotations.Nullable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -59,8 +67,8 @@ diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base
|
|||||||
/** This class provides methods to access content URI schemes. */
|
/** This class provides methods to access content URI schemes. */
|
||||||
@JNINamespace("base")
|
@JNINamespace("base")
|
||||||
@NullMarked
|
@NullMarked
|
||||||
@@ -72,6 +75,36 @@ public abstract class ContentUriUtils {
|
@@ -64,6 +68,36 @@ public abstract class ContentUriUtils {
|
||||||
StreamUtil.closeQuietly(parcelFileDescriptor);
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ @CalledByNative
|
+ @CalledByNative
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -52,7 +52,7 @@ new file mode 100644
|
|||||||
+import org.chromium.components.browser_ui.site_settings.BromiteCustomContentSetting;
|
+import org.chromium.components.browser_ui.site_settings.BromiteCustomContentSetting;
|
||||||
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
||||||
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
||||||
+import org.chromium.components.content_settings.ContentSetting;
|
+import org.chromium.components.content_settings.ContentSettingValues;
|
||||||
+import org.chromium.components.content_settings.ContentSettingsType;
|
+import org.chromium.components.content_settings.ContentSettingsType;
|
||||||
+import org.chromium.content_public.browser.BrowserContextHandle;
|
+import org.chromium.content_public.browser.BrowserContextHandle;
|
||||||
+
|
+
|
||||||
@@ -65,8 +65,8 @@ new file mode 100644
|
|||||||
+public class BromiteWebGLContentSetting extends BromiteCustomContentSetting {
|
+public class BromiteWebGLContentSetting extends BromiteCustomContentSetting {
|
||||||
+ public BromiteWebGLContentSetting() {
|
+ public BromiteWebGLContentSetting() {
|
||||||
+ super(/*contentSettingsType*/ ContentSettingsType.WEBGL,
|
+ super(/*contentSettingsType*/ ContentSettingsType.WEBGL,
|
||||||
+ /*defaultEnabledValue*/ ContentSetting.ALLOW,
|
+ /*defaultEnabledValue*/ ContentSettingValues.ALLOW,
|
||||||
+ /*defaultDisabledValue*/ ContentSetting.BLOCK,
|
+ /*defaultDisabledValue*/ ContentSettingValues.BLOCK,
|
||||||
+ /*allowException*/ true,
|
+ /*allowException*/ true,
|
||||||
+ /*preferenceKey*/ "webgl",
|
+ /*preferenceKey*/ "webgl",
|
||||||
+ /*profilePrefKey*/ "webgl");
|
+ /*profilePrefKey*/ "webgl");
|
||||||
@@ -85,11 +85,11 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public int getCategorySummary(@Nullable @ContentSetting int value) {
|
+ public int getCategorySummary(@Nullable @ContentSettingValues int value) {
|
||||||
+ switch (value) {
|
+ switch (value) {
|
||||||
+ case ContentSetting.ALLOW:
|
+ case ContentSettingValues.ALLOW:
|
||||||
+ return R.string.website_settings_category_webgl_enabled;
|
+ return R.string.website_settings_category_webgl_enabled;
|
||||||
+ case ContentSetting.BLOCK:
|
+ case ContentSettingValues.BLOCK:
|
||||||
+ return R.string.website_settings_category_webgl_disabled;
|
+ return R.string.website_settings_category_webgl_disabled;
|
||||||
+ default:
|
+ default:
|
||||||
+ return 0;
|
+ return 0;
|
||||||
@@ -117,8 +117,8 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSetting int value) {
|
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
|
||||||
+ return value != ContentSetting.BLOCK;
|
+ return value != ContentSettingValues.BLOCK;
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/components/browser_ui/strings/bromite_content_settings/webgl.grdp b/components/browser_ui/strings/bromite_content_settings/webgl.grdp
|
diff --git a/components/browser_ui/strings/bromite_content_settings/webgl.grdp b/components/browser_ui/strings/bromite_content_settings/webgl.grdp
|
||||||
@@ -166,7 +166,7 @@ new file mode 100644
|
|||||||
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||||
+ PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||||
+
|
+
|
||||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||||
+ ->GetMutable(ContentSettingsType::WEBGL)
|
+ ->GetMutable(ContentSettingsType::WEBGL)
|
||||||
@@ -189,7 +189,7 @@ new file mode 100644
|
|||||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
|
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||||
@@ -86,6 +86,13 @@ blink::WebContentSettingsClient* GetContentSettingsClientFor(
|
@@ -85,6 +85,13 @@ blink::WebContentSettingsClient* GetContentSettingsClientFor(
|
||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,7 +206,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
|
|||||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
|
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
|
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
|
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||||
@@ -111,6 +111,8 @@ enum ReasonForCallingCanExecuteScripts {
|
@@ -116,6 +116,8 @@ enum ReasonForCallingCanExecuteScripts {
|
||||||
|
|
||||||
enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag };
|
enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag };
|
||||||
|
|
||||||
@@ -218,7 +218,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
|
|||||||
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
||||||
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
||||||
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
||||||
@@ -345,6 +345,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
|
@@ -297,6 +297,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,8 +232,8 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
|
|||||||
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
|
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
|
||||||
base::AutoLock locker(WebGLContextLimitLock());
|
base::AutoLock locker(WebGLContextLimitLock());
|
||||||
DCHECK(webgl_context_limits_initialized_);
|
DCHECK(webgl_context_limits_initialized_);
|
||||||
@@ -631,25 +638,6 @@ static String ExtractWebGLContextCreationError(
|
@@ -566,25 +573,6 @@ static String ExtractWebGLContextCreationError(
|
||||||
const Platform::WebGLContextInfo& info) {
|
const Platform::GraphicsInfo& info) {
|
||||||
StringBuilder builder;
|
StringBuilder builder;
|
||||||
builder.Append("Could not create a WebGL context");
|
builder.Append("Could not create a WebGL context");
|
||||||
- FormatWebGLStatusString(
|
- FormatWebGLStatusString(
|
||||||
@@ -258,10 +258,10 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
|
|||||||
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
|
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
|
||||||
builder);
|
builder);
|
||||||
builder.Append('.');
|
builder.Append('.');
|
||||||
@@ -710,6 +698,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
|
@@ -644,6 +632,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
|
||||||
const CanvasContextCreationAttributesCore& attributes,
|
const CanvasContextCreationAttributesCore& attributes,
|
||||||
Platform::WebGLContextType context_type,
|
Platform::ContextType context_type,
|
||||||
Platform::WebGLContextInfo* context_info) {
|
Platform::GraphicsInfo* graphics_info) {
|
||||||
+ if (!AllowWebglForHost(host)) {
|
+ if (!AllowWebglForHost(host)) {
|
||||||
+ host->HostDispatchEvent(WebGLContextEvent::Create(
|
+ host->HostDispatchEvent(WebGLContextEvent::Create(
|
||||||
+ event_type_names::kWebglcontextcreationerror,
|
+ event_type_names::kWebglcontextcreationerror,
|
||||||
@@ -274,7 +274,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
|
|||||||
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
||||||
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
||||||
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
||||||
@@ -1968,6 +1968,8 @@ class MODULES_EXPORT WebGLRenderingContextBase
|
@@ -1936,6 +1936,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
|
||||||
DOMArrayBufferView* pixels,
|
DOMArrayBufferView* pixels,
|
||||||
int64_t offset);
|
int64_t offset);
|
||||||
|
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
.../bromite_content_settings/webrtc.inc | 22 +++++
|
.../bromite_content_settings/webrtc.inc | 22 +++++
|
||||||
.../bromite_content_settings/WEBRTC.inc | 1 +
|
.../bromite_content_settings/WEBRTC.inc | 1 +
|
||||||
.../peer_connection_dependency_factory.cc | 6 ++
|
.../peer_connection_dependency_factory.cc | 6 ++
|
||||||
.../peerconnection/rtc_rtp_receiver.cc | 11 +++
|
.../peerconnection/rtc_rtp_receiver.cc | 10 ++
|
||||||
.../modules/peerconnection/rtc_rtp_sender.cc | 11 +++
|
.../modules/peerconnection/rtc_rtp_sender.cc | 10 ++
|
||||||
7 files changed, 172 insertions(+)
|
7 files changed, 170 insertions(+)
|
||||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteWebRTCContentSetting.java
|
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteWebRTCContentSetting.java
|
||||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/webrtc.grdp
|
create mode 100644 components/browser_ui/strings/bromite_content_settings/webrtc.grdp
|
||||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/webrtc.inc
|
create mode 100644 components/content_settings/core/browser/bromite_content_settings/webrtc.inc
|
||||||
@@ -49,7 +49,7 @@ new file mode 100644
|
|||||||
+import org.chromium.components.browser_ui.site_settings.BromiteCustomContentSetting;
|
+import org.chromium.components.browser_ui.site_settings.BromiteCustomContentSetting;
|
||||||
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
||||||
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
||||||
+import org.chromium.components.content_settings.ContentSetting;
|
+import org.chromium.components.content_settings.ContentSettingValues;
|
||||||
+import org.chromium.components.content_settings.ContentSettingsType;
|
+import org.chromium.components.content_settings.ContentSettingsType;
|
||||||
+import org.chromium.content_public.browser.BrowserContextHandle;
|
+import org.chromium.content_public.browser.BrowserContextHandle;
|
||||||
+
|
+
|
||||||
@@ -62,8 +62,8 @@ new file mode 100644
|
|||||||
+public class BromiteWebRTCContentSetting extends BromiteCustomContentSetting {
|
+public class BromiteWebRTCContentSetting extends BromiteCustomContentSetting {
|
||||||
+ public BromiteWebRTCContentSetting() {
|
+ public BromiteWebRTCContentSetting() {
|
||||||
+ super(/*contentSettingsType*/ ContentSettingsType.WEBRTC,
|
+ super(/*contentSettingsType*/ ContentSettingsType.WEBRTC,
|
||||||
+ /*defaultEnabledValue*/ ContentSetting.ALLOW,
|
+ /*defaultEnabledValue*/ ContentSettingValues.ALLOW,
|
||||||
+ /*defaultDisabledValue*/ ContentSetting.BLOCK,
|
+ /*defaultDisabledValue*/ ContentSettingValues.BLOCK,
|
||||||
+ /*allowException*/ true,
|
+ /*allowException*/ true,
|
||||||
+ /*preferenceKey*/ "webrtc",
|
+ /*preferenceKey*/ "webrtc",
|
||||||
+ /*profilePrefKey*/ "webrtc");
|
+ /*profilePrefKey*/ "webrtc");
|
||||||
@@ -82,11 +82,11 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public int getCategorySummary(@Nullable @ContentSetting int value) {
|
+ public int getCategorySummary(@Nullable @ContentSettingValues int value) {
|
||||||
+ switch (value) {
|
+ switch (value) {
|
||||||
+ case ContentSetting.ALLOW:
|
+ case ContentSettingValues.ALLOW:
|
||||||
+ return R.string.website_settings_category_webrtc_enabled;
|
+ return R.string.website_settings_category_webrtc_enabled;
|
||||||
+ case ContentSetting.BLOCK:
|
+ case ContentSettingValues.BLOCK:
|
||||||
+ return R.string.website_settings_category_webrtc_disabled;
|
+ return R.string.website_settings_category_webrtc_disabled;
|
||||||
+ default:
|
+ default:
|
||||||
+ // this will cause a runtime exception
|
+ // this will cause a runtime exception
|
||||||
@@ -115,8 +115,8 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSetting int value) {
|
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
|
||||||
+ return value != ContentSetting.BLOCK;
|
+ return value != ContentSettingValues.BLOCK;
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/components/browser_ui/strings/bromite_content_settings/webrtc.grdp b/components/browser_ui/strings/bromite_content_settings/webrtc.grdp
|
diff --git a/components/browser_ui/strings/bromite_content_settings/webrtc.grdp b/components/browser_ui/strings/bromite_content_settings/webrtc.grdp
|
||||||
@@ -164,7 +164,7 @@ new file mode 100644
|
|||||||
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||||
+ PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||||
+
|
+
|
||||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||||
+ ->GetMutable(ContentSettingsType::WEBRTC)
|
+ ->GetMutable(ContentSettingsType::WEBRTC)
|
||||||
@@ -187,7 +187,7 @@ new file mode 100644
|
|||||||
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||||
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||||
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||||
@@ -48,6 +48,7 @@
|
@@ -41,6 +41,7 @@
|
||||||
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
||||||
#include "third_party/blink/public/platform/platform.h"
|
#include "third_party/blink/public/platform/platform.h"
|
||||||
#include "third_party/blink/public/platform/task_type.h"
|
#include "third_party/blink/public/platform/task_type.h"
|
||||||
@@ -195,7 +195,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d
|
|||||||
#include "third_party/blink/public/platform/web_url.h"
|
#include "third_party/blink/public/platform/web_url.h"
|
||||||
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
|
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
|
||||||
#include "third_party/blink/public/web/web_document.h"
|
#include "third_party/blink/public/web/web_document.h"
|
||||||
@@ -1071,6 +1072,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
|
@@ -936,6 +937,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
|
||||||
// |request_multiple_routes|. Whether local IP addresses could be
|
// |request_multiple_routes|. Whether local IP addresses could be
|
||||||
// collected depends on if mic/camera permission is granted for this
|
// collected depends on if mic/camera permission is granted for this
|
||||||
// origin.
|
// origin.
|
||||||
@@ -210,17 +210,16 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d
|
|||||||
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.cc b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.cc
|
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.cc b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.cc
|
||||||
--- a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.cc
|
--- a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.cc
|
||||||
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.cc
|
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.cc
|
||||||
@@ -12,6 +12,9 @@
|
@@ -14,6 +14,8 @@
|
||||||
#include "base/synchronization/lock.h"
|
#include "third_party/blink/public/common/privacy_budget/identifiable_surface.h"
|
||||||
#include "base/task/single_thread_task_runner.h"
|
#include "third_party/blink/public/common/privacy_budget/identifiable_token_builder.h"
|
||||||
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
||||||
+#include "third_party/blink/public/platform/web_content_settings_client.h"
|
+#include "third_party/blink/public/platform/web_content_settings_client.h"
|
||||||
+#include "third_party/blink/public/web/web_local_frame.h"
|
+#include "third_party/blink/public/web/web_local_frame.h"
|
||||||
+#include "third_party/blink/renderer/core/frame/local_dom_window.h"
|
|
||||||
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
|
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
|
||||||
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h"
|
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h"
|
||||||
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_rtcp_parameters.h"
|
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_rtcp_parameters.h"
|
||||||
@@ -277,6 +280,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state,
|
@@ -286,6 +288,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state,
|
||||||
if (kind != "audio" && kind != "video")
|
if (kind != "audio" && kind != "video")
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
@@ -238,17 +237,16 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.
|
|||||||
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
|
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
|
||||||
--- a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
|
--- a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
|
||||||
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
|
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
|
||||||
@@ -17,6 +17,9 @@
|
@@ -19,6 +19,8 @@
|
||||||
#include "base/strings/to_string.h"
|
#include "third_party/blink/public/common/privacy_budget/identifiable_surface.h"
|
||||||
#include "base/task/single_thread_task_runner.h"
|
#include "third_party/blink/public/common/privacy_budget/identifiable_token_builder.h"
|
||||||
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
||||||
+#include "third_party/blink/public/platform/web_content_settings_client.h"
|
+#include "third_party/blink/public/platform/web_content_settings_client.h"
|
||||||
+#include "third_party/blink/public/web/web_local_frame.h"
|
+#include "third_party/blink/public/web/web_local_frame.h"
|
||||||
+#include "third_party/blink/renderer/core/frame/local_dom_window.h"
|
|
||||||
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
|
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
|
||||||
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_encoding_options.h"
|
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_encoding_options.h"
|
||||||
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h"
|
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h"
|
||||||
@@ -1020,6 +1023,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state,
|
@@ -1033,6 +1035,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state,
|
||||||
if (kind != "audio" && kind != "video")
|
if (kind != "audio" && kind != "video")
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
|
|||||||
@@ -3,38 +3,24 @@ Date: Mon, 7 Aug 2023 11:02:18 +0000
|
|||||||
Subject: Allow DocumentPiP if PopupsAndRedirects are active
|
Subject: Allow DocumentPiP if PopupsAndRedirects are active
|
||||||
|
|
||||||
Allow documentPiP api use only with content setting popup allowed
|
Allow documentPiP api use only with content setting popup allowed
|
||||||
and disables the possibility of verifying the activation of PIP
|
|
||||||
in the device with document.pictureInPictureEnabled
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
.../chromium/chrome/browser/media/PictureInPicture.java | 1 +
|
|
||||||
.../picture_in_picture_controller_impl.cc | 7 +++++++
|
.../picture_in_picture_controller_impl.cc | 7 +++++++
|
||||||
2 files changed, 8 insertions(+)
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/PictureInPicture.java b/chrome/android/java/src/org/chromium/chrome/browser/media/PictureInPicture.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/PictureInPicture.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/PictureInPicture.java
|
|
||||||
@@ -29,6 +29,7 @@ public abstract class PictureInPicture {
|
|
||||||
* @return boolean true if Picture-In-Picture is enabled, otherwise false.
|
|
||||||
*/
|
|
||||||
public static boolean isEnabled(Context context) {
|
|
||||||
+ if ((true)) return true;
|
|
||||||
// Some versions of Android crash when the activity enters Picture-in-Picture
|
|
||||||
// immediately after it exits Picture-in-Picture. See b/143784148
|
|
||||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
|
|
||||||
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
|
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
|
--- 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
|
+++ b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
|
||||||
@@ -31,6 +31,7 @@
|
@@ -27,6 +27,7 @@
|
||||||
|
#include "third_party/blink/renderer/core/html/media/html_media_element.h"
|
||||||
|
#include "third_party/blink/renderer/core/html/media/html_video_element.h"
|
||||||
#include "third_party/blink/renderer/core/layout/layout_video.h"
|
#include "third_party/blink/renderer/core/layout/layout_video.h"
|
||||||
#include "third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture.h"
|
|
||||||
#include "third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_event.h"
|
|
||||||
+#include "third_party/blink/renderer/core/loader/document_loader.h"
|
+#include "third_party/blink/renderer/core/loader/document_loader.h"
|
||||||
#include "third_party/blink/renderer/modules/picture_in_picture/picture_in_picture_event.h"
|
#include "third_party/blink/renderer/modules/picture_in_picture/picture_in_picture_event.h"
|
||||||
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
|
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
|
||||||
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
|
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
|
||||||
@@ -386,6 +387,12 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow(
|
@@ -377,6 +378,12 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
.../browser/network/reporting_service_proxy.cc | 3 +++
|
.../browser/network/reporting_service_proxy.cc | 3 +++
|
||||||
.../renderer_host/render_frame_host_impl.cc | 6 ------
|
.../renderer_host/render_frame_host_impl.cc | 6 ------
|
||||||
.../coop/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
|
.../coop/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
|
||||||
.../dip/document_isolation_policy_reporter.cc | 3 +++
|
.../dip/document_isolation_policy_reporter.cc | 2 ++
|
||||||
.../web_package/signed_exchange_reporter.cc | 2 ++
|
.../web_package/signed_exchange_reporter.cc | 2 ++
|
||||||
...content_switch_dependent_feature_overrides.cc | 1 +
|
...content_switch_dependent_feature_overrides.cc | 1 +
|
||||||
.../Allow-building-without-enable_reporting.inc | 2 ++
|
.../Allow-building-without-enable_reporting.inc | 2 ++
|
||||||
@@ -22,17 +22,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
.../network/public/mojom/network_context.mojom | 3 +++
|
.../network/public/mojom/network_context.mojom | 3 +++
|
||||||
.../core/frame/csp/content_security_policy.cc | 3 +++
|
.../core/frame/csp/content_security_policy.cc | 3 +++
|
||||||
.../blink/renderer/core/frame/local_frame.cc | 3 +++
|
.../blink/renderer/core/frame/local_frame.cc | 3 +++
|
||||||
.../blink/renderer/core/frame/local_frame.h | 3 +++
|
.../blink/renderer/core/frame/local_frame.h | 4 +++-
|
||||||
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
|
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
|
||||||
.../renderer/core/frame/reporting_context.h | 7 +++++--
|
.../renderer/core/frame/reporting_context.h | 7 +++++--
|
||||||
.../renderer/core/frame/reporting_observer.cc | 4 +---
|
.../renderer/core/frame/reporting_observer.cc | 3 +--
|
||||||
22 files changed, 64 insertions(+), 26 deletions(-)
|
22 files changed, 63 insertions(+), 26 deletions(-)
|
||||||
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Allow-building-without-enable_reporting.inc
|
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Allow-building-without-enable_reporting.inc
|
||||||
|
|
||||||
diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chrome_report_sender.cc
|
diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chrome_report_sender.cc
|
||||||
--- a/chrome/browser/net/chrome_report_sender.cc
|
--- a/chrome/browser/net/chrome_report_sender.cc
|
||||||
+++ b/chrome/browser/net/chrome_report_sender.cc
|
+++ b/chrome/browser/net/chrome_report_sender.cc
|
||||||
@@ -88,6 +88,7 @@ void SendReport(
|
@@ -85,6 +85,7 @@ void SendReport(
|
||||||
const std::string& report,
|
const std::string& report,
|
||||||
base::OnceClosure success_callback,
|
base::OnceClosure success_callback,
|
||||||
ErrorCallback error_callback) {
|
ErrorCallback error_callback) {
|
||||||
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chr
|
|||||||
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
|
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
|
||||||
--- a/content/browser/devtools/protocol/network_handler.cc
|
--- a/content/browser/devtools/protocol/network_handler.cc
|
||||||
+++ b/content/browser/devtools/protocol/network_handler.cc
|
+++ b/content/browser/devtools/protocol/network_handler.cc
|
||||||
@@ -1670,6 +1670,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
|
@@ -1473,6 +1473,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
|
|||||||
std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
|
std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
|
||||||
std::vector<GURL> urls;
|
std::vector<GURL> urls;
|
||||||
frame_host->ForEachRenderFrameHostImplWithAction(
|
frame_host->ForEachRenderFrameHostImplWithAction(
|
||||||
@@ -1683,6 +1684,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
|
@@ -1486,6 +1487,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
|
||||||
});
|
});
|
||||||
return urls;
|
return urls;
|
||||||
}
|
}
|
||||||
@@ -87,7 +87,7 @@ diff --git a/content/browser/network/cross_origin_embedder_policy_reporter.cc b/
|
|||||||
+ const std::optional<std::string>& endpoint =
|
+ const std::optional<std::string>& endpoint =
|
||||||
+ report_only ? report_only_endpoint_ : endpoint_;
|
+ report_only ? report_only_endpoint_ : endpoint_;
|
||||||
if (endpoint) {
|
if (endpoint) {
|
||||||
base::DictValue body_to_pass;
|
base::Value::Dict body_to_pass;
|
||||||
for (const auto& pair : body) {
|
for (const auto& pair : body) {
|
||||||
@@ -125,6 +127,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
@@ -125,6 +127,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
||||||
network_anonymization_key_, std::move(body_to_pass));
|
network_anonymization_key_, std::move(body_to_pass));
|
||||||
@@ -106,12 +106,12 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
|
|||||||
#include "base/values.h"
|
#include "base/values.h"
|
||||||
+#include "net/base/features.h"
|
+#include "net/base/features.h"
|
||||||
#include "content/browser/service_worker/service_worker_host.h"
|
#include "content/browser/service_worker/service_worker_host.h"
|
||||||
#include "content/browser/shared_storage/shared_storage_worklet_host.h"
|
|
||||||
#include "content/browser/worker_host/dedicated_worker_host.h"
|
#include "content/browser/worker_host/dedicated_worker_host.h"
|
||||||
@@ -250,12 +251,14 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy {
|
#include "content/browser/worker_host/shared_worker_host.h"
|
||||||
|
@@ -222,12 +223,14 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy {
|
||||||
const std::string& group,
|
const std::string& group,
|
||||||
const std::string& type,
|
const std::string& type,
|
||||||
base::DictValue body) {
|
base::Value::Dict body) {
|
||||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||||
auto* rph = RenderProcessHost::FromID(render_process_id_);
|
auto* rph = RenderProcessHost::FromID(render_process_id_);
|
||||||
if (!rph)
|
if (!rph)
|
||||||
@@ -122,23 +122,23 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
|
|||||||
+#endif
|
+#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
const ChildProcessId render_process_id_;
|
const int render_process_id_;
|
||||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
@@ -16912,12 +16912,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
|
@@ -15703,12 +15703,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
-
|
-
|
||||||
- // Send the crash report to the Reporting API.
|
- // Send the crash report to the Reporting API.
|
||||||
- GetProcess()->GetStoragePartition()->GetNetworkContext()->QueueReport(
|
- GetProcess()->GetStoragePartition()->GetNetworkContext()->QueueReport(
|
||||||
- /*type=*/"crash", crash_reporting_group_, last_committed_url_,
|
- /*type=*/"crash", /*group=*/"default", last_committed_url_,
|
||||||
- GetReportingSource(), isolation_info_.network_anonymization_key(),
|
- GetReportingSource(), isolation_info_.network_anonymization_key(),
|
||||||
- std::move(body));
|
- std::move(body));
|
||||||
}
|
}
|
||||||
|
|
||||||
base::DictValue RenderFrameHostImpl::ReadCrashReportAPIBody() {
|
void RenderFrameHostImpl::SendCommitNavigation(
|
||||||
diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.cc b/content/browser/security/coop/cross_origin_opener_policy_reporter.cc
|
diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.cc b/content/browser/security/coop/cross_origin_opener_policy_reporter.cc
|
||||||
--- a/content/browser/security/coop/cross_origin_opener_policy_reporter.cc
|
--- a/content/browser/security/coop/cross_origin_opener_policy_reporter.cc
|
||||||
+++ b/content/browser/security/coop/cross_origin_opener_policy_reporter.cc
|
+++ b/content/browser/security/coop/cross_origin_opener_policy_reporter.cc
|
||||||
@@ -177,7 +177,7 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c
|
|||||||
std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
|
std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
|
||||||
switch (coop_value) {
|
switch (coop_value) {
|
||||||
case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone:
|
case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone:
|
||||||
@@ -59,6 +52,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
|
@@ -64,6 +57,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
|
||||||
return "noopener-allow-popups";
|
return "noopener-allow-popups";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -185,7 +185,7 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c
|
|||||||
|
|
||||||
FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
|
FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
|
||||||
FrameTreeNode* opener =
|
FrameTreeNode* opener =
|
||||||
@@ -230,6 +224,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
|
@@ -235,6 +229,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
|
||||||
network::mojom::SourceLocationPtr source_location,
|
network::mojom::SourceLocationPtr source_location,
|
||||||
const std::string& reported_window_url,
|
const std::string& reported_window_url,
|
||||||
const std::string& initial_popup_url) const {
|
const std::string& initial_popup_url) const {
|
||||||
@@ -193,7 +193,7 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c
|
|||||||
// Cross-Origin-Opener-Policy-Report-Only is not required to provide
|
// Cross-Origin-Opener-Policy-Report-Only is not required to provide
|
||||||
// endpoints.
|
// endpoints.
|
||||||
if (!coop_.report_only_reporting_endpoint)
|
if (!coop_.report_only_reporting_endpoint)
|
||||||
@@ -277,12 +272,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
|
@@ -282,12 +277,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
|
||||||
storage_partition_->GetNetworkContext()->QueueReport(
|
storage_partition_->GetNetworkContext()->QueueReport(
|
||||||
"coop", endpoint, context_url_, reporting_source_,
|
"coop", endpoint, context_url_, reporting_source_,
|
||||||
network_anonymization_key_, std::move(body));
|
network_anonymization_key_, std::move(body));
|
||||||
@@ -201,14 +201,14 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
|
void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
|
||||||
base::DictValue body,
|
base::Value::Dict body,
|
||||||
const std::string& endpoint,
|
const std::string& endpoint,
|
||||||
bool is_report_only) {
|
bool is_report_only) {
|
||||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||||
body.Set(kDisposition,
|
body.Set(kDisposition,
|
||||||
is_report_only ? kDispositionReporting : kDispositionEnforce);
|
is_report_only ? kDispositionReporting : kDispositionEnforce);
|
||||||
body.Set(kEffectivePolicy,
|
body.Set(kEffectivePolicy,
|
||||||
@@ -290,6 +287,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
|
@@ -295,6 +292,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
|
||||||
storage_partition_->GetNetworkContext()->QueueReport(
|
storage_partition_->GetNetworkContext()->QueueReport(
|
||||||
"coop", endpoint, context_url_, reporting_source_,
|
"coop", endpoint, context_url_, reporting_source_,
|
||||||
network_anonymization_key_, std::move(body));
|
network_anonymization_key_, std::move(body));
|
||||||
@@ -219,15 +219,7 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c
|
|||||||
diff --git a/content/browser/security/dip/document_isolation_policy_reporter.cc b/content/browser/security/dip/document_isolation_policy_reporter.cc
|
diff --git a/content/browser/security/dip/document_isolation_policy_reporter.cc b/content/browser/security/dip/document_isolation_policy_reporter.cc
|
||||||
--- a/content/browser/security/dip/document_isolation_policy_reporter.cc
|
--- a/content/browser/security/dip/document_isolation_policy_reporter.cc
|
||||||
+++ b/content/browser/security/dip/document_isolation_policy_reporter.cc
|
+++ b/content/browser/security/dip/document_isolation_policy_reporter.cc
|
||||||
@@ -7,6 +7,7 @@
|
@@ -94,11 +94,13 @@ void DocumentIsolationPolicyReporter::QueueAndNotify(
|
||||||
#include <string_view>
|
|
||||||
|
|
||||||
#include "base/values.h"
|
|
||||||
+#include "net/net_buildflags.h"
|
|
||||||
#include "content/public/browser/storage_partition.h"
|
|
||||||
#include "services/network/public/cpp/request_destination.h"
|
|
||||||
#include "services/network/public/mojom/network_context.mojom.h"
|
|
||||||
@@ -94,11 +95,13 @@ void DocumentIsolationPolicyReporter::QueueAndNotify(
|
|
||||||
}
|
}
|
||||||
body_to_pass.Set("disposition", disposition);
|
body_to_pass.Set("disposition", disposition);
|
||||||
|
|
||||||
@@ -281,7 +273,7 @@ new file mode 100644
|
|||||||
diff --git a/net/reporting/reporting_header_parser.cc b/net/reporting/reporting_header_parser.cc
|
diff --git a/net/reporting/reporting_header_parser.cc b/net/reporting/reporting_header_parser.cc
|
||||||
--- a/net/reporting/reporting_header_parser.cc
|
--- a/net/reporting/reporting_header_parser.cc
|
||||||
+++ b/net/reporting/reporting_header_parser.cc
|
+++ b/net/reporting/reporting_header_parser.cc
|
||||||
@@ -344,6 +344,7 @@ void ReportingHeaderParser::ProcessParsedReportingEndpointsHeader(
|
@@ -337,6 +337,7 @@ void ReportingHeaderParser::ProcessParsedReportingEndpointsHeader(
|
||||||
const NetworkAnonymizationKey& network_anonymization_key,
|
const NetworkAnonymizationKey& network_anonymization_key,
|
||||||
const url::Origin& origin,
|
const url::Origin& origin,
|
||||||
base::flat_map<std::string, std::string> header) {
|
base::flat_map<std::string, std::string> header) {
|
||||||
@@ -292,7 +284,7 @@ diff --git a/net/reporting/reporting_header_parser.cc b/net/reporting/reporting_
|
|||||||
diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_service.cc
|
diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_service.cc
|
||||||
--- a/net/reporting/reporting_service.cc
|
--- a/net/reporting/reporting_service.cc
|
||||||
+++ b/net/reporting/reporting_service.cc
|
+++ b/net/reporting/reporting_service.cc
|
||||||
@@ -227,6 +227,12 @@ class ReportingServiceImpl : public ReportingService {
|
@@ -225,6 +225,12 @@ class ReportingServiceImpl : public ReportingService {
|
||||||
int depth,
|
int depth,
|
||||||
base::TimeTicks queued_ticks,
|
base::TimeTicks queued_ticks,
|
||||||
ReportingTargetType target_type) {
|
ReportingTargetType target_type) {
|
||||||
@@ -303,22 +295,22 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
|
|||||||
+#error Attempting to build with enable_reporting
|
+#error Attempting to build with enable_reporting
|
||||||
+#endif
|
+#endif
|
||||||
DCHECK(initialized_);
|
DCHECK(initialized_);
|
||||||
context_->cache()->AddReport(
|
context_->cache()->AddReport(reporting_source, network_anonymization_key,
|
||||||
reporting_source, network_anonymization_key, sanitized_url, user_agent,
|
sanitized_url, user_agent, group, type,
|
||||||
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
||||||
--- a/services/network/network_context.h
|
--- a/services/network/network_context.h
|
||||||
+++ b/services/network/network_context.h
|
+++ b/services/network/network_context.h
|
||||||
@@ -504,14 +504,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
@@ -470,14 +470,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||||
const GURL& url,
|
const GURL& url,
|
||||||
const std::optional<base::UnguessableToken>& reporting_source,
|
const std::optional<base::UnguessableToken>& reporting_source,
|
||||||
const net::NetworkAnonymizationKey& network_anonymization_key,
|
const net::NetworkAnonymizationKey& network_anonymization_key,
|
||||||
- base::DictValue body) override;
|
- base::Value::Dict body) override;
|
||||||
+ base::DictValue body);
|
+ base::Value::Dict body);
|
||||||
void QueueEnterpriseReport(const std::string& type,
|
void QueueEnterpriseReport(const std::string& type,
|
||||||
const std::string& group,
|
const std::string& group,
|
||||||
const GURL& url,
|
const GURL& url,
|
||||||
- base::DictValue body) override;
|
- base::Value::Dict body) override;
|
||||||
+ base::DictValue body);
|
+ base::Value::Dict body);
|
||||||
void QueueSignedExchangeReport(
|
void QueueSignedExchangeReport(
|
||||||
mojom::SignedExchangeReportPtr report,
|
mojom::SignedExchangeReportPtr report,
|
||||||
- const net::NetworkAnonymizationKey& network_anonymization_key) override;
|
- const net::NetworkAnonymizationKey& network_anonymization_key) override;
|
||||||
@@ -329,7 +321,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
|
|||||||
diff --git a/services/network/public/cpp/parsed_headers.cc b/services/network/public/cpp/parsed_headers.cc
|
diff --git a/services/network/public/cpp/parsed_headers.cc b/services/network/public/cpp/parsed_headers.cc
|
||||||
--- a/services/network/public/cpp/parsed_headers.cc
|
--- a/services/network/public/cpp/parsed_headers.cc
|
||||||
+++ b/services/network/public/cpp/parsed_headers.cc
|
+++ b/services/network/public/cpp/parsed_headers.cc
|
||||||
@@ -137,6 +137,7 @@ mojom::ParsedHeadersPtr PopulateParsedHeaders(
|
@@ -115,6 +115,7 @@ mojom::ParsedHeadersPtr PopulateParsedHeaders(
|
||||||
}
|
}
|
||||||
|
|
||||||
#if BUILDFLAG(ENABLE_REPORTING)
|
#if BUILDFLAG(ENABLE_REPORTING)
|
||||||
@@ -340,7 +332,7 @@ diff --git a/services/network/public/cpp/parsed_headers.cc b/services/network/pu
|
|||||||
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
|
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
|
||||||
--- a/services/network/public/mojom/BUILD.gn
|
--- a/services/network/public/mojom/BUILD.gn
|
||||||
+++ b/services/network/public/mojom/BUILD.gn
|
+++ b/services/network/public/mojom/BUILD.gn
|
||||||
@@ -1899,7 +1899,6 @@ mojom("mojom") {
|
@@ -1590,7 +1590,6 @@ mojom("mojom") {
|
||||||
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
|
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
|
||||||
export_header_blink = "third_party/blink/public/platform/web_common.h"
|
export_header_blink = "third_party/blink/public/platform/web_common.h"
|
||||||
if (enable_reporting) {
|
if (enable_reporting) {
|
||||||
@@ -351,7 +343,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo
|
|||||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||||
--- a/services/network/public/mojom/network_context.mojom
|
--- a/services/network/public/mojom/network_context.mojom
|
||||||
+++ b/services/network/public/mojom/network_context.mojom
|
+++ b/services/network/public/mojom/network_context.mojom
|
||||||
@@ -1252,6 +1252,7 @@ interface NetworkContext {
|
@@ -1205,6 +1205,7 @@ interface NetworkContext {
|
||||||
// provided `network_anonymization_key`.
|
// provided `network_anonymization_key`.
|
||||||
//
|
//
|
||||||
// Spec: https://w3c.github.io/reporting/#concept-reports
|
// Spec: https://w3c.github.io/reporting/#concept-reports
|
||||||
@@ -359,7 +351,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
|
|||||||
QueueReport(string type,
|
QueueReport(string type,
|
||||||
string group,
|
string group,
|
||||||
url.mojom.Url url,
|
url.mojom.Url url,
|
||||||
@@ -1259,6 +1260,7 @@ interface NetworkContext {
|
@@ -1212,6 +1213,7 @@ interface NetworkContext {
|
||||||
NetworkAnonymizationKey network_anonymization_key,
|
NetworkAnonymizationKey network_anonymization_key,
|
||||||
mojo_base.mojom.DictionaryValue body);
|
mojo_base.mojom.DictionaryValue body);
|
||||||
|
|
||||||
@@ -367,7 +359,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
|
|||||||
QueueEnterpriseReport(string type,
|
QueueEnterpriseReport(string type,
|
||||||
string group,
|
string group,
|
||||||
url.mojom.Url url,
|
url.mojom.Url url,
|
||||||
@@ -1269,6 +1271,7 @@ interface NetworkContext {
|
@@ -1222,6 +1224,7 @@ interface NetworkContext {
|
||||||
// Note that this queued report will never be delivered if no reporting
|
// Note that this queued report will never be delivered if no reporting
|
||||||
// endpoint matching is registered for with the provided
|
// endpoint matching is registered for with the provided
|
||||||
// `network_anonymization_key`.
|
// `network_anonymization_key`.
|
||||||
@@ -383,18 +375,18 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
+#include "net/net_buildflags.h"
|
+#include "net/net_buildflags.h"
|
||||||
|
#include "base/containers/contains.h"
|
||||||
#include "base/debug/dump_without_crashing.h"
|
#include "base/debug/dump_without_crashing.h"
|
||||||
#include "base/feature_list.h"
|
#include "services/network/public/cpp/web_sandbox_flags.h"
|
||||||
#include "base/metrics/histogram_functions.h"
|
@@ -1295,6 +1296,7 @@ void ContentSecurityPolicy::ReportViolation(
|
||||||
@@ -1383,6 +1384,7 @@ void ContentSecurityPolicy::ReportViolation(
|
|
||||||
ShouldBypassContentSecurityPolicy(KURL(violation_data->sourceFile()))) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||||
PostViolationReport(violation_data, context_frame, report_endpoints,
|
PostViolationReport(violation_data, context_frame, report_endpoints,
|
||||||
use_reporting_api);
|
use_reporting_api);
|
||||||
|
|
||||||
@@ -1390,6 +1392,7 @@ void ContentSecurityPolicy::ReportViolation(
|
@@ -1302,6 +1304,7 @@ void ContentSecurityPolicy::ReportViolation(
|
||||||
// `context_frame` (i.e. we're not processing 'frame-ancestors').
|
// `context_frame` (i.e. we're not processing 'frame-ancestors').
|
||||||
if (delegate_ && !context_frame)
|
if (delegate_ && !context_frame)
|
||||||
delegate_->DispatchViolationEvent(*violation_data, element);
|
delegate_->DispatchViolationEvent(*violation_data, element);
|
||||||
@@ -405,7 +397,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c
|
|||||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
@@ -50,6 +50,7 @@
|
@@ -47,6 +47,7 @@
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
|
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
|
||||||
#include "mojo/public/cpp/system/message_pipe.h"
|
#include "mojo/public/cpp/system/message_pipe.h"
|
||||||
@@ -413,7 +405,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
|||||||
#include "services/network/public/cpp/features.h"
|
#include "services/network/public/cpp/features.h"
|
||||||
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
|
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
|
||||||
#include "services/network/public/mojom/source_location.mojom-blink.h"
|
#include "services/network/public/mojom/source_location.mojom-blink.h"
|
||||||
@@ -2879,9 +2880,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() {
|
@@ -2796,9 +2797,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() {
|
||||||
return CHECK_DEREF(GetDocument()).GetResourceCoordinator();
|
return CHECK_DEREF(GetDocument()).GetResourceCoordinator();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -428,18 +420,19 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
|||||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
|
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
|
||||||
--- a/third_party/blink/renderer/core/frame/local_frame.h
|
--- a/third_party/blink/renderer/core/frame/local_frame.h
|
||||||
+++ b/third_party/blink/renderer/core/frame/local_frame.h
|
+++ b/third_party/blink/renderer/core/frame/local_frame.h
|
||||||
@@ -38,6 +38,7 @@
|
@@ -37,6 +37,7 @@
|
||||||
|
#include "base/time/time.h"
|
||||||
#include "base/unguessable_token.h"
|
#include "base/unguessable_token.h"
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
|
||||||
+#include "net/net_buildflags.h"
|
+#include "net/net_buildflags.h"
|
||||||
#include "net/storage_access_api/status.h"
|
#include "mojo/public/cpp/bindings/pending_associated_receiver.h"
|
||||||
|
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||||
#include "services/metrics/public/cpp/ukm_source_id.h"
|
#include "services/metrics/public/cpp/ukm_source_id.h"
|
||||||
#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
|
@@ -659,8 +660,9 @@ class CORE_EXPORT LocalFrame final
|
||||||
@@ -674,7 +675,9 @@ class CORE_EXPORT LocalFrame final
|
void FinishedScrollSequence();
|
||||||
return client_hints_preferences_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
SmoothScrollSequencer* GetSmoothScrollSequencer() const;
|
||||||
|
-
|
||||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||||
mojom::blink::ReportingServiceProxy* GetReportingService();
|
mojom::blink::ReportingServiceProxy* GetReportingService();
|
||||||
+#endif
|
+#endif
|
||||||
@@ -457,7 +450,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||||||
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
|
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
|
||||||
#include "third_party/blink/public/platform/platform.h"
|
#include "third_party/blink/public/platform/platform.h"
|
||||||
#include "third_party/blink/public/platform/task_type.h"
|
#include "third_party/blink/public/platform/task_type.h"
|
||||||
@@ -59,7 +60,9 @@ const char ReportingContext::kSupplementName[] = "ReportingContext";
|
@@ -58,7 +59,9 @@ const char ReportingContext::kSupplementName[] = "ReportingContext";
|
||||||
ReportingContext::ReportingContext(ExecutionContext& context)
|
ReportingContext::ReportingContext(ExecutionContext& context)
|
||||||
: Supplement<ExecutionContext>(context),
|
: Supplement<ExecutionContext>(context),
|
||||||
execution_context_(context),
|
execution_context_(context),
|
||||||
@@ -467,7 +460,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||||||
receivers_(this, &context) {}
|
receivers_(this, &context) {}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
@@ -126,7 +129,9 @@ void ReportingContext::Trace(Visitor* visitor) const {
|
@@ -125,7 +128,9 @@ void ReportingContext::Trace(Visitor* visitor) const {
|
||||||
visitor->Trace(observers_);
|
visitor->Trace(observers_);
|
||||||
visitor->Trace(report_buffer_);
|
visitor->Trace(report_buffer_);
|
||||||
visitor->Trace(execution_context_);
|
visitor->Trace(execution_context_);
|
||||||
@@ -477,7 +470,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||||||
visitor->Trace(receivers_);
|
visitor->Trace(receivers_);
|
||||||
Supplement<ExecutionContext>::Trace(visitor);
|
Supplement<ExecutionContext>::Trace(visitor);
|
||||||
}
|
}
|
||||||
@@ -149,6 +154,7 @@ void ReportingContext::CountReport(Report* report) {
|
@@ -148,6 +153,7 @@ void ReportingContext::CountReport(Report* report) {
|
||||||
UseCounter::Count(execution_context_, feature);
|
UseCounter::Count(execution_context_, feature);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -485,7 +478,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||||||
const HeapMojoRemote<mojom::blink::ReportingServiceProxy>&
|
const HeapMojoRemote<mojom::blink::ReportingServiceProxy>&
|
||||||
ReportingContext::GetReportingService() const {
|
ReportingContext::GetReportingService() const {
|
||||||
if (!reporting_service_.is_bound()) {
|
if (!reporting_service_.is_bound()) {
|
||||||
@@ -158,6 +164,7 @@ ReportingContext::GetReportingService() const {
|
@@ -157,6 +163,7 @@ ReportingContext::GetReportingService() const {
|
||||||
}
|
}
|
||||||
return reporting_service_;
|
return reporting_service_;
|
||||||
}
|
}
|
||||||
@@ -493,7 +486,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||||||
|
|
||||||
void ReportingContext::NotifyInternal(Report* report) {
|
void ReportingContext::NotifyInternal(Report* report) {
|
||||||
if (!ShouldReportBeVisibleToObservers(report)) {
|
if (!ShouldReportBeVisibleToObservers(report)) {
|
||||||
@@ -184,6 +191,7 @@ void ReportingContext::NotifyInternal(Report* report) {
|
@@ -183,6 +190,7 @@ void ReportingContext::NotifyInternal(Report* report) {
|
||||||
|
|
||||||
void ReportingContext::SendToReportingAPI(Report* report,
|
void ReportingContext::SendToReportingAPI(Report* report,
|
||||||
const String& endpoint) const {
|
const String& endpoint) const {
|
||||||
@@ -501,7 +494,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||||||
const String& type = report->type();
|
const String& type = report->type();
|
||||||
if (!(type == ReportType::kCSPViolation || type == ReportType::kCSPHash ||
|
if (!(type == ReportType::kCSPViolation || type == ReportType::kCSPHash ||
|
||||||
type == ReportType::kDeprecation ||
|
type == ReportType::kDeprecation ||
|
||||||
@@ -269,6 +277,7 @@ void ReportingContext::SendToReportingAPI(Report* report,
|
@@ -254,6 +262,7 @@ void ReportingContext::SendToReportingAPI(Report* report,
|
||||||
url, endpoint, body->featureId(), body->disposition(), body->message(),
|
url, endpoint, body->featureId(), body->disposition(), body->message(),
|
||||||
body->sourceFile(), line_number, column_number);
|
body->sourceFile(), line_number, column_number);
|
||||||
}
|
}
|
||||||
@@ -520,7 +513,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p
|
|||||||
#include "third_party/blink/public/mojom/frame/reporting_observer.mojom-blink.h"
|
#include "third_party/blink/public/mojom/frame/reporting_observer.mojom-blink.h"
|
||||||
#include "third_party/blink/public/mojom/reporting/reporting.mojom-blink.h"
|
#include "third_party/blink/public/mojom/reporting/reporting.mojom-blink.h"
|
||||||
#include "third_party/blink/renderer/core/core_export.h"
|
#include "third_party/blink/renderer/core/core_export.h"
|
||||||
@@ -56,10 +57,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
|
@@ -55,10 +56,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
|
||||||
private:
|
private:
|
||||||
// Counts the use of a report type via UseCounter.
|
// Counts the use of a report type via UseCounter.
|
||||||
void CountReport(Report*);
|
void CountReport(Report*);
|
||||||
@@ -533,7 +526,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p
|
|||||||
void NotifyInternal(Report* report);
|
void NotifyInternal(Report* report);
|
||||||
// Send |report| via the Reporting API to |endpoint|.
|
// Send |report| via the Reporting API to |endpoint|.
|
||||||
void SendToReportingAPI(Report* report, const String& endpoint) const;
|
void SendToReportingAPI(Report* report, const String& endpoint) const;
|
||||||
@@ -71,8 +72,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
|
@@ -69,8 +70,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
|
||||||
|
|
||||||
// This is declared mutable so that the service endpoint can be cached by
|
// This is declared mutable so that the service endpoint can be cached by
|
||||||
// const methods.
|
// const methods.
|
||||||
@@ -547,13 +540,12 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p
|
|||||||
diff --git a/third_party/blink/renderer/core/frame/reporting_observer.cc b/third_party/blink/renderer/core/frame/reporting_observer.cc
|
diff --git a/third_party/blink/renderer/core/frame/reporting_observer.cc b/third_party/blink/renderer/core/frame/reporting_observer.cc
|
||||||
--- a/third_party/blink/renderer/core/frame/reporting_observer.cc
|
--- a/third_party/blink/renderer/core/frame/reporting_observer.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/reporting_observer.cc
|
+++ b/third_party/blink/renderer/core/frame/reporting_observer.cc
|
||||||
@@ -61,9 +61,7 @@ void ReportingObserver::QueueReport(Report* report) {
|
@@ -62,8 +62,7 @@ void ReportingObserver::QueueReport(Report* report) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ReportingObserver::ObservedType(const String& type) {
|
bool ReportingObserver::ObservedType(const String& type) {
|
||||||
- return !options_->hasTypes() || !options_->types() ||
|
- return !options_->hasTypesNonNull() || options_->typesNonNull().empty() ||
|
||||||
- options_->types()->empty() ||
|
- options_->typesNonNull().Find(type) != kNotFound;
|
||||||
- options_->types()->Find(type) != kNotFound;
|
|
||||||
+ return false;
|
+ return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,36 +7,34 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
chrome/android/BUILD.gn | 1 -
|
chrome/android/BUILD.gn | 1 -
|
||||||
.../chrome/browser/feedback/ChromeFeedbackCollector.java | 1 -
|
.../chrome/browser/feedback/ChromeFeedbackCollector.java | 1 -
|
||||||
chrome/browser/feedback/android/BUILD.gn | 2 --
|
chrome/browser/feedback/android/BUILD.gn | 2 --
|
||||||
chrome/browser/prefs/chrome_pref_service_factory.cc | 6 ------
|
chrome/browser/prefs/chrome_pref_service_factory.cc | 2 +-
|
||||||
chrome/browser/profiles/profile_attributes_entry.cc | 2 +-
|
chrome/browser/profiles/profile_attributes_entry.cc | 2 +-
|
||||||
chrome/browser/profiles/profile_impl.cc | 5 +----
|
chrome/browser/profiles/profile_impl.cc | 5 +----
|
||||||
chrome/browser/profiles/profile_manager.cc | 7 -------
|
chrome/browser/profiles/profile_manager.cc | 7 -------
|
||||||
.../supervised_user/supervised_user_browser_utils.cc | 1 +
|
|
||||||
chrome/browser/ui/webui/managed_ui_handler.cc | 4 ----
|
chrome/browser/ui/webui/managed_ui_handler.cc | 4 ----
|
||||||
.../browser/ui/webui/management/management_ui_handler.cc | 4 ----
|
.../browser/ui/webui/management/management_ui_handler.cc | 4 ----
|
||||||
.../browser/android/content_filters_observer_bridge.cc | 2 +-
|
|
||||||
.../core/browser/supervised_user_pref_store.cc | 1 +
|
.../core/browser/supervised_user_pref_store.cc | 1 +
|
||||||
.../core/browser/supervised_user_preferences.cc | 6 +++++-
|
.../core/browser/supervised_user_preferences.cc | 6 +++++-
|
||||||
.../core/browser/supervised_user_service.cc | 1 +
|
.../core/browser/supervised_user_service.cc | 5 +----
|
||||||
components/supervised_user/core/common/features.cc | 1 +
|
.../supervised_user/core/browser/supervised_user_utils.cc | 1 +
|
||||||
extensions/browser/api/management/management_api.cc | 1 +
|
components/supervised_user/core/common/features.cc | 6 ++++++
|
||||||
16 files changed, 13 insertions(+), 32 deletions(-)
|
14 files changed, 17 insertions(+), 30 deletions(-)
|
||||||
|
|
||||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||||
--- a/chrome/android/BUILD.gn
|
--- a/chrome/android/BUILD.gn
|
||||||
+++ b/chrome/android/BUILD.gn
|
+++ b/chrome/android/BUILD.gn
|
||||||
@@ -840,7 +840,6 @@ if (_is_default_toolchain) {
|
@@ -784,7 +784,6 @@ if (current_toolchain == default_toolchain) {
|
||||||
"//components/offline_pages/core:offline_page_model_enums_java",
|
"//components/offline_pages/core:offline_page_model_enums_java",
|
||||||
"//components/sharing_message:sharing_dialog_type_generated_enum",
|
"//components/sharing_message:sharing_dialog_type_generated_enum",
|
||||||
"//components/sharing_message:sharing_send_message_result_generated_enum",
|
"//components/sharing_message:sharing_send_message_result_generated_enum",
|
||||||
- "//components/supervised_user/core/browser:supervised_user_utils_enum_javagen",
|
- "//components/supervised_user/core/browser:supervised_user_utils_enum_javagen",
|
||||||
"//components/touch_to_search/core/browser:quick_action_category_enum_javagen",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# From java_sources.gni.
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
|
||||||
@@ -96,7 +96,6 @@ public class ChromeFeedbackCollector extends FeedbackCollector<ChromeFeedbackCol
|
@@ -92,7 +92,6 @@ public class ChromeFeedbackCollector extends FeedbackCollector<ChromeFeedbackCol
|
||||||
// FamilyInfoFeedbackSource relies on IdentityManager which is not available for the
|
// FamilyInfoFeedbackSource relies on IdentityManager which is not available for the
|
||||||
// incognito profile.
|
// incognito profile.
|
||||||
if (!initParams.profile.isOffTheRecord()) {
|
if (!initParams.profile.isOffTheRecord()) {
|
||||||
@@ -66,23 +64,19 @@ diff --git a/chrome/browser/feedback/android/BUILD.gn b/chrome/browser/feedback/
|
|||||||
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||||
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
|
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||||
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||||
@@ -351,12 +351,6 @@ void PrepareFactory(
|
@@ -328,7 +328,7 @@ void PrepareFactory(
|
||||||
PrepareFactory(factory, pref_filename, policy_service,
|
policy::BrowserPolicyConnector* policy_connector) {
|
||||||
std::move(user_pref_store), std::move(extension_prefs), async,
|
factory->SetManagedPolicies(policy_service, policy_connector);
|
||||||
policy_connector);
|
factory->SetRecommendedPolicies(policy_service, policy_connector);
|
||||||
-
|
- if (supervised_user_settings) {
|
||||||
- scoped_refptr<PrefStore> supervised_user_prefs =
|
+ if (((false)) && supervised_user_settings) {
|
||||||
- base::MakeRefCounted<SupervisedUserPrefStore>(
|
scoped_refptr<PrefStore> supervised_user_prefs =
|
||||||
- family_link_settings_service, device_parental_controls);
|
base::MakeRefCounted<SupervisedUserPrefStore>(supervised_user_settings);
|
||||||
- DCHECK(async || supervised_user_prefs->IsInitializationComplete());
|
DCHECK(async || supervised_user_prefs->IsInitializationComplete());
|
||||||
- factory->set_supervised_user_prefs(supervised_user_prefs);
|
|
||||||
}
|
|
||||||
|
|
||||||
class ResetOnLoadObserverImpl : public prefs::mojom::ResetOnLoadObserver {
|
|
||||||
diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc
|
diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc
|
||||||
--- a/chrome/browser/profiles/profile_attributes_entry.cc
|
--- a/chrome/browser/profiles/profile_attributes_entry.cc
|
||||||
+++ b/chrome/browser/profiles/profile_attributes_entry.cc
|
+++ b/chrome/browser/profiles/profile_attributes_entry.cc
|
||||||
@@ -466,7 +466,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const {
|
@@ -469,7 +469,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string ProfileAttributesEntry::GetSupervisedUserId() const {
|
std::string ProfileAttributesEntry::GetSupervisedUserId() const {
|
||||||
@@ -94,7 +88,7 @@ diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browse
|
|||||||
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
||||||
--- a/chrome/browser/profiles/profile_impl.cc
|
--- a/chrome/browser/profiles/profile_impl.cc
|
||||||
+++ b/chrome/browser/profiles/profile_impl.cc
|
+++ b/chrome/browser/profiles/profile_impl.cc
|
||||||
@@ -689,10 +689,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) {
|
@@ -675,10 +675,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) {
|
||||||
prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_);
|
prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_);
|
||||||
|
|
||||||
pref_change_registrar_.Init(prefs);
|
pref_change_registrar_.Init(prefs);
|
||||||
@@ -105,7 +99,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
|
|||||||
|
|
||||||
// Changes in the profile avatar.
|
// Changes in the profile avatar.
|
||||||
pref_change_registrar_.Add(
|
pref_change_registrar_.Add(
|
||||||
@@ -1618,6 +1614,7 @@ GURL ProfileImpl::GetHomePage() {
|
@@ -1623,6 +1619,7 @@ GURL ProfileImpl::GetHomePage() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProfileImpl::UpdateSupervisedUserIdInStorage() {
|
void ProfileImpl::UpdateSupervisedUserIdInStorage() {
|
||||||
@@ -116,7 +110,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
|
|||||||
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
|
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
|
||||||
--- a/chrome/browser/profiles/profile_manager.cc
|
--- a/chrome/browser/profiles/profile_manager.cc
|
||||||
+++ b/chrome/browser/profiles/profile_manager.cc
|
+++ b/chrome/browser/profiles/profile_manager.cc
|
||||||
@@ -1308,10 +1308,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
|
@@ -1181,10 +1181,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
|
||||||
profile->GetPrefs()->SetString(prefs::kProfileName, profile_name);
|
profile->GetPrefs()->SetString(prefs::kProfileName, profile_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,10 +118,10 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
|
|||||||
- profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
|
- profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
|
||||||
- supervised_user_id);
|
- supervised_user_id);
|
||||||
- }
|
- }
|
||||||
}
|
#if !BUILDFLAG(IS_ANDROID)
|
||||||
|
if (profile->IsNewProfile()) {
|
||||||
void ProfileManager::RegisterTestingProfile(std::unique_ptr<Profile> profile,
|
profile->GetPrefs()->SetBoolean(prefs::kHasSeenWelcomePage, false);
|
||||||
@@ -2114,9 +2110,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
|
@@ -1970,9 +1966,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
|
||||||
init_params.icon_index =
|
init_params.icon_index =
|
||||||
profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex);
|
profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex);
|
||||||
|
|
||||||
@@ -137,21 +131,10 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
|
|||||||
#if BUILDFLAG(IS_CHROMEOS)
|
#if BUILDFLAG(IS_CHROMEOS)
|
||||||
user_manager::User* user =
|
user_manager::User* user =
|
||||||
ash::ProfileHelper::Get()->GetUserByProfile(profile);
|
ash::ProfileHelper::Get()->GetUserByProfile(profile);
|
||||||
diff --git a/chrome/browser/supervised_user/supervised_user_browser_utils.cc b/chrome/browser/supervised_user/supervised_user_browser_utils.cc
|
|
||||||
--- a/chrome/browser/supervised_user/supervised_user_browser_utils.cc
|
|
||||||
+++ b/chrome/browser/supervised_user/supervised_user_browser_utils.cc
|
|
||||||
@@ -98,6 +98,7 @@ bool SupervisedUserCanSkipExtensionParentApprovals(const Profile* profile) {
|
|
||||||
}
|
|
||||||
|
|
||||||
bool AreExtensionsPermissionsEnabled(Profile* profile) {
|
|
||||||
+ if ((true)) return false;
|
|
||||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
|
||||||
return profile->IsChild();
|
|
||||||
#else
|
|
||||||
diff --git a/chrome/browser/ui/webui/managed_ui_handler.cc b/chrome/browser/ui/webui/managed_ui_handler.cc
|
diff --git a/chrome/browser/ui/webui/managed_ui_handler.cc b/chrome/browser/ui/webui/managed_ui_handler.cc
|
||||||
--- a/chrome/browser/ui/webui/managed_ui_handler.cc
|
--- a/chrome/browser/ui/webui/managed_ui_handler.cc
|
||||||
+++ b/chrome/browser/ui/webui/managed_ui_handler.cc
|
+++ b/chrome/browser/ui/webui/managed_ui_handler.cc
|
||||||
@@ -88,10 +88,6 @@ void ManagedUIHandler::AddObservers() {
|
@@ -89,10 +89,6 @@ void ManagedUIHandler::AddObservers() {
|
||||||
auto domain = static_cast<policy::PolicyDomain>(i);
|
auto domain = static_cast<policy::PolicyDomain>(i);
|
||||||
policy_service->AddObserver(domain, this);
|
policy_service->AddObserver(domain, this);
|
||||||
}
|
}
|
||||||
@@ -165,7 +148,7 @@ diff --git a/chrome/browser/ui/webui/managed_ui_handler.cc b/chrome/browser/ui/w
|
|||||||
diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrome/browser/ui/webui/management/management_ui_handler.cc
|
diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrome/browser/ui/webui/management/management_ui_handler.cc
|
||||||
--- a/chrome/browser/ui/webui/management/management_ui_handler.cc
|
--- a/chrome/browser/ui/webui/management/management_ui_handler.cc
|
||||||
+++ b/chrome/browser/ui/webui/management/management_ui_handler.cc
|
+++ b/chrome/browser/ui/webui/management/management_ui_handler.cc
|
||||||
@@ -627,10 +627,6 @@ bool ManagementUIHandler::managed() const {
|
@@ -595,10 +595,6 @@ bool ManagementUIHandler::managed() const {
|
||||||
|
|
||||||
void ManagementUIHandler::RegisterPrefChange(
|
void ManagementUIHandler::RegisterPrefChange(
|
||||||
PrefChangeRegistrar& pref_registrar) {
|
PrefChangeRegistrar& pref_registrar) {
|
||||||
@@ -176,33 +159,21 @@ diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrom
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ManagementUIHandler::UpdateManagedState() {
|
void ManagementUIHandler::UpdateManagedState() {
|
||||||
diff --git a/components/supervised_user/core/browser/android/content_filters_observer_bridge.cc b/components/supervised_user/core/browser/android/content_filters_observer_bridge.cc
|
|
||||||
--- a/components/supervised_user/core/browser/android/content_filters_observer_bridge.cc
|
|
||||||
+++ b/components/supervised_user/core/browser/android/content_filters_observer_bridge.cc
|
|
||||||
@@ -39,7 +39,7 @@ void ContentFiltersObserverBridge::OnChange(JNIEnv* env, bool enabled) {
|
|
||||||
}
|
|
||||||
|
|
||||||
void ContentFiltersObserverBridge::SetEnabled(bool enabled) {
|
|
||||||
- enabled_ = enabled;
|
|
||||||
+ enabled_ = false;
|
|
||||||
NotifyObservers();
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/components/supervised_user/core/browser/supervised_user_pref_store.cc b/components/supervised_user/core/browser/supervised_user_pref_store.cc
|
diff --git a/components/supervised_user/core/browser/supervised_user_pref_store.cc b/components/supervised_user/core/browser/supervised_user_pref_store.cc
|
||||||
--- a/components/supervised_user/core/browser/supervised_user_pref_store.cc
|
--- a/components/supervised_user/core/browser/supervised_user_pref_store.cc
|
||||||
+++ b/components/supervised_user/core/browser/supervised_user_pref_store.cc
|
+++ b/components/supervised_user/core/browser/supervised_user_pref_store.cc
|
||||||
@@ -188,6 +188,7 @@ void SupervisedUserPrefStore::RecreatePreferences() {
|
@@ -126,6 +126,7 @@ SupervisedUserPrefStore::~SupervisedUserPrefStore() = default;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
void SupervisedUserPrefStore::OnNewSettingsAvailable(
|
||||||
|
const base::Value::Dict& settings) {
|
||||||
+ if ((true)) return;
|
+ if ((true)) return;
|
||||||
std::unique_ptr<PrefValueMap> old_prefs = std::move(prefs_);
|
std::unique_ptr<PrefValueMap> old_prefs = std::move(prefs_);
|
||||||
prefs_ = std::make_unique<PrefValueMap>();
|
prefs_ = std::make_unique<PrefValueMap>();
|
||||||
|
if (!settings.empty()) {
|
||||||
diff --git a/components/supervised_user/core/browser/supervised_user_preferences.cc b/components/supervised_user/core/browser/supervised_user_preferences.cc
|
diff --git a/components/supervised_user/core/browser/supervised_user_preferences.cc b/components/supervised_user/core/browser/supervised_user_preferences.cc
|
||||||
--- a/components/supervised_user/core/browser/supervised_user_preferences.cc
|
--- a/components/supervised_user/core/browser/supervised_user_preferences.cc
|
||||||
+++ b/components/supervised_user/core/browser/supervised_user_preferences.cc
|
+++ b/components/supervised_user/core/browser/supervised_user_preferences.cc
|
||||||
@@ -160,6 +160,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
@@ -155,6 +155,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnableParentalControls(PrefService& pref_service) {
|
void EnableParentalControls(PrefService& pref_service) {
|
||||||
@@ -212,8 +183,8 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences
|
|||||||
+ }
|
+ }
|
||||||
pref_service.SetString(prefs::kSupervisedUserId,
|
pref_service.SetString(prefs::kSupervisedUserId,
|
||||||
supervised_user::kChildAccountSUID);
|
supervised_user::kChildAccountSUID);
|
||||||
#if BUILDFLAG(IS_CHROMEOS)
|
SetIsChildAccountStatusKnown(pref_service);
|
||||||
@@ -187,7 +191,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) {
|
@@ -177,7 +181,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsSubjectToParentalControls(const PrefService& pref_service) {
|
bool IsSubjectToParentalControls(const PrefService& pref_service) {
|
||||||
@@ -221,38 +192,52 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences
|
|||||||
+ return false;
|
+ return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsGoogleSafeSearchEnforced(const PrefService& pref_service) {
|
} // namespace supervised_user
|
||||||
diff --git a/components/supervised_user/core/browser/supervised_user_service.cc b/components/supervised_user/core/browser/supervised_user_service.cc
|
diff --git a/components/supervised_user/core/browser/supervised_user_service.cc b/components/supervised_user/core/browser/supervised_user_service.cc
|
||||||
--- a/components/supervised_user/core/browser/supervised_user_service.cc
|
--- a/components/supervised_user/core/browser/supervised_user_service.cc
|
||||||
+++ b/components/supervised_user/core/browser/supervised_user_service.cc
|
+++ b/components/supervised_user/core/browser/supervised_user_service.cc
|
||||||
@@ -160,6 +160,7 @@ SupervisedUserService::SupervisedUserService(
|
@@ -50,10 +50,6 @@ void SupervisedUserService::Init() {
|
||||||
|
DCHECK(settings_service_->IsReady());
|
||||||
|
|
||||||
|
pref_change_registrar_.Init(&user_prefs_.get());
|
||||||
|
- pref_change_registrar_.Add(
|
||||||
|
- prefs::kSupervisedUserId,
|
||||||
|
- base::BindRepeating(&SupervisedUserService::OnSupervisedUserIdChanged,
|
||||||
|
- base::Unretained(this)));
|
||||||
|
SetActive(supervised_user::IsSubjectToParentalControls(user_prefs_.get()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SupervisedUserService::SetSettingsServiceActive(bool active) {
|
@@ -139,6 +135,7 @@ SupervisedUserService::SupervisedUserService(
|
||||||
+ active = false;
|
}
|
||||||
settings_service_->SetActive(active);
|
|
||||||
|
|
||||||
// Trigger a sync reconfig to enable/disable the right SU data types.
|
void SupervisedUserService::SetActive(bool active) {
|
||||||
|
+ active = false;
|
||||||
|
if (active_ == active) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
diff --git a/components/supervised_user/core/browser/supervised_user_utils.cc b/components/supervised_user/core/browser/supervised_user_utils.cc
|
||||||
|
--- a/components/supervised_user/core/browser/supervised_user_utils.cc
|
||||||
|
+++ b/components/supervised_user/core/browser/supervised_user_utils.cc
|
||||||
|
@@ -300,6 +300,7 @@ GURL NormalizeUrl(const GURL& url) {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AreWebFilterPrefsDefault(const PrefService& pref_service) {
|
||||||
|
+ if ((true)) return true;
|
||||||
|
return pref_service
|
||||||
|
.FindPreference(prefs::kDefaultSupervisedUserFilteringBehavior)
|
||||||
|
->IsDefaultValue() ||
|
||||||
diff --git a/components/supervised_user/core/common/features.cc b/components/supervised_user/core/common/features.cc
|
diff --git a/components/supervised_user/core/common/features.cc b/components/supervised_user/core/common/features.cc
|
||||||
--- a/components/supervised_user/core/common/features.cc
|
--- a/components/supervised_user/core/common/features.cc
|
||||||
+++ b/components/supervised_user/core/common/features.cc
|
+++ b/components/supervised_user/core/common/features.cc
|
||||||
@@ -19,6 +19,7 @@ namespace supervised_user {
|
@@ -171,4 +171,10 @@ BASE_FEATURE(kReplaceSupervisionSystemCapabilitiesWithAccountCapabilitiesOnIOS,
|
||||||
// Enables local parent approvals for the blocked website on the Family Link
|
"ReplaceSupervisionSystemCapabilitiesWithAccountCapabilitiesOnIOS",
|
||||||
// user's device.
|
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
BASE_FEATURE(kLocalWebApprovals, base::FEATURE_ENABLED_BY_DEFAULT);
|
#endif
|
||||||
|
+
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kLocalWebApprovals);
|
+SET_CROMITE_FEATURE_DISABLED(kLocalWebApprovals);
|
||||||
|
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
|
||||||
// TODO(crbug.com/391799078): Support local web approval for subframes on
|
+SET_CROMITE_FEATURE_DISABLED(kEnableExtensionsPermissionsForSupervisedUsersOnDesktop);
|
||||||
// Desktop.
|
+#endif
|
||||||
diff --git a/extensions/browser/api/management/management_api.cc b/extensions/browser/api/management/management_api.cc
|
+
|
||||||
--- a/extensions/browser/api/management/management_api.cc
|
} // namespace supervised_user
|
||||||
+++ b/extensions/browser/api/management/management_api.cc
|
|
||||||
@@ -693,6 +693,7 @@ bool ManagementSetEnabledFunction::HasUnsupportedRequirements(
|
|
||||||
|
|
||||||
bool ManagementSetEnabledFunction::IsSupervisedExtensionApprovalFlowRequired(
|
|
||||||
const Extension* target_extension) const {
|
|
||||||
+ if ((true)) return false;
|
|
||||||
SupervisedUserExtensionsDelegate* supervised_user_extensions_delegate =
|
|
||||||
ManagementAPI::GetFactoryInstance()
|
|
||||||
->Get(browser_context())
|
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -4,27 +4,15 @@ Subject: Allow playing audio in background
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
.../renderer/render_frame_media_playback_options.cc | 1 +
|
|
||||||
.../renderer/platform/media/web_media_player_impl.cc | 11 ++++++++++-
|
.../renderer/platform/media/web_media_player_impl.cc | 11 ++++++++++-
|
||||||
.../renderer/platform/media/web_media_player_impl.h | 3 +++
|
.../renderer/platform/media/web_media_player_impl.h | 3 +++
|
||||||
3 files changed, 14 insertions(+), 1 deletion(-)
|
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/content/public/renderer/render_frame_media_playback_options.cc b/content/public/renderer/render_frame_media_playback_options.cc
|
|
||||||
--- a/content/public/renderer/render_frame_media_playback_options.cc
|
|
||||||
+++ b/content/public/renderer/render_frame_media_playback_options.cc
|
|
||||||
@@ -14,6 +14,7 @@
|
|
||||||
|
|
||||||
namespace content {
|
|
||||||
bool IsBackgroundMediaSuspendEnabled() {
|
|
||||||
+ if ((true)) return false;
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
|
||||||
// For Android devices, do not suspend background media for devices with large
|
|
||||||
// displays. Exception is for Webview.
|
|
||||||
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
||||||
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
||||||
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
||||||
@@ -1348,6 +1348,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
|
@@ -1311,6 +1311,12 @@ void WebMediaPlayerImpl::OnSelectedVideoTrackChanged(
|
||||||
return pipeline_metadata_.has_audio;
|
pipeline_controller_->OnSelectedVideoTrackChanged(selected);
|
||||||
}
|
}
|
||||||
|
|
||||||
+bool WebMediaPlayerImpl::HasVideoNonEmptySize() const {
|
+bool WebMediaPlayerImpl::HasVideoNonEmptySize() const {
|
||||||
@@ -34,11 +22,11 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
|
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
|
||||||
std::optional<WebMediaPlayer::TrackId> enabled_track_id) {
|
const std::vector<WebMediaPlayer::TrackId>& enabled_track_ids) {
|
||||||
DCHECK(main_task_runner_->BelongsToCurrentThread());
|
DCHECK(main_task_runner_->BelongsToCurrentThread());
|
||||||
@@ -3745,7 +3751,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
|
@@ -3710,7 +3716,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
|
||||||
|
: HasAudio();
|
||||||
|
|
||||||
const bool preserve_audio = HasUnmutedAudio() || audio_source_provider_->IsAudioBeingCaptured();
|
|
||||||
// Audio only stream is allowed to play when in background.
|
// Audio only stream is allowed to play when in background.
|
||||||
- if (!HasVideo() && preserve_audio)
|
- if (!HasVideo() && preserve_audio)
|
||||||
+ //pipeline_metadata_.has_video is true for MediaPlayerRenderer,
|
+ //pipeline_metadata_.has_video is true for MediaPlayerRenderer,
|
||||||
@@ -47,11 +35,11 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
|||||||
+ if (!HasVideoNonEmptySize() && preserve_audio)
|
+ if (!HasVideoNonEmptySize() && preserve_audio)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Video PiP is the only exception when background video playback is disabled.
|
// MediaPlayer always signals audio and video, so use an empty natural size to
|
||||||
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h
|
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h
|
||||||
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.h
|
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.h
|
||||||
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h
|
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h
|
||||||
@@ -214,6 +214,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
|
@@ -211,6 +211,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
|
||||||
bool HasVideo() const override;
|
bool HasVideo() const override;
|
||||||
bool HasAudio() const override;
|
bool HasAudio() const override;
|
||||||
|
|
||||||
@@ -59,6 +47,6 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b
|
|||||||
+ bool HasVideoNonEmptySize() const;
|
+ bool HasVideoNonEmptySize() const;
|
||||||
+
|
+
|
||||||
void EnabledAudioTracksChanged(
|
void EnabledAudioTracksChanged(
|
||||||
std::optional<WebMediaPlayer::TrackId> enabled_track_id) override;
|
const std::vector<WebMediaPlayer::TrackId>& enabled_track_ids) override;
|
||||||
void SelectedVideoTrackChanged(
|
void SelectedVideoTrackChanged(
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/chrome/browser/resources/inspect/inspect.js b/chrome/browser/resources/inspect/inspect.js
|
diff --git a/chrome/browser/resources/inspect/inspect.js b/chrome/browser/resources/inspect/inspect.js
|
||||||
--- a/chrome/browser/resources/inspect/inspect.js
|
--- a/chrome/browser/resources/inspect/inspect.js
|
||||||
+++ b/chrome/browser/resources/inspect/inspect.js
|
+++ b/chrome/browser/resources/inspect/inspect.js
|
||||||
@@ -46,6 +46,7 @@ if ('browser-inspector' in queryParamsObject) {
|
@@ -45,6 +45,7 @@ if ('browser-inspector' in queryParamsObject) {
|
||||||
})();
|
})();
|
||||||
|
|
||||||
function isVersionNewerThanHost(version) {
|
function isVersionNewerThanHost(version) {
|
||||||
@@ -20,7 +20,7 @@ diff --git a/chrome/browser/resources/inspect/inspect.js b/chrome/browser/resour
|
|||||||
if (!HOST_CHROME_VERSION) {
|
if (!HOST_CHROME_VERSION) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -600,7 +601,7 @@ function formatValue(data, property) {
|
@@ -566,7 +567,7 @@ function formatValue(data, property) {
|
||||||
function addFavicon(row, data) {
|
function addFavicon(row, data) {
|
||||||
const favicon = document.createElement('img');
|
const favicon = document.createElement('img');
|
||||||
if (data['faviconUrl']) {
|
if (data['faviconUrl']) {
|
||||||
|
|||||||
@@ -10,34 +10,34 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
@@ -23,6 +23,7 @@ import org.chromium.base.PackageManagerUtils;
|
@@ -21,6 +21,7 @@ import org.chromium.base.IntentUtils;
|
||||||
|
import org.chromium.base.PackageManagerUtils;
|
||||||
import org.chromium.base.metrics.RecordUserAction;
|
import org.chromium.base.metrics.RecordUserAction;
|
||||||
import org.chromium.build.annotations.NullMarked;
|
import org.chromium.base.supplier.Supplier;
|
||||||
import org.chromium.build.annotations.Nullable;
|
|
||||||
+import org.chromium.cc.input.BrowserControlsState;
|
+import org.chromium.cc.input.BrowserControlsState;
|
||||||
|
import org.chromium.chrome.browser.DefaultBrowserInfo;
|
||||||
import org.chromium.chrome.browser.IntentHandler;
|
import org.chromium.chrome.browser.IntentHandler;
|
||||||
import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpenerImpl;
|
|
||||||
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
||||||
@@ -43,6 +44,7 @@ import org.chromium.chrome.browser.preferences.Pref;
|
@@ -34,6 +35,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
|
||||||
import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory;
|
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
|
||||||
import org.chromium.chrome.browser.printing.TabPrinter;
|
import org.chromium.chrome.browser.offlinepages.RequestCoordinatorBridge;
|
||||||
import org.chromium.chrome.browser.profiles.Profile;
|
import org.chromium.chrome.browser.profiles.Profile;
|
||||||
+import org.chromium.chrome.browser.tab.TabBrowserControlsConstraintsHelper;
|
+import org.chromium.chrome.browser.tab.TabBrowserControlsConstraintsHelper;
|
||||||
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
||||||
|
import org.chromium.chrome.browser.tabmodel.document.ChromeAsyncTabLauncher;
|
||||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||||
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
@@ -235,6 +237,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||||
@@ -322,6 +324,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
Referrer referrer,
|
||||||
@Nullable Referrer referrer,
|
|
||||||
boolean navigateToTab,
|
boolean navigateToTab,
|
||||||
@Nullable AdditionalNavigationParams additionalNavigationParams) {
|
@Nullable AdditionalNavigationParams additionalNavigationParams) {
|
||||||
+ TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true);
|
+ TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true);
|
||||||
RecordUserAction.record("MobileNewTabOpened");
|
RecordUserAction.record("MobileNewTabOpened");
|
||||||
RecordUserAction.record("LinkOpenedInNewTab");
|
RecordUserAction.record("LinkOpenedInNewTab");
|
||||||
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
|
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
|
||||||
@@ -342,6 +345,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
@@ -255,6 +258,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||||
* @param url The URL to open.
|
* @param url The URL to open.
|
||||||
*/
|
*/
|
||||||
public void onOpenInNewTabInGroup(GURL url, @Nullable Referrer referrer) {
|
public void onOpenInNewTabInGroup(GURL url, Referrer referrer) {
|
||||||
+ TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true);
|
+ TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true);
|
||||||
RecordUserAction.record("MobileNewTabOpened");
|
RecordUserAction.record("MobileNewTabOpened");
|
||||||
RecordUserAction.record("LinkOpenedInNewTab");
|
RecordUserAction.record("LinkOpenedInNewTab");
|
||||||
|
|||||||
@@ -7,52 +7,39 @@ Ignore any partner-provided home page.
|
|||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
.../org/chromium/chrome/browser/homepage/HomepageManager.java | 4 ----
|
.../org/chromium/chrome/browser/homepage/HomepageManager.java | 4 ----
|
||||||
.../chrome/browser/new_tab_url/DseNewTabUrlManager.java | 2 +-
|
|
||||||
.../partnerbookmarks/PartnerBookmarksProviderIterator.java | 1 +
|
.../partnerbookmarks/PartnerBookmarksProviderIterator.java | 1 +
|
||||||
.../partnercustomizations/PartnerBrowserCustomizations.java | 2 +-
|
.../partnercustomizations/PartnerBrowserCustomizations.java | 2 +-
|
||||||
.../org/chromium/components/search_engines/TemplateUrl.java | 1 +
|
.../org/chromium/components/search_engines/TemplateUrl.java | 1 +
|
||||||
.../search_engines/android/template_url_service_android.cc | 1 +
|
.../search_engines/android/template_url_service_android.cc | 1 +
|
||||||
.../always-use-new-tab-page-for-default-home-page.inc | 1 +
|
.../always-use-new-tab-page-for-default-home-page.inc | 2 ++
|
||||||
7 files changed, 6 insertions(+), 6 deletions(-)
|
6 files changed, 6 insertions(+), 5 deletions(-)
|
||||||
create mode 100755 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
|
create mode 100755 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
|
||||||
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||||
@@ -164,10 +164,6 @@ public class HomepageManager
|
@@ -155,10 +155,6 @@ public class HomepageManager
|
||||||
* tab page if the homepage button is force enabled via flag.
|
* tab page if the homepage button is force enabled via flag.
|
||||||
*/
|
*/
|
||||||
public GURL getDefaultHomepageGurl(boolean isIncognito) {
|
public GURL getDefaultHomepageGurl() {
|
||||||
- if (PartnerBrowserCustomizations.getInstance().isHomepageProviderAvailableAndEnabled()) {
|
- if (PartnerBrowserCustomizations.getInstance().isHomepageProviderAvailableAndEnabled()) {
|
||||||
- return assumeNonNull(PartnerBrowserCustomizations.getInstance().getHomePageUrl());
|
- return PartnerBrowserCustomizations.getInstance().getHomePageUrl();
|
||||||
- }
|
- }
|
||||||
-
|
-
|
||||||
String homepagePartnerDefaultGurlSerialized =
|
String homepagePartnerDefaultGurlSerialized =
|
||||||
ChromeSharedPreferences.getInstance()
|
ChromeSharedPreferences.getInstance()
|
||||||
.readString(
|
.readString(
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/new_tab_url/DseNewTabUrlManager.java b/chrome/android/java/src/org/chromium/chrome/browser/new_tab_url/DseNewTabUrlManager.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/new_tab_url/DseNewTabUrlManager.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/new_tab_url/DseNewTabUrlManager.java
|
|
||||||
@@ -59,7 +59,7 @@ public class DseNewTabUrlManager {
|
|
||||||
|
|
||||||
/** Returns whether the feature NewTabSearchEngineUrlAndroid is enabled. */
|
|
||||||
public static boolean isNewTabSearchEngineUrlAndroidEnabled() {
|
|
||||||
- return true;
|
|
||||||
+ return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
diff --git a/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java b/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java
|
diff --git a/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java b/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java
|
||||||
--- a/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java
|
--- a/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java
|
||||||
+++ b/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java
|
+++ b/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java
|
||||||
@@ -70,6 +70,7 @@ public class PartnerBookmarksProviderIterator implements PartnerBookmark.Bookmar
|
@@ -61,6 +61,7 @@ public class PartnerBookmarksProviderIterator implements PartnerBookmark.Bookmar
|
||||||
new AsyncTask<@Nullable Cursor>() {
|
* @return Iterator over bookmarks or null.
|
||||||
@Override
|
*/
|
||||||
protected @Nullable Cursor doInBackground() {
|
public static PartnerBookmarksProviderIterator createIfAvailable() {
|
||||||
+ if ((true)) return null;
|
+ if ((true)) return null;
|
||||||
try {
|
try {
|
||||||
return ContextUtils.getApplicationContext()
|
Cursor cursor =
|
||||||
.getContentResolver()
|
ContextUtils.getApplicationContext()
|
||||||
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
|
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
|
--- 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
|
+++ b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
|
||||||
@@ -68,7 +55,7 @@ diff --git a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/b
|
|||||||
diff --git a/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java b/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java
|
diff --git a/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java b/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java
|
||||||
--- a/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java
|
--- a/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java
|
||||||
+++ b/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java
|
+++ b/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java
|
||||||
@@ -110,6 +110,7 @@ public class TemplateUrl {
|
@@ -74,6 +74,7 @@ public class TemplateUrl {
|
||||||
* prepopulated_engines.json.
|
* prepopulated_engines.json.
|
||||||
*/
|
*/
|
||||||
public String getNewTabURL() {
|
public String getNewTabURL() {
|
||||||
@@ -79,18 +66,19 @@ diff --git a/components/search_engines/android/java/src/org/chromium/components/
|
|||||||
diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc
|
diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc
|
||||||
--- a/components/search_engines/android/template_url_service_android.cc
|
--- a/components/search_engines/android/template_url_service_android.cc
|
||||||
+++ b/components/search_engines/android/template_url_service_android.cc
|
+++ b/components/search_engines/android/template_url_service_android.cc
|
||||||
@@ -426,6 +426,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
|
@@ -404,6 +404,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
|
||||||
jimage_translate_source_language_param_key,
|
jimage_translate_source_language_param_key,
|
||||||
const base::android::JavaRef<jstring>&
|
const base::android::JavaParamRef<jstring>&
|
||||||
jimage_translate_target_language_param_key) {
|
jimage_translate_target_language_param_key) {
|
||||||
+ if ((true)) return false;
|
+ if ((true)) return false;
|
||||||
// The function is scheduled to run only when the service is loaded, see
|
// The function is scheduled to run only when the service is loaded, see
|
||||||
// `TemplateUrlService#runWhenLoaded()`.
|
// `TemplateUrlService#runWhenLoaded()`.
|
||||||
CHECK(template_url_service_->loaded());
|
CHECK(template_url_service_->loaded(), base::NotFatalUntil::M128);
|
||||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
|
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
|
||||||
new file mode 100755
|
new file mode 100755
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
|
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1,2 @@
|
||||||
|
+SET_CROMITE_FEATURE_DISABLED(kNewTabSearchEngineUrlAndroid);
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kPartnerCustomizationsUma);
|
+SET_CROMITE_FEATURE_DISABLED(kPartnerCustomizationsUma);
|
||||||
--
|
--
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -7,35 +7,13 @@ Adds a setting for blocking the toolbar hiding
|
|||||||
need: Add-cromite-flags-support.patch
|
need: Add-cromite-flags-support.patch
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
...rowserStateBrowserControlsVisibilityDelegate.java | 4 +++-
|
|
||||||
.../Toolbar-Scroll-Ablation-flag.grdp | 9 +++++++++
|
.../Toolbar-Scroll-Ablation-flag.grdp | 9 +++++++++
|
||||||
.../java/res/xml/accessibility_preferences.xml | 6 ++++++
|
.../java/res/xml/accessibility_preferences.xml | 6 ++++++
|
||||||
.../about_flags_cc/Toolbar-Scroll-Ablation-flag.inc | 12 ++++++++++++
|
.../about_flags_cc/Toolbar-Scroll-Ablation-flag.inc | 12 ++++++++++++
|
||||||
4 files changed, 30 insertions(+), 1 deletion(-)
|
3 files changed, 27 insertions(+)
|
||||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp
|
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Toolbar-Scroll-Ablation-flag.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Toolbar-Scroll-Ablation-flag.inc
|
||||||
|
|
||||||
diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java
|
|
||||||
--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java
|
|
||||||
+++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java
|
|
||||||
@@ -40,6 +40,7 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro
|
|
||||||
private final NonNullObservableSupplier<Boolean> mPersistentFullscreenMode;
|
|
||||||
|
|
||||||
private long mCurrentShowingStartTime;
|
|
||||||
+ private int temporaryToken;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a BrowserControlsVisibilityDelegate designed to deal with overrides driven by the
|
|
||||||
@@ -65,7 +66,8 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro
|
|
||||||
long currentShowingTime = SystemClock.uptimeMillis() - mCurrentShowingStartTime;
|
|
||||||
if (currentShowingTime >= MINIMUM_SHOW_DURATION_MS) return;
|
|
||||||
|
|
||||||
- final int temporaryToken = mTokenHolder.acquireToken();
|
|
||||||
+ mTokenHolder.releaseToken(temporaryToken);
|
|
||||||
+ temporaryToken = mTokenHolder.acquireToken();
|
|
||||||
mHandler.postDelayed(
|
|
||||||
() -> mTokenHolder.releaseToken(temporaryToken),
|
|
||||||
MINIMUM_SHOW_DURATION_MS - currentShowingTime);
|
|
||||||
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp
|
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@@ -53,7 +31,7 @@ new file mode 100644
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
@@ -89,6 +89,12 @@ found in the LICENSE file.
|
@@ -73,6 +73,12 @@ found in the LICENSE file.
|
||||||
android:key="disable_toolbar_swipeup"
|
android:key="disable_toolbar_swipeup"
|
||||||
android:title="@string/disable_toolbar_swipe_up" />
|
android:title="@string/disable_toolbar_swipe_up" />
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -23,19 +23,19 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
.../java/res/xml/homepage_preferences.xml | 6 +
|
.../java/res/xml/homepage_preferences.xml | 6 +
|
||||||
.../ConnectivityDetector.java | 1 -
|
.../ConnectivityDetector.java | 1 -
|
||||||
.../indicator/OfflineDetector.java | 111 +++++++++++++++++-
|
.../indicator/OfflineDetector.java | 111 +++++++++++++++++-
|
||||||
.../OfflineIndicatorControllerV2.java | 14 ++-
|
.../OfflineIndicatorControllerV2.java | 15 ++-
|
||||||
.../tabbed_mode/TabbedRootUiCoordinator.java | 5 +-
|
.../tabbed_mode/TabbedRootUiCoordinator.java | 5 +-
|
||||||
.../tabmodel/TabModelSelectorBase.java | 7 ++
|
.../tabmodel/TabModelSelectorBase.java | 7 ++
|
||||||
.../sAskForRestartOnConnectionChange.java | 32 +++++
|
.../sAskForRestartOnConnectionChange.java | 32 +++++
|
||||||
.../browser/tabmodel/TabModelSelector.java | 2 +
|
.../browser/tabmodel/TabModelSelector.java | 2 +
|
||||||
.../browser/tabmodel/TabModelUtils.java | 18 +++
|
.../browser/tabmodel/TabModelUtils.java | 18 +++
|
||||||
.../browser/tabwindow/TabWindowManager.java | 2 +
|
.../browser/tabmodel/TabWindowManager.java | 2 +
|
||||||
.../tabwindow/TabWindowManagerImpl.java | 10 ++
|
.../tabmodel/TabWindowManagerImpl.java | 10 ++
|
||||||
.../Ask-for-restart-on-connection-change.grdp | 15 +++
|
.../Ask-for-restart-on-connection-change.grdp | 15 +++
|
||||||
.../java/res/layout/floating_snackbar.xml | 10 ++
|
.../android/java/res/layout/snackbar.xml | 10 ++
|
||||||
.../ui/messages/snackbar/Snackbar.java | 16 +++
|
.../ui/messages/snackbar/Snackbar.java | 16 +++
|
||||||
.../ui/messages/snackbar/SnackbarManager.java | 6 +
|
.../ui/messages/snackbar/SnackbarManager.java | 6 +
|
||||||
.../ui/messages/snackbar/SnackbarView.java | 10 ++
|
.../ui/messages/snackbar/SnackbarView.java | 13 +-
|
||||||
.../web_contents/web_contents_android.cc | 16 +++
|
.../web_contents/web_contents_android.cc | 16 +++
|
||||||
.../web_contents/web_contents_android.h | 1 +
|
.../web_contents/web_contents_android.h | 1 +
|
||||||
.../browser/web_contents/web_contents_impl.cc | 2 +
|
.../browser/web_contents/web_contents_impl.cc | 2 +
|
||||||
@@ -49,7 +49,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
.../blink/renderer/core/frame/local_frame.cc | 2 +
|
.../blink/renderer/core/frame/local_frame.cc | 2 +
|
||||||
.../main_thread/frame_scheduler_impl.cc | 2 +
|
.../main_thread/frame_scheduler_impl.cc | 2 +
|
||||||
.../main_thread/page_scheduler_impl.cc | 9 +-
|
.../main_thread/page_scheduler_impl.cc | 9 +-
|
||||||
29 files changed, 319 insertions(+), 9 deletions(-)
|
29 files changed, 322 insertions(+), 10 deletions(-)
|
||||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAskForRestartOnConnectionChange.java
|
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAskForRestartOnConnectionChange.java
|
||||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp
|
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Ask-for-restart-on-connection-change.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Ask-for-restart-on-connection-change.inc
|
||||||
@@ -75,7 +75,7 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/connectivitydetector/ConnectivityDetector.java b/chrome/android/java/src/org/chromium/chrome/browser/net/connectivitydetector/ConnectivityDetector.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/connectivitydetector/ConnectivityDetector.java b/chrome/android/java/src/org/chromium/chrome/browser/net/connectivitydetector/ConnectivityDetector.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/net/connectivitydetector/ConnectivityDetector.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/net/connectivitydetector/ConnectivityDetector.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/net/connectivitydetector/ConnectivityDetector.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/net/connectivitydetector/ConnectivityDetector.java
|
||||||
@@ -470,7 +470,6 @@ public class ConnectivityDetector implements NetworkChangeNotifier.ConnectionTyp
|
@@ -468,7 +468,6 @@ public class ConnectivityDetector implements NetworkChangeNotifier.ConnectionTyp
|
||||||
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
|
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
|
||||||
public void setConnectionState(@ConnectionState int connectionState) {
|
public void setConnectionState(@ConnectionState int connectionState) {
|
||||||
Log.i(TAG, "setConnectionState connectionState=" + connectionState);
|
Log.i(TAG, "setConnectionState connectionState=" + connectionState);
|
||||||
@@ -86,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/connectivit
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java
|
||||||
@@ -22,10 +22,31 @@ import org.chromium.build.annotations.Nullable;
|
@@ -21,16 +21,38 @@ import org.chromium.base.version_info.VersionInfo;
|
||||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||||
import org.chromium.chrome.browser.net.connectivitydetector.ConnectivityDetector;
|
import org.chromium.chrome.browser.net.connectivitydetector.ConnectivityDetector;
|
||||||
import org.chromium.chrome.browser.net.connectivitydetector.ConnectivityDetector.ConnectionState;
|
import org.chromium.chrome.browser.net.connectivitydetector.ConnectivityDetector.ConnectionState;
|
||||||
@@ -95,10 +95,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
|||||||
import org.chromium.components.variations.VariationsAssociatedData;
|
import org.chromium.components.variations.VariationsAssociatedData;
|
||||||
|
|
||||||
+import android.app.Activity;
|
+import android.app.Activity;
|
||||||
+import org.chromium.base.supplier.MonotonicObservableSupplier;
|
+import org.chromium.base.supplier.ObservableSupplier;
|
||||||
+import org.chromium.url.GURL;
|
+import org.chromium.url.GURL;
|
||||||
+import org.chromium.chrome.R;
|
+import org.chromium.chrome.R;
|
||||||
+import org.chromium.chrome.browser.app.tabwindow.TabWindowManagerSingleton;
|
+import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
|
||||||
+import org.chromium.chrome.browser.layouts.LayoutManager;
|
+import org.chromium.chrome.browser.layouts.LayoutManager;
|
||||||
+import org.chromium.chrome.browser.compositor.layouts.Layout;
|
+import org.chromium.chrome.browser.compositor.layouts.Layout;
|
||||||
+import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
|
+import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
|
||||||
@@ -111,18 +111,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
|||||||
+import org.chromium.chrome.browser.tab.Tab;
|
+import org.chromium.chrome.browser.tab.Tab;
|
||||||
+import org.chromium.chrome.browser.tabmodel.TabModelUtils;
|
+import org.chromium.chrome.browser.tabmodel.TabModelUtils;
|
||||||
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
||||||
+import org.chromium.chrome.browser.tabwindow.TabWindowManager;
|
+import org.chromium.chrome.browser.tabmodel.TabWindowManager;
|
||||||
+import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
+import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
||||||
+import org.chromium.content_public.browser.WebContentsObserver;
|
+import org.chromium.content_public.browser.WebContentsObserver;
|
||||||
+import org.chromium.content_public.browser.WebContents;
|
+import org.chromium.content_public.browser.WebContents;
|
||||||
+import org.chromium.net.NetworkChangeNotifier;
|
+import org.chromium.net.NetworkChangeNotifier;
|
||||||
+
|
+
|
||||||
import java.util.function.Supplier;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -34,7 +55,8 @@ import java.util.function.Supplier;
|
* Class that detects if the network is offline. Waits for the network to stablize before notifying
|
||||||
|
* the observer.
|
||||||
*/
|
*/
|
||||||
@NullMarked
|
|
||||||
class OfflineDetector
|
class OfflineDetector
|
||||||
- implements ConnectivityDetector.Observer, ApplicationStatus.ApplicationStateListener {
|
- implements ConnectivityDetector.Observer, ApplicationStatus.ApplicationStateListener {
|
||||||
+ implements ConnectivityDetector.Observer, ApplicationStatus.ApplicationStateListener,
|
+ implements ConnectivityDetector.Observer, ApplicationStatus.ApplicationStateListener,
|
||||||
@@ -130,26 +128,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
|||||||
// If the connection is online, then we report that immediately via |mIsOfflineCallback|.
|
// If the connection is online, then we report that immediately via |mIsOfflineCallback|.
|
||||||
// |STATUS_INDICATOR_WAIT_ON_OFFLINE_DURATION_MS| and
|
// |STATUS_INDICATOR_WAIT_ON_OFFLINE_DURATION_MS| and
|
||||||
// |mStatusIndicatorWaitOnSwitchOnlineToOfflineDurationMs| control the duration before
|
// |mStatusIndicatorWaitOnSwitchOnlineToOfflineDurationMs| control the duration before
|
||||||
@@ -120,6 +142,11 @@ class OfflineDetector
|
@@ -116,6 +138,11 @@ class OfflineDetector
|
||||||
|
|
||||||
private static final String TAG = "OfflineDetector";
|
private static final String TAG = "OfflineDetector";
|
||||||
|
|
||||||
+ private long mLastNetworkId = 0;
|
+ private long mLastNetworkId = 0;
|
||||||
+ private MonotonicObservableSupplier<TabModelSelector> mTabModelSelectorSupplier;
|
+ private ObservableSupplier<TabModelSelector> mTabModelSelectorSupplier;
|
||||||
+ private MonotonicObservableSupplier<LayoutManager> mLayoutManager;
|
+ private ObservableSupplier<LayoutManager> mLayoutManager;
|
||||||
+ private Supplier<SnackbarManager> mSnackbarManagerSupplier;
|
+ private Supplier<SnackbarManager> mSnackbarManagerSupplier;
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* Constructs the offline indicator.
|
* Constructs the offline indicator.
|
||||||
* @param isOfflineCallback The {@link Callback} is invoked when the connectivity status is
|
* @param isOfflineCallback The {@link Callback} is invoked when the connectivity status is
|
||||||
@@ -131,7 +158,13 @@ class OfflineDetector
|
@@ -127,7 +154,13 @@ class OfflineDetector
|
||||||
OfflineDetector(
|
OfflineDetector(
|
||||||
Callback<Boolean> isOfflineCallback,
|
Callback<Boolean> isOfflineCallback,
|
||||||
Callback<Boolean> isForegroundCallback,
|
Callback<Boolean> isForegroundCallback,
|
||||||
- Context context) {
|
- Context context) {
|
||||||
+ Context context,
|
+ Context context,
|
||||||
+ MonotonicObservableSupplier<TabModelSelector> tabModelSelectorSupplier,
|
+ ObservableSupplier<TabModelSelector> tabModelSelectorSupplier,
|
||||||
+ MonotonicObservableSupplier<LayoutManager> layoutManager,
|
+ ObservableSupplier<LayoutManager> layoutManager,
|
||||||
+ Supplier<SnackbarManager> snackbarManagerSupplier) {
|
+ Supplier<SnackbarManager> snackbarManagerSupplier) {
|
||||||
+ mTabModelSelectorSupplier = tabModelSelectorSupplier;
|
+ mTabModelSelectorSupplier = tabModelSelectorSupplier;
|
||||||
+ mSnackbarManagerSupplier = snackbarManagerSupplier;
|
+ mSnackbarManagerSupplier = snackbarManagerSupplier;
|
||||||
@@ -157,7 +155,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
|||||||
mIsOfflineCallback = isOfflineCallback;
|
mIsOfflineCallback = isOfflineCallback;
|
||||||
mIsForegroundCallback = isForegroundCallback;
|
mIsForegroundCallback = isForegroundCallback;
|
||||||
mContext = context;
|
mContext = context;
|
||||||
@@ -235,6 +268,75 @@ class OfflineDetector
|
@@ -231,6 +264,75 @@ class OfflineDetector
|
||||||
updateState();
|
updateState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,7 +196,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
|||||||
+ Snackbar snackbar = Snackbar.make(
|
+ Snackbar snackbar = Snackbar.make(
|
||||||
+ mContext.getString(R.string.ask_to_restart_on_connection_change_restart),
|
+ mContext.getString(R.string.ask_to_restart_on_connection_change_restart),
|
||||||
+ /* snackbarController */ this, Snackbar.TYPE_PERSISTENT, Snackbar.UMA_UNKNOWN)
|
+ /* snackbarController */ this, Snackbar.TYPE_PERSISTENT, Snackbar.UMA_UNKNOWN)
|
||||||
+ .setDefaultLines(false)
|
+ .setSingleLine(false)
|
||||||
+ .setAction(mContext.getString(R.string.relaunch), /*actionData*/0)
|
+ .setAction(mContext.getString(R.string.relaunch), /*actionData*/0)
|
||||||
+ .setDismissAction(mContext.getString(R.string.ask_to_restart_on_connection_change_close_notification), /*actionData*/1);
|
+ .setDismissAction(mContext.getString(R.string.ask_to_restart_on_connection_change_close_notification), /*actionData*/1);
|
||||||
+ SnackbarManager snackbarManager = mSnackbarManagerSupplier.get();
|
+ SnackbarManager snackbarManager = mSnackbarManagerSupplier.get();
|
||||||
@@ -233,7 +231,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
|||||||
private void logToAdbConsoleNow(String prefix) {
|
private void logToAdbConsoleNow(String prefix) {
|
||||||
Log.i(
|
Log.i(
|
||||||
TAG,
|
TAG,
|
||||||
@@ -321,6 +423,7 @@ class OfflineDetector
|
@@ -316,6 +418,7 @@ class OfflineDetector
|
||||||
** Calls |mUpdateOfflineStatusIndicatorDelayedRunnable| to update the connection state.
|
** Calls |mUpdateOfflineStatusIndicatorDelayedRunnable| to update the connection state.
|
||||||
*/
|
*/
|
||||||
private void updateState() {
|
private void updateState() {
|
||||||
@@ -244,10 +242,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java
|
||||||
@@ -32,6 +32,10 @@ import java.lang.annotation.Retention;
|
@@ -28,6 +28,11 @@ import org.chromium.content_public.common.ContentSwitches;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.util.function.Supplier;
|
|
||||||
|
|
||||||
|
+import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||||
+import org.chromium.chrome.browser.layouts.LayoutManager;
|
+import org.chromium.chrome.browser.layouts.LayoutManager;
|
||||||
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
||||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||||
@@ -255,19 +254,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
|||||||
/**
|
/**
|
||||||
* Class that controls visibility and content of {@link StatusIndicatorCoordinator} to relay
|
* Class that controls visibility and content of {@link StatusIndicatorCoordinator} to relay
|
||||||
* connectivity information.
|
* connectivity information.
|
||||||
@@ -105,7 +109,10 @@ public class OfflineIndicatorControllerV2 {
|
@@ -101,7 +106,10 @@ public class OfflineIndicatorControllerV2 {
|
||||||
Context context,
|
Context context,
|
||||||
StatusIndicatorCoordinator statusIndicator,
|
StatusIndicatorCoordinator statusIndicator,
|
||||||
NonNullObservableSupplier<Boolean> isUrlBarFocusedSupplier,
|
ObservableSupplier<Boolean> isUrlBarFocusedSupplier,
|
||||||
- Supplier<Boolean> canAnimateNativeBrowserControls) {
|
- Supplier<Boolean> canAnimateNativeBrowserControls) {
|
||||||
+ Supplier<Boolean> canAnimateNativeBrowserControls,
|
+ Supplier<Boolean> canAnimateNativeBrowserControls,
|
||||||
+ MonotonicObservableSupplier<TabModelSelector> tabModelSelectorSupplier,
|
+ ObservableSupplier<TabModelSelector> tabModelSelectorSupplier,
|
||||||
+ MonotonicObservableSupplier<LayoutManager> layoutManager,
|
+ ObservableSupplierImpl<LayoutManager> layoutManager,
|
||||||
+ Supplier<SnackbarManager> snackbarManagerSupplier) {
|
+ Supplier<SnackbarManager> snackbarManagerSupplier) {
|
||||||
// If "force online connection state" switch is set, the offline indicator should never
|
if (CommandLine.getInstance()
|
||||||
// show.
|
.hasSwitch(ContentSwitches.FORCE_ONLINE_CONNECTION_STATE_FOR_INDICATOR)) {
|
||||||
assert !CommandLine.getInstance()
|
// If "force online connection state" switch is set, the offline indicator should never
|
||||||
@@ -131,7 +138,10 @@ public class OfflineIndicatorControllerV2 {
|
@@ -129,7 +137,10 @@ public class OfflineIndicatorControllerV2 {
|
||||||
new OfflineDetector(
|
new OfflineDetector(
|
||||||
(Boolean offline) -> onConnectionStateChanged(offline),
|
(Boolean offline) -> onConnectionStateChanged(offline),
|
||||||
(Boolean isForeground) -> onApplicationStateChanged(isForeground),
|
(Boolean isForeground) -> onApplicationStateChanged(isForeground),
|
||||||
@@ -282,22 +281,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||||
@@ -1693,7 +1693,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
@@ -1239,7 +1239,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||||
mActivity,
|
mActivity,
|
||||||
mStatusIndicatorCoordinator,
|
mStatusIndicatorCoordinator,
|
||||||
isUrlBarFocusedSupplier,
|
isUrlBarFocusedSupplier,
|
||||||
- mCanAnimateBrowserControls);
|
- mCanAnimateBrowserControls);
|
||||||
+ mCanAnimateBrowserControls,
|
+ mCanAnimateBrowserControls,
|
||||||
+ mTabModelSelectorSupplier,
|
+ mTabModelSelectorSupplier,
|
||||||
+ mLayoutManagerSupplier,
|
+ mLayoutManagerSupplier,
|
||||||
+ mSnackbarManagerSupplier);
|
+ mSnackbarManagerSupplier);
|
||||||
}
|
|
||||||
|
|
||||||
if (mToolbarManager.getOmniboxStub() != null) {
|
if (mToolbarManager.getOmniboxStub() != null) {
|
||||||
|
mToolbarManager.getOmniboxStub().addUrlFocusChangeListener(mUrlFocusChangeListener);
|
||||||
|
}
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
||||||
@@ -207,6 +207,13 @@ public abstract class TabModelSelectorBase
|
@@ -195,6 +195,13 @@ public abstract class TabModelSelectorBase
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -309,7 +308,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public TabModel getCurrentModel() {
|
public @NonNull TabModel getCurrentModel() {
|
||||||
if (mTabModelInternals.size() == 0) return EmptyTabModel.getInstance(false);
|
if (mTabModelInternals.size() == 0) return EmptyTabModel.getInstance(false);
|
||||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAskForRestartOnConnectionChange.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAskForRestartOnConnectionChange.java
|
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAskForRestartOnConnectionChange.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAskForRestartOnConnectionChange.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
@@ -351,19 +350,19 @@ new file mode 100644
|
|||||||
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
|
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
|
||||||
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
|
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
|
||||||
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
|
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
|
||||||
@@ -146,6 +146,8 @@ public interface TabModelSelector {
|
@@ -147,6 +147,8 @@ public interface TabModelSelector {
|
||||||
/** Get total pinned tab count across all tab models */
|
/** Get total tab count across all tab models */
|
||||||
int getTotalPinnedTabCount();
|
int getTotalTabCount();
|
||||||
|
|
||||||
+ void setPagesFrozen(boolean frozen);
|
+ void setPagesFrozen(boolean frozen);
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* Search all TabModels for a tab with the specified id.
|
* Search all TabModels for a tab with the specified id.
|
||||||
*
|
* @return specified tab or null if tab is not found
|
||||||
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java
|
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java
|
||||||
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java
|
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java
|
||||||
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java
|
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java
|
||||||
@@ -15,6 +15,7 @@ import org.chromium.build.annotations.Nullable;
|
@@ -17,12 +17,16 @@ import org.chromium.base.supplier.SupplierUtils;
|
||||||
import org.chromium.chrome.browser.tab.Tab;
|
import org.chromium.chrome.browser.tab.Tab;
|
||||||
import org.chromium.chrome.browser.tab.TabSelectionType;
|
import org.chromium.chrome.browser.tab.TabSelectionType;
|
||||||
import org.chromium.content_public.browser.WebContents;
|
import org.chromium.content_public.browser.WebContents;
|
||||||
@@ -371,17 +370,16 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse
|
|||||||
import org.chromium.ui.base.WindowAndroid;
|
import org.chromium.ui.base.WindowAndroid;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -22,6 +23,9 @@ import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import java.util.function.Supplier;
|
|
||||||
+import java.util.Collections;
|
+import java.util.Collections;
|
||||||
+import java.util.stream.IntStream;
|
+import java.util.stream.IntStream;
|
||||||
+import java.util.stream.Collectors;
|
+import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A set of convenience methods used for interacting with {@link TabList}s and {@link TabModel}s.
|
* A set of convenience methods used for interacting with {@link TabList}s and {@link TabModel}s.
|
||||||
@@ -54,6 +58,20 @@ public class TabModelUtils {
|
@@ -55,6 +59,20 @@ public class TabModelUtils {
|
||||||
return TabModel.INVALID_TAB_INDEX;
|
return TabModel.INVALID_TAB_INDEX;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -402,11 +400,11 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse
|
|||||||
/**
|
/**
|
||||||
* Find the {@link Tab} index whose URL matches the specified URL.
|
* Find the {@link Tab} index whose URL matches the specified URL.
|
||||||
*
|
*
|
||||||
diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
|
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java
|
||||||
--- a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
|
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java
|
||||||
+++ b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
|
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java
|
||||||
@@ -154,6 +154,8 @@ public interface TabWindowManager {
|
@@ -109,6 +109,8 @@ public interface TabWindowManager {
|
||||||
/** Returns the total number of incognito tabs across all tab model selectors. */
|
*/
|
||||||
int getIncognitoTabCount();
|
int getIncognitoTabCount();
|
||||||
|
|
||||||
+ void setPagesFrozen(boolean frozen);
|
+ void setPagesFrozen(boolean frozen);
|
||||||
@@ -414,17 +412,17 @@ diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/brows
|
|||||||
/**
|
/**
|
||||||
* @param tab The tab to look for in each model.
|
* @param tab The tab to look for in each model.
|
||||||
* @return The TabModel containing the given Tab or null if one doesn't exist.
|
* @return The TabModel containing the given Tab or null if one doesn't exist.
|
||||||
diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
|
diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java
|
||||||
--- a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
|
--- a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java
|
||||||
+++ b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
|
+++ b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java
|
||||||
@@ -551,6 +551,16 @@ public class TabWindowManagerImpl implements TabWindowManager {
|
@@ -458,6 +458,16 @@ public class TabWindowManagerImpl implements ActivityStateListener, TabWindowMan
|
||||||
return tabModelSelector.getModel(isIncognito).getTabsInGroup(tabGroupId);
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void setPagesFrozen(boolean frozen) {
|
+ public void setPagesFrozen(boolean frozen) {
|
||||||
+ for (Map.Entry<@WindowId Integer, TabModelSelector> entry : mWindowIdToSelectors.entrySet()) {
|
+ for (int i = 0; i < mSelectors.size(); i++) {
|
||||||
+ TabModelSelector selector = entry.getValue();
|
+ TabModelSelector selector = mSelectors.get(i);
|
||||||
+ if (selector != null) {
|
+ if (selector != null) {
|
||||||
+ selector.setPagesFrozen(frozen);
|
+ selector.setPagesFrozen(frozen);
|
||||||
+ }
|
+ }
|
||||||
@@ -432,8 +430,8 @@ diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chr
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public @Nullable TabModelSelector getTabModelSelectorById(@WindowId int windowId) {
|
public TabModelSelector getTabModelSelectorById(int index) {
|
||||||
return mWindowIdToSelectors.get(windowId);
|
return mSelectors.get(index);
|
||||||
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp
|
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@@ -454,38 +452,38 @@ new file mode 100644
|
|||||||
+ Not now
|
+ Not now
|
||||||
+ </message>
|
+ </message>
|
||||||
+</grit-part>
|
+</grit-part>
|
||||||
diff --git a/chrome/browser/ui/messages/android/java/res/layout/floating_snackbar.xml b/chrome/browser/ui/messages/android/java/res/layout/floating_snackbar.xml
|
diff --git a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml b/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml
|
||||||
--- a/chrome/browser/ui/messages/android/java/res/layout/floating_snackbar.xml
|
--- a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml
|
||||||
+++ b/chrome/browser/ui/messages/android/java/res/layout/floating_snackbar.xml
|
+++ b/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml
|
||||||
@@ -50,5 +50,15 @@ found in the LICENSE file.
|
@@ -82,5 +82,15 @@ found in the LICENSE file.
|
||||||
android:paddingEnd="@dimen/snackbar_button_padding"
|
android:paddingEnd="@dimen/snackbar_button_padding"
|
||||||
android:paddingStart="@dimen/snackbar_button_padding"
|
android:paddingStart="@dimen/snackbar_button_padding"
|
||||||
style="@style/TextButton" />
|
style="@style/TextButton" />
|
||||||
+
|
+
|
||||||
+ <org.chromium.ui.widget.ButtonCompat
|
+ <org.chromium.ui.widget.ButtonCompat
|
||||||
+ android:id="@+id/snackbar_dismiss"
|
+ android:id="@+id/snackbar_dismiss"
|
||||||
+ android:layout_width="wrap_content"
|
+ android:layout_width="wrap_content"
|
||||||
+ android:layout_height="wrap_content"
|
+ android:layout_height="wrap_content"
|
||||||
+ android:layout_gravity="center_vertical"
|
+ android:layout_gravity="center_vertical"
|
||||||
+ android:paddingEnd="24dp"
|
+ android:paddingEnd="24dp"
|
||||||
+ android:paddingStart="24dp"
|
+ android:paddingStart="24dp"
|
||||||
+ android:visibility="gone"
|
+ android:visibility="gone"
|
||||||
+ style="@style/TextButton" />
|
+ style="@style/TextButton" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
</RelativeLayout>
|
||||||
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
|
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
|
||||||
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
|
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
|
||||||
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
|
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
|
||||||
@@ -149,6 +149,8 @@ public class Snackbar {
|
@@ -133,6 +133,8 @@ public class Snackbar {
|
||||||
private @Nullable String mTemplateText;
|
private String mTemplateText;
|
||||||
private @Nullable String mActionText;
|
private String mActionText;
|
||||||
private @Nullable Object mActionData;
|
private Object mActionData;
|
||||||
+ private String mDismissActionText;
|
+ private String mDismissActionText;
|
||||||
+ private Object mDismissActionData;
|
+ private Object mDismissActionData;
|
||||||
private int mBackgroundColor;
|
private int mBackgroundColor;
|
||||||
private int mTextAppearanceResId;
|
private int mTextApperanceResId;
|
||||||
private boolean mDefaultLines = true;
|
private boolean mSingleLine = true;
|
||||||
@@ -255,6 +257,20 @@ public class Snackbar {
|
@@ -235,6 +237,20 @@ public class Snackbar {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -509,7 +507,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
|||||||
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
|
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
|
||||||
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
|
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
|
||||||
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
|
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
|
||||||
@@ -464,6 +464,12 @@ public class SnackbarManager
|
@@ -318,6 +318,12 @@ public class SnackbarManager
|
||||||
new SnackbarView(
|
new SnackbarView(
|
||||||
mActivity,
|
mActivity,
|
||||||
this,
|
this,
|
||||||
@@ -525,32 +523,46 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
|||||||
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
||||||
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
||||||
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
||||||
@@ -57,6 +57,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
@@ -51,6 +51,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||||
protected final ViewGroup mSnackbarView;
|
protected final ViewGroup mSnackbarView;
|
||||||
protected final TemplatePreservingTextView mMessageView;
|
protected final TemplatePreservingTextView mMessageView;
|
||||||
private final TextView mActionButtonView;
|
private final TextView mActionButtonView;
|
||||||
+ private final TextView mDismissButtonView;
|
+ private final TextView mDismissButtonView;
|
||||||
private final ImageView mProfileImageView;
|
private final ImageView mProfileImageView;
|
||||||
private final int mAnimationDuration;
|
private final int mAnimationDuration;
|
||||||
private final ViewGroup mOriginalParent;
|
private final boolean mIsTablet;
|
||||||
@@ -110,6 +111,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
@@ -97,11 +98,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||||
public SnackbarView(
|
public SnackbarView(
|
||||||
Activity activity,
|
Activity activity,
|
||||||
SnackbarManager manager,
|
OnClickListener listener,
|
||||||
+ OnClickListener dismissListener,
|
+ OnClickListener dismissListener,
|
||||||
Snackbar snackbar,
|
Snackbar snackbar,
|
||||||
ViewGroup parentView,
|
ViewGroup parentView,
|
||||||
@Nullable WindowAndroid windowAndroid,
|
@Nullable WindowAndroid windowAndroid,
|
||||||
@@ -171,6 +173,8 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
boolean isTablet) {
|
||||||
|
- this(activity, listener, snackbar, parentView, windowAndroid, null, isTablet);
|
||||||
|
+ this(activity, listener, dismissListener, snackbar, parentView, windowAndroid, null, isTablet);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -120,6 +122,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||||
|
public SnackbarView(
|
||||||
|
Activity activity,
|
||||||
|
OnClickListener listener,
|
||||||
|
+ OnClickListener dismissListener,
|
||||||
|
Snackbar snackbar,
|
||||||
|
ViewGroup parentView,
|
||||||
|
@Nullable WindowAndroid windowAndroid,
|
||||||
|
@@ -147,6 +150,8 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||||
(TemplatePreservingTextView) mContainerView.findViewById(R.id.snackbar_message);
|
(TemplatePreservingTextView) mContainerView.findViewById(R.id.snackbar_message);
|
||||||
mActionButtonView = (TextView) mContainerView.findViewById(R.id.snackbar_button);
|
mActionButtonView = (TextView) mContainerView.findViewById(R.id.snackbar_button);
|
||||||
mActionButtonView.setOnClickListener(manager);
|
mActionButtonView.setOnClickListener(listener);
|
||||||
+ mDismissButtonView = (TextView) mContainerView.findViewById(R.id.snackbar_dismiss);
|
+ mDismissButtonView = (TextView) mContainerView.findViewById(R.id.snackbar_dismiss);
|
||||||
+ mDismissButtonView.setOnClickListener(dismissListener);
|
+ mDismissButtonView.setOnClickListener(dismissListener);
|
||||||
mProfileImageView = (ImageView) mContainerView.findViewById(R.id.snackbar_profile_image);
|
mProfileImageView = (ImageView) mContainerView.findViewById(R.id.snackbar_profile_image);
|
||||||
// Add bottom margin to extend the snackbar view into the bottom window inset. This
|
mEdgeToEdgeSupplier = edgeToEdgeSupplier;
|
||||||
// margin has to be applied to the snackbar view itself to avoid weird visual clipping
|
if (SnackbarManager.isFloatingSnackbarEnabled()) {
|
||||||
@@ -434,6 +438,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
@@ -394,6 +399,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||||
mActionButtonView.setVisibility(View.VISIBLE);
|
mActionButtonView.setVisibility(View.VISIBLE);
|
||||||
mActionButtonView.setContentDescription(snackbar.getActionText());
|
mActionButtonView.setContentDescription(snackbar.getActionText());
|
||||||
setViewText(mActionButtonView, snackbar.getActionText(), animate);
|
setViewText(mActionButtonView, snackbar.getActionText(), animate);
|
||||||
@@ -566,7 +578,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
|||||||
diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc
|
diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc
|
||||||
--- a/content/browser/web_contents/web_contents_android.cc
|
--- a/content/browser/web_contents/web_contents_android.cc
|
||||||
+++ b/content/browser/web_contents/web_contents_android.cc
|
+++ b/content/browser/web_contents/web_contents_android.cc
|
||||||
@@ -903,6 +903,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, bool focused) {
|
@@ -898,6 +898,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) {
|
||||||
view->SetFocus(focused);
|
view->SetFocus(focused);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -592,10 +604,10 @@ diff --git a/content/browser/web_contents/web_contents_android.cc b/content/brow
|
|||||||
diff --git a/content/browser/web_contents/web_contents_android.h b/content/browser/web_contents/web_contents_android.h
|
diff --git a/content/browser/web_contents/web_contents_android.h b/content/browser/web_contents/web_contents_android.h
|
||||||
--- a/content/browser/web_contents/web_contents_android.h
|
--- a/content/browser/web_contents/web_contents_android.h
|
||||||
+++ b/content/browser/web_contents/web_contents_android.h
|
+++ b/content/browser/web_contents/web_contents_android.h
|
||||||
@@ -199,6 +199,7 @@ class CONTENT_EXPORT WebContentsAndroid {
|
@@ -194,6 +194,7 @@ class CONTENT_EXPORT WebContentsAndroid {
|
||||||
|
|
||||||
void OnScaleFactorChanged(JNIEnv* env);
|
void OnScaleFactorChanged(JNIEnv* env);
|
||||||
void SetFocus(JNIEnv* env, bool focused);
|
void SetFocus(JNIEnv* env, jboolean focused);
|
||||||
+ void SetPageFrozen(JNIEnv* env, jboolean frozen);
|
+ void SetPageFrozen(JNIEnv* env, jboolean frozen);
|
||||||
bool IsBeingDestroyed(JNIEnv* env);
|
bool IsBeingDestroyed(JNIEnv* env);
|
||||||
|
|
||||||
@@ -603,7 +615,7 @@ diff --git a/content/browser/web_contents/web_contents_android.h b/content/brows
|
|||||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||||
@@ -4217,8 +4217,10 @@ void WebContentsImpl::Stop() {
|
@@ -3748,8 +3748,10 @@ void WebContentsImpl::Stop() {
|
||||||
void WebContentsImpl::SetPageFrozen(bool frozen) {
|
void WebContentsImpl::SetPageFrozen(bool frozen) {
|
||||||
TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen);
|
TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen);
|
||||||
|
|
||||||
@@ -617,7 +629,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
|
|||||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
|
diff --git a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
|
||||||
--- a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
|
--- a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
|
||||||
+++ b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
|
+++ b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
|
||||||
@@ -1171,6 +1171,12 @@ public class WebContentsImpl
|
@@ -1161,6 +1161,12 @@ public class WebContentsImpl
|
||||||
WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus);
|
WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -630,7 +642,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
|
|||||||
@Override
|
@Override
|
||||||
public void setDisplayCutoutSafeArea(Rect insets) {
|
public void setDisplayCutoutSafeArea(Rect insets) {
|
||||||
if (mNativeWebContentsAndroid == 0) return;
|
if (mNativeWebContentsAndroid == 0) return;
|
||||||
@@ -1519,6 +1525,8 @@ public class WebContentsImpl
|
@@ -1459,6 +1465,8 @@ public class WebContentsImpl
|
||||||
|
|
||||||
void setFocus(long nativeWebContentsAndroid, boolean focused);
|
void setFocus(long nativeWebContentsAndroid, boolean focused);
|
||||||
|
|
||||||
@@ -642,7 +654,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
|
|||||||
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
|
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
|
||||||
--- a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
|
--- a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
|
||||||
+++ b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
|
+++ b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
|
||||||
@@ -297,6 +297,8 @@ public interface WebContents extends Parcelable {
|
@@ -289,6 +289,8 @@ public interface WebContents extends Parcelable {
|
||||||
*/
|
*/
|
||||||
void setFocus(boolean hasFocus);
|
void setFocus(boolean hasFocus);
|
||||||
|
|
||||||
@@ -654,7 +666,7 @@ diff --git a/content/public/android/java/src/org/chromium/content_public/browser
|
|||||||
diff --git a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
|
diff --git a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
|
||||||
--- a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
|
--- a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
|
||||||
+++ b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
|
+++ b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
|
||||||
@@ -191,6 +191,9 @@ public class MockWebContents implements WebContents, WebContentsObserver.Observa
|
@@ -187,6 +187,9 @@ public class MockWebContents implements WebContents, WebContentsObserver.Observa
|
||||||
@Override
|
@Override
|
||||||
public void setFocus(boolean hasFocus) {}
|
public void setFocus(boolean hasFocus) {}
|
||||||
|
|
||||||
@@ -699,7 +711,7 @@ new file mode 100644
|
|||||||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||||
@@ -4626,6 +4626,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) {
|
@@ -4307,6 +4307,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Document::DispatchFreezeEvent() {
|
void Document::DispatchFreezeEvent() {
|
||||||
@@ -710,7 +722,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
|||||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
@@ -3325,6 +3325,7 @@ void LocalFrame::DidFreeze() {
|
@@ -3231,6 +3231,7 @@ void LocalFrame::DidFreeze() {
|
||||||
LoaderFreezeMode freeze_mode = GetLoaderFreezeMode();
|
LoaderFreezeMode freeze_mode = GetLoaderFreezeMode();
|
||||||
GetDocument()->Fetcher()->SetDefersLoading(freeze_mode);
|
GetDocument()->Fetcher()->SetDefersLoading(freeze_mode);
|
||||||
Loader().SetDefersLoading(freeze_mode);
|
Loader().SetDefersLoading(freeze_mode);
|
||||||
@@ -718,7 +730,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
|||||||
}
|
}
|
||||||
|
|
||||||
void LocalFrame::DidResume() {
|
void LocalFrame::DidResume() {
|
||||||
@@ -3339,6 +3340,7 @@ void LocalFrame::DidResume() {
|
@@ -3245,6 +3246,7 @@ void LocalFrame::DidResume() {
|
||||||
GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone);
|
GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone);
|
||||||
Loader().SetDefersLoading(LoaderFreezeMode::kNone);
|
Loader().SetDefersLoading(LoaderFreezeMode::kNone);
|
||||||
|
|
||||||
@@ -729,7 +741,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
|||||||
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc
|
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc
|
||||||
--- a/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc
|
--- a/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc
|
||||||
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc
|
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc
|
||||||
@@ -1022,7 +1022,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState(
|
@@ -986,7 +986,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState(
|
||||||
if (!parent_page_scheduler_)
|
if (!parent_page_scheduler_)
|
||||||
return SchedulingLifecycleState::kNotThrottled;
|
return SchedulingLifecycleState::kNotThrottled;
|
||||||
if (parent_page_scheduler_->IsFrozen()) {
|
if (parent_page_scheduler_->IsFrozen()) {
|
||||||
@@ -742,7 +754,7 @@ diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/frame_sch
|
|||||||
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
|
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
|
||||||
--- a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
|
--- a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
|
||||||
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
|
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
|
||||||
@@ -235,10 +235,12 @@ void PageSchedulerImpl::SetPageFrozen(bool frozen) {
|
@@ -238,10 +238,12 @@ void PageSchedulerImpl::SetPageFrozen(bool frozen) {
|
||||||
// it is desirable to reject the page freeze to prevent the scheduler from
|
// it is desirable to reject the page freeze to prevent the scheduler from
|
||||||
// being put in a bad state. See https://crbug.com/873214 for context of how
|
// being put in a bad state. See https://crbug.com/873214 for context of how
|
||||||
// this can happen on the browser side.
|
// this can happen on the browser side.
|
||||||
@@ -755,7 +767,7 @@ diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_sche
|
|||||||
PolicyUpdater policy_updater;
|
PolicyUpdater policy_updater;
|
||||||
SetPageFrozenImpl(frozen, policy_updater);
|
SetPageFrozenImpl(frozen, policy_updater);
|
||||||
}
|
}
|
||||||
@@ -803,7 +805,12 @@ bool PageSchedulerImpl::IsBackgrounded() const {
|
@@ -799,7 +801,12 @@ bool PageSchedulerImpl::IsBackgrounded() const {
|
||||||
// expire immediately when a page is backgrounded, which is undesirable in
|
// expire immediately when a page is backgrounded, which is undesirable in
|
||||||
// headless mode. To prevent that, a page is never considerer backgrounded
|
// headless mode. To prevent that, a page is never considerer backgrounded
|
||||||
// when virtual time is enabled.
|
// when virtual time is enabled.
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
.../modules/webaudio/base_audio_context.cc | 12 ++++++++++++
|
.../modules/webaudio/base_audio_context.cc | 12 ++++++++++++
|
||||||
.../renderer/modules/webaudio/base_audio_context.h | 2 ++
|
.../renderer/modules/webaudio/base_audio_context.h | 2 ++
|
||||||
.../modules/webaudio/offline_audio_context.cc | 1 +
|
.../modules/webaudio/offline_audio_context.cc | 1 +
|
||||||
.../renderer/modules/webaudio/realtime_analyser.cc | 13 ++++++++++---
|
.../renderer/modules/webaudio/realtime_analyser.cc | 7 +++++++
|
||||||
.../platform/runtime_enabled_features.json5 | 5 ++---
|
.../platform/runtime_enabled_features.json5 | 5 ++---
|
||||||
11 files changed, 59 insertions(+), 7 deletions(-)
|
11 files changed, 56 insertions(+), 4 deletions(-)
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/AudioBuffer-AnalyserNode-fp-mitigations.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/AudioBuffer-AnalyserNode-fp-mitigations.inc
|
||||||
create mode 100644 cromite_flags/third_party/blink/common/features_cc/AudioBuffer-AnalyserNode-fp-mitigations.inc
|
create mode 100644 cromite_flags/third_party/blink/common/features_cc/AudioBuffer-AnalyserNode-fp-mitigations.inc
|
||||||
create mode 100644 cromite_flags/third_party/blink/common/features_h/AudioBuffer-AnalyserNode-fp-mitigations.inc
|
create mode 100644 cromite_flags/third_party/blink/common/features_h/AudioBuffer-AnalyserNode-fp-mitigations.inc
|
||||||
@@ -52,7 +52,7 @@ new file mode 100644
|
|||||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
||||||
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
||||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
||||||
@@ -197,6 +197,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus)
|
@@ -202,6 +202,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,15 +88,15 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.h b/third_
|
|||||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||||
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||||
@@ -22,6 +22,7 @@
|
@@ -15,6 +15,7 @@
|
||||||
|
#include "third_party/blink/public/common/features.h"
|
||||||
#include "third_party/blink/public/common/mediastream/media_devices.h"
|
#include "third_party/blink/public/common/mediastream/media_devices.h"
|
||||||
#include "third_party/blink/public/mojom/permissions/permission_status.mojom-blink.h"
|
|
||||||
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
|
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
|
||||||
+#include "third_party/blink/public/common/features.h"
|
+#include "third_party/blink/public/common/features.h"
|
||||||
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
||||||
#include "third_party/blink/public/platform/web_audio_latency_hint.h"
|
#include "third_party/blink/public/platform/web_audio_latency_hint.h"
|
||||||
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
|
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
|
||||||
@@ -1138,7 +1139,9 @@ double AudioContext::baseLatency() const {
|
@@ -639,7 +640,9 @@ double AudioContext::baseLatency() const {
|
||||||
DCHECK_CALLED_ON_VALID_SEQUENCE(main_thread_sequence_checker_);
|
DCHECK_CALLED_ON_VALID_SEQUENCE(main_thread_sequence_checker_);
|
||||||
DCHECK(destination());
|
DCHECK(destination());
|
||||||
|
|
||||||
@@ -110,15 +110,15 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir
|
|||||||
diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
||||||
--- a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
--- a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
||||||
+++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
+++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
||||||
@@ -28,6 +28,7 @@
|
@@ -29,6 +29,7 @@
|
||||||
|
|
||||||
#include "base/metrics/histogram_functions.h"
|
#include "base/metrics/histogram_functions.h"
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "media/base/audio_bus.h"
|
|
||||||
+#include "third_party/blink/public/common/features.h"
|
+#include "third_party/blink/public/common/features.h"
|
||||||
#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
|
#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
|
||||||
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h"
|
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h"
|
||||||
#include "third_party/blink/public/platform/platform.h"
|
#include "third_party/blink/public/platform/platform.h"
|
||||||
@@ -775,6 +776,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const {
|
@@ -709,6 +710,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const {
|
||||||
return To<LocalDOMWindow>(GetExecutionContext());
|
return To<LocalDOMWindow>(GetExecutionContext());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,19 +139,19 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b
|
|||||||
diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
||||||
--- a/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
--- a/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
||||||
+++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
+++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
||||||
@@ -331,6 +331,8 @@ class MODULES_EXPORT BaseAudioContext
|
@@ -327,6 +327,8 @@ class MODULES_EXPORT BaseAudioContext
|
||||||
// if the execution context does not exist.
|
// if the execution context does not exist.
|
||||||
bool CheckExecutionContextAndThrowIfNecessary(ExceptionState&);
|
bool CheckExecutionContextAndThrowIfNecessary(ExceptionState&);
|
||||||
|
|
||||||
+ static float ShuffleAudioData(float data, unsigned index);
|
+ static float ShuffleAudioData(float data, unsigned index);
|
||||||
+
|
+
|
||||||
protected:
|
protected:
|
||||||
enum class ContextType { kRealtimeContext, kOfflineContext };
|
enum ContextType { kRealtimeContext, kOfflineContext };
|
||||||
|
|
||||||
diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc
|
diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc
|
||||||
--- a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc
|
--- a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc
|
||||||
+++ b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc
|
+++ b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc
|
||||||
@@ -418,6 +418,7 @@ void OfflineAudioContext::FireCompletionEvent() {
|
@@ -372,6 +372,7 @@ void OfflineAudioContext::FireCompletionEvent() {
|
||||||
if (!rendered_buffer) {
|
if (!rendered_buffer) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -162,30 +162,33 @@ diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.c
|
|||||||
diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
||||||
--- a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
--- a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
||||||
+++ b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
+++ b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
||||||
@@ -33,6 +33,7 @@
|
@@ -36,6 +36,7 @@
|
||||||
|
#include <bit>
|
||||||
|
#include <complex>
|
||||||
|
|
||||||
#include "base/compiler_specific.h"
|
|
||||||
#include "media/base/audio_bus.h"
|
|
||||||
+#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h"
|
+#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h"
|
||||||
#include "third_party/blink/renderer/platform/audio/audio_bus.h"
|
#include "third_party/blink/renderer/platform/audio/audio_bus.h"
|
||||||
#include "third_party/blink/renderer/platform/audio/audio_utilities.h"
|
#include "third_party/blink/renderer/platform/audio/audio_utilities.h"
|
||||||
#include "third_party/blink/renderer/platform/audio/vector_math.h"
|
#include "third_party/blink/renderer/platform/audio/vector_math.h"
|
||||||
@@ -117,7 +118,8 @@ void RealtimeAnalyser::GetFloatFrequencyData(DOMFloat32Array* destination_array,
|
@@ -160,6 +161,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData(
|
||||||
for (unsigned i = 0; i < len; ++i) {
|
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
|
||||||
const float linear_value = magnitude_buffer_[i];
|
kInputBufferSize];
|
||||||
const double db_mag = audio_utilities::LinearToDecibels(linear_value);
|
|
||||||
- destination[i] = static_cast<float>(db_mag);
|
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
||||||
+ auto v = static_cast<float>(db_mag);
|
destination[i] = value;
|
||||||
+ destination[i] = BaseAudioContext::ShuffleAudioData(v, i);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
@@ -187,6 +189,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
|
||||||
@@ -153,9 +155,11 @@ void RealtimeAnalyser::GetByteFrequencyData(DOMUint8Array* destination_array,
|
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
|
||||||
|
kInputBufferSize];
|
||||||
|
|
||||||
// The range m_minDecibels to m_maxDecibels will be scaled to byte values
|
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
||||||
// from 0 to UCHAR_MAX.
|
+
|
||||||
- const double scaled_value =
|
// Scale from nominal -1 -> +1 to unsigned byte.
|
||||||
+ double scaled_value =
|
double scaled_value = 128 * (value + 1);
|
||||||
|
|
||||||
|
@@ -306,6 +310,8 @@ void RealtimeAnalyser::ConvertToByteData(DOMUint8Array* destination_array) {
|
||||||
|
double scaled_value =
|
||||||
UCHAR_MAX * (db_mag - min_decibels) * range_scale_factor;
|
UCHAR_MAX * (db_mag - min_decibels) * range_scale_factor;
|
||||||
|
|
||||||
+ scaled_value = BaseAudioContext::ShuffleAudioData(scaled_value, i);
|
+ scaled_value = BaseAudioContext::ShuffleAudioData(scaled_value, i);
|
||||||
@@ -193,32 +196,18 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/
|
|||||||
// Clip to valid range.
|
// Clip to valid range.
|
||||||
destination[i] =
|
destination[i] =
|
||||||
static_cast<unsigned char>(ClampTo(scaled_value, 0, UCHAR_MAX));
|
static_cast<unsigned char>(ClampTo(scaled_value, 0, UCHAR_MAX));
|
||||||
@@ -184,6 +188,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData(
|
@@ -325,6 +331,7 @@ void RealtimeAnalyser::ConvertFloatToDb(DOMFloat32Array* destination_array) {
|
||||||
input_buffer_[(i + write_index - fft_size + kInputBufferSize) %
|
float linear_value = source[i];
|
||||||
kInputBufferSize];
|
double db_mag = audio_utilities::LinearToDecibels(linear_value);
|
||||||
|
destination[i] = static_cast<float>(db_mag);
|
||||||
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
+ destination[i] = BaseAudioContext::ShuffleAudioData(destination[i], i);
|
||||||
destination[i] = value;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -205,10 +210,12 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
|
}
|
||||||
base::span<unsigned char> destination = destination_array->AsSpan();
|
|
||||||
for (unsigned i = 0; i < len; ++i) {
|
|
||||||
// Buffer access is protected due to modulo operation.
|
|
||||||
- const float value =
|
|
||||||
+ float value =
|
|
||||||
input_buffer_[(i + write_index - fft_size + kInputBufferSize) %
|
|
||||||
kInputBufferSize];
|
|
||||||
|
|
||||||
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
|
||||||
+
|
|
||||||
// Scale from nominal -1 -> +1 to unsigned byte.
|
|
||||||
const double scaled_value = 128 * (value + 1);
|
|
||||||
|
|
||||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
@@ -719,9 +719,8 @@
|
@@ -485,9 +485,8 @@
|
||||||
{
|
{
|
||||||
// AudioContext.playoutStats interface.
|
// AudioContext.playoutStats interface.
|
||||||
// https://chromestatus.com/feature/5172818344148992
|
// https://chromestatus.com/feature/5172818344148992
|
||||||
|
|||||||
@@ -7,23 +7,49 @@ This approach is not comprehensive, see also:
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
|
.../execution_context/execution_context.cc | 15 +++++++++
|
||||||
.../execution_context/execution_context.h | 1 +
|
.../execution_context/execution_context.h | 1 +
|
||||||
.../renderer/core/loader/base_fetch_context.h | 1 +
|
.../renderer/core/loader/base_fetch_context.h | 1 +
|
||||||
.../core/loader/frame_fetch_context.cc | 20 ++++++++++++
|
.../core/loader/frame_fetch_context.cc | 20 ++++++++++++
|
||||||
.../core/loader/frame_fetch_context.h | 1 +
|
.../core/loader/frame_fetch_context.h | 1 +
|
||||||
.../core/loader/worker_fetch_context.cc | 21 +++++++++++++
|
.../core/loader/worker_fetch_context.cc | 21 +++++++++++++
|
||||||
.../core/loader/worker_fetch_context.h | 1 +
|
.../core/loader/worker_fetch_context.h | 1 +
|
||||||
.../core/workers/installed_scripts_manager.cc | 2 +-
|
.../core/workers/installed_scripts_manager.cc | 4 +--
|
||||||
.../background_fetch_manager.cc | 31 +++++++++++++++++++
|
.../background_fetch_manager.cc | 31 +++++++++++++++++++
|
||||||
.../websockets/websocket_channel_impl.cc | 5 +++
|
.../websockets/websocket_channel_impl.cc | 5 +++
|
||||||
.../modules/websockets/websocket_common.cc | 30 ++++++++++++++++++
|
.../modules/websockets/websocket_common.cc | 30 ++++++++++++++++++
|
||||||
.../modules/websockets/websocket_common.h | 4 +++
|
.../modules/websockets/websocket_common.h | 4 +++
|
||||||
11 files changed, 116 insertions(+), 1 deletion(-)
|
12 files changed, 132 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||||
|
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||||
|
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||||
|
@@ -707,6 +707,21 @@ void ExecutionContext::WriteIntoTrace(
|
||||||
|
proto->set_world_type(GetWorldType(*this));
|
||||||
|
}
|
||||||
|
|
||||||
|
+String ExecutionContext::addressSpaceForBindings() const {
|
||||||
|
+ switch (AddressSpace()) {
|
||||||
|
+ case network::mojom::IPAddressSpace::kPublic:
|
||||||
|
+ case network::mojom::IPAddressSpace::kUnknown:
|
||||||
|
+ return "public";
|
||||||
|
+
|
||||||
|
+ case network::mojom::IPAddressSpace::kPrivate:
|
||||||
|
+ return "private";
|
||||||
|
+
|
||||||
|
+ case network::mojom::IPAddressSpace::kLocal:
|
||||||
|
+ return "local";
|
||||||
|
+ }
|
||||||
|
+ NOTREACHED();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
bool ExecutionContext::CrossOriginIsolatedCapabilityOrDisabledWebSecurity()
|
||||||
|
const {
|
||||||
|
return Agent::IsWebSecurityDisabled() || CrossOriginIsolatedCapability();
|
||||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
|
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
|
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
|
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||||
@@ -388,6 +388,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
|
@@ -396,6 +396,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
|
||||||
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
|
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
|
||||||
|
|
||||||
HeapObserverList<ContextLifecycleObserver>& ContextLifecycleObserverSet();
|
HeapObserverList<ContextLifecycleObserver>& ContextLifecycleObserverSet();
|
||||||
@@ -34,7 +60,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
|
|||||||
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
|
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||||
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
|
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||||
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
|
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||||
@@ -86,6 +86,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
|
@@ -84,6 +84,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
|
||||||
|
|
||||||
virtual SubresourceFilter* GetSubresourceFilter() const = 0;
|
virtual SubresourceFilter* GetSubresourceFilter() const = 0;
|
||||||
virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0;
|
virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0;
|
||||||
@@ -45,7 +71,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third
|
|||||||
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||||
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||||
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||||
@@ -1134,6 +1134,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
|
@@ -996,6 +996,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
|
||||||
return should_block_request;
|
return should_block_request;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,7 +84,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
|
|||||||
+ network::mojom::IPAddressSpace target_space =
|
+ network::mojom::IPAddressSpace target_space =
|
||||||
+ network::mojom::IPAddressSpace::kPublic;
|
+ network::mojom::IPAddressSpace::kPublic;
|
||||||
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
|
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
|
||||||
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
+ target_space = network::mojom::IPAddressSpace::kPrivate;
|
||||||
+ if (SecurityOrigin::Create(request_url)->IsLocalhost())
|
+ if (SecurityOrigin::Create(request_url)->IsLocalhost())
|
||||||
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
||||||
+
|
+
|
||||||
@@ -75,7 +101,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
|
|||||||
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
||||||
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
||||||
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
||||||
@@ -197,6 +197,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
|
@@ -182,6 +182,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
|
||||||
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
|
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
|
||||||
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
|
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
|
||||||
override;
|
override;
|
||||||
@@ -107,7 +133,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th
|
|||||||
+ network::mojom::IPAddressSpace target_space =
|
+ network::mojom::IPAddressSpace target_space =
|
||||||
+ network::mojom::IPAddressSpace::kPublic;
|
+ network::mojom::IPAddressSpace::kPublic;
|
||||||
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
|
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
|
||||||
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
+ target_space = network::mojom::IPAddressSpace::kPrivate;
|
||||||
+ if (SecurityOrigin::Create(request_url)->IsLocalhost())
|
+ if (SecurityOrigin::Create(request_url)->IsLocalhost())
|
||||||
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
||||||
+
|
+
|
||||||
@@ -135,9 +161,12 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.h b/thi
|
|||||||
diff --git a/third_party/blink/renderer/core/workers/installed_scripts_manager.cc b/third_party/blink/renderer/core/workers/installed_scripts_manager.cc
|
diff --git a/third_party/blink/renderer/core/workers/installed_scripts_manager.cc b/third_party/blink/renderer/core/workers/installed_scripts_manager.cc
|
||||||
--- a/third_party/blink/renderer/core/workers/installed_scripts_manager.cc
|
--- a/third_party/blink/renderer/core/workers/installed_scripts_manager.cc
|
||||||
+++ b/third_party/blink/renderer/core/workers/installed_scripts_manager.cc
|
+++ b/third_party/blink/renderer/core/workers/installed_scripts_manager.cc
|
||||||
@@ -35,7 +35,7 @@ InstalledScriptsManager::ScriptData::ScriptData(
|
@@ -33,9 +33,9 @@ InstalledScriptsManager::ScriptData::ScriptData(
|
||||||
|
// place so that this is shareable out of worker code.
|
||||||
|
response_address_space_ = network::mojom::IPAddressSpace::kPublic;
|
||||||
if (network_utils::IsReservedIPAddress(script_url_.Host()))
|
if (network_utils::IsReservedIPAddress(script_url_.Host()))
|
||||||
response_address_space_ = network::mojom::IPAddressSpace::kLocal;
|
- response_address_space_ = network::mojom::IPAddressSpace::kLocal;
|
||||||
|
+ response_address_space_ = network::mojom::IPAddressSpace::kPrivate;
|
||||||
if (SecurityOrigin::Create(script_url_)->IsLocalhost())
|
if (SecurityOrigin::Create(script_url_)->IsLocalhost())
|
||||||
- response_address_space_ = network::mojom::IPAddressSpace::kLoopback;
|
- response_address_space_ = network::mojom::IPAddressSpace::kLoopback;
|
||||||
+ response_address_space_ = network::mojom::IPAddressSpace::kLocal;
|
+ response_address_space_ = network::mojom::IPAddressSpace::kLocal;
|
||||||
@@ -147,8 +176,8 @@ diff --git a/third_party/blink/renderer/core/workers/installed_scripts_manager.c
|
|||||||
diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
||||||
--- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
--- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
||||||
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
||||||
@@ -104,6 +104,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
|
@@ -102,6 +102,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
|
||||||
request_url.ProtocolIsInHttpFamily();
|
request_url.ProtocolIsInHTTPFamily();
|
||||||
}
|
}
|
||||||
|
|
||||||
+bool ShouldBlockGateWayAttacks(ExecutionContext* execution_context,
|
+bool ShouldBlockGateWayAttacks(ExecutionContext* execution_context,
|
||||||
@@ -164,7 +193,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
|
|||||||
+ network::mojom::IPAddressSpace target_space =
|
+ network::mojom::IPAddressSpace target_space =
|
||||||
+ network::mojom::IPAddressSpace::kPublic;
|
+ network::mojom::IPAddressSpace::kPublic;
|
||||||
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
|
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
|
||||||
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
+ target_space = network::mojom::IPAddressSpace::kPrivate;
|
||||||
+ if (SecurityOrigin::Create(request_url)->IsLocalhost())
|
+ if (SecurityOrigin::Create(request_url)->IsLocalhost())
|
||||||
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
||||||
+
|
+
|
||||||
@@ -178,7 +207,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
|
|||||||
scoped_refptr<BlobDataHandle> ExtractBlobHandle(
|
scoped_refptr<BlobDataHandle> ExtractBlobHandle(
|
||||||
Request* request,
|
Request* request,
|
||||||
ExceptionState& exception_state) {
|
ExceptionState& exception_state) {
|
||||||
@@ -191,6 +215,13 @@ ScriptPromise<BackgroundFetchRegistration> BackgroundFetchManager::fetch(
|
@@ -189,6 +213,13 @@ ScriptPromise<BackgroundFetchRegistration> BackgroundFetchManager::fetch(
|
||||||
exception_state);
|
exception_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -205,12 +234,12 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_imp
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
if (auto* scheduler = execution_context_->GetScheduler()) {
|
if (auto* scheduler = execution_context_->GetScheduler()) {
|
||||||
if (!RuntimeEnabledFeatures::DisconnectWebSocketOnBFCacheEnabled()) {
|
// Two features are registered here:
|
||||||
// Two features are registered here:
|
// - `kWebSocket`: a non-sticky feature that will disable BFCache for any
|
||||||
diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
||||||
--- a/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
--- a/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
||||||
+++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
+++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
||||||
@@ -139,9 +139,39 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
|
@@ -135,9 +135,39 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
|
||||||
return ConnectResult::kException;
|
return ConnectResult::kException;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -236,7 +265,7 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b
|
|||||||
+ network::mojom::IPAddressSpace target_space =
|
+ network::mojom::IPAddressSpace target_space =
|
||||||
+ network::mojom::IPAddressSpace::kPublic;
|
+ network::mojom::IPAddressSpace::kPublic;
|
||||||
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
|
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
|
||||||
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
+ target_space = network::mojom::IPAddressSpace::kPrivate;
|
||||||
+ if (SecurityOrigin::Create(request_url)->IsLocalhost())
|
+ if (SecurityOrigin::Create(request_url)->IsLocalhost())
|
||||||
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
||||||
+
|
+
|
||||||
|
|||||||
@@ -10,14 +10,14 @@ leakage of certain information in sandbox iframes
|
|||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
.../renderer_host/render_frame_host_impl.cc | 12 +++++++++++-
|
.../browser/renderer_host/render_frame_host_impl.cc | 12 +++++++++++-
|
||||||
.../Block-url-leakage-sandbox-iframe.inc | 8 ++++++++
|
.../Block-url-leakage-sandbox-iframe.inc | 8 ++++++++
|
||||||
.../Block-url-leakage-sandbox-iframe.inc | 3 +++
|
.../Block-url-leakage-sandbox-iframe.inc | 3 +++
|
||||||
.../Block-url-leakage-sandbox-iframe.inc | 1 +
|
.../features_h/Block-url-leakage-sandbox-iframe.inc | 1 +
|
||||||
third_party/blink/renderer/core/frame/location.cc | 15 ++++++++++++++-
|
third_party/blink/renderer/core/frame/location.cc | 13 +++++++++++++
|
||||||
.../blink/renderer/core/loader/document_loader.cc | 12 ++++++++++++
|
.../blink/renderer/core/loader/document_loader.cc | 12 ++++++++++++
|
||||||
.../blink/renderer/core/loader/document_loader.h | 2 +-
|
.../blink/renderer/core/loader/document_loader.h | 2 +-
|
||||||
7 files changed, 50 insertions(+), 3 deletions(-)
|
7 files changed, 49 insertions(+), 2 deletions(-)
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Block-url-leakage-sandbox-iframe.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Block-url-leakage-sandbox-iframe.inc
|
||||||
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Block-url-leakage-sandbox-iframe.inc
|
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Block-url-leakage-sandbox-iframe.inc
|
||||||
create mode 100644 cromite_flags/third_party/blink/common/features_h/Block-url-leakage-sandbox-iframe.inc
|
create mode 100644 cromite_flags/third_party/blink/common/features_h/Block-url-leakage-sandbox-iframe.inc
|
||||||
@@ -25,7 +25,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
@@ -5426,7 +5426,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin(
|
@@ -4967,7 +4967,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin(
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderFrameHostImpl::SetInheritedBaseUrl(const GURL& inherited_base_url) {
|
void RenderFrameHostImpl::SetInheritedBaseUrl(const GURL& inherited_base_url) {
|
||||||
@@ -82,36 +82,31 @@ diff --git a/third_party/blink/renderer/core/frame/location.cc b/third_party/bli
|
|||||||
#include "third_party/blink/renderer/bindings/core/v8/binding_security.h"
|
#include "third_party/blink/renderer/bindings/core/v8/binding_security.h"
|
||||||
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
|
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
|
||||||
#include "third_party/blink/renderer/core/dom/document.h"
|
#include "third_party/blink/renderer/core/dom/document.h"
|
||||||
@@ -133,12 +134,24 @@ DOMStringList* Location::ancestorOrigins() {
|
@@ -125,8 +126,20 @@ DOMStringList* Location::ancestorOrigins() const {
|
||||||
}
|
auto* origins = MakeGarbageCollected<DOMStringList>();
|
||||||
return ancestor_origins_list_.Get();
|
if (!IsAttached())
|
||||||
}
|
return origins;
|
||||||
-
|
|
||||||
+ if (base::FeatureList::IsEnabled(blink::features::kBlockUrlLeakageSandboxIframe)
|
+ if (base::FeatureList::IsEnabled(blink::features::kBlockUrlLeakageSandboxIframe)
|
||||||
+ && dom_window_->GetFrame()->GetSecurityContext()->IsSandboxed(
|
+ && dom_window_->GetFrame()->GetSecurityContext()->IsSandboxed(
|
||||||
+ network::mojom::WebSandboxFlags::kOrigin)) {
|
+ network::mojom::WebSandboxFlags::kOrigin)) {
|
||||||
+ // not allow any value for sandboxed frames
|
+ // not allow any value for sandboxed frames
|
||||||
+ auto* origins = MakeGarbageCollected<DOMStringList>();
|
|
||||||
+ return origins;
|
+ return origins;
|
||||||
+ }
|
+ }
|
||||||
if (!ancestor_origins_list_ ||
|
for (Frame* frame = dom_window_->GetFrame()->Tree().Parent(); frame;
|
||||||
!RuntimeEnabledFeatures::AncestorOriginsStoredOnDocumentEnabled()) {
|
frame = frame->Tree().Parent()) {
|
||||||
ancestor_origins_list_ = MakeGarbageCollected<DOMStringList>();
|
+ if (base::FeatureList::IsEnabled(blink::features::kBlockUrlLeakageSandboxIframe)
|
||||||
for (Frame* frame = dom_window_->GetFrame()->Tree().Parent(); frame;
|
+ && frame->GetSecurityContext()->IsSandboxed(
|
||||||
frame = frame->Tree().Parent()) {
|
+ network::mojom::WebSandboxFlags::kOrigin)) {
|
||||||
+ if (base::FeatureList::IsEnabled(blink::features::kBlockUrlLeakageSandboxIframe)
|
+ // blocks at first sandbox frame
|
||||||
+ && frame->GetSecurityContext()->IsSandboxed(
|
+ break;
|
||||||
+ network::mojom::WebSandboxFlags::kOrigin)) {
|
+ }
|
||||||
+ // blocks at first sandbox frame
|
origins->Append(
|
||||||
+ break;
|
frame->GetSecurityContext()->GetSecurityOrigin()->ToString());
|
||||||
+ }
|
}
|
||||||
ancestor_origins_list_->Append(
|
|
||||||
frame->GetSecurityContext()->GetSecurityOrigin()->ToString());
|
|
||||||
}
|
|
||||||
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
|
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||||
--- a/third_party/blink/renderer/core/loader/document_loader.cc
|
--- a/third_party/blink/renderer/core/loader/document_loader.cc
|
||||||
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
|
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||||
@@ -851,6 +851,11 @@ WebString DocumentLoader::HttpMethod() const {
|
@@ -827,6 +827,11 @@ WebString DocumentLoader::HttpMethod() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
const AtomicString& DocumentLoader::GetReferrer() const {
|
const AtomicString& DocumentLoader::GetReferrer() const {
|
||||||
@@ -123,7 +118,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
|
|||||||
return referrer_;
|
return referrer_;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2984,6 +2989,13 @@ void DocumentLoader::CommitNavigation() {
|
@@ -2930,6 +2935,13 @@ void DocumentLoader::CommitNavigation() {
|
||||||
response_.HttpHeaderField(http_names::kDocumentPolicyReportOnly));
|
response_.HttpHeaderField(http_names::kDocumentPolicyReportOnly));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +135,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
|
|||||||
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
|
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
|
||||||
--- a/third_party/blink/renderer/core/loader/document_loader.h
|
--- a/third_party/blink/renderer/core/loader/document_loader.h
|
||||||
+++ b/third_party/blink/renderer/core/loader/document_loader.h
|
+++ b/third_party/blink/renderer/core/loader/document_loader.h
|
||||||
@@ -789,7 +789,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
|
@@ -780,7 +780,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
|
||||||
// |archive_|, but won't have |loading_main_document_from_mhtml_archive_| set.
|
// |archive_|, but won't have |loading_main_document_from_mhtml_archive_| set.
|
||||||
bool loading_main_document_from_mhtml_archive_ = false;
|
bool loading_main_document_from_mhtml_archive_ = false;
|
||||||
const bool loading_srcdoc_ = false;
|
const bool loading_srcdoc_ = false;
|
||||||
|
|||||||
@@ -0,0 +1,277 @@
|
|||||||
|
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||||
|
Date: Wed, 30 Oct 2019 11:50:13 +0100
|
||||||
|
Subject: Block 'qjz9zk' or 'trk:' requests
|
||||||
|
|
||||||
|
An info bar is displayed unless the --disable-trkbar command-line flag or the chrome://flag option is used.
|
||||||
|
This patch is based on Iridium's 'net: add "trk:" scheme and help identify URLs being retrieved'
|
||||||
|
|
||||||
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
|
---
|
||||||
|
.../chrome_autocomplete_scheme_classifier.cc | 1 +
|
||||||
|
chrome/browser/history/history_utils.cc | 1 +
|
||||||
|
chrome/browser/ui/singleton_tabs.cc | 5 ++++
|
||||||
|
.../omnibox/browser/autocomplete_input.cc | 8 ++++-
|
||||||
|
components/url_formatter/url_fixer.cc | 4 +++
|
||||||
|
.../child_process_security_policy_impl.cc | 1 +
|
||||||
|
net/BUILD.gn | 2 ++
|
||||||
|
net/url_request/trk_protocol_handler.cc | 25 ++++++++++++++++
|
||||||
|
net/url_request/trk_protocol_handler.h | 30 +++++++++++++++++++
|
||||||
|
net/url_request/url_request.cc | 8 +++++
|
||||||
|
.../url_request_context_builder.cc | 3 ++
|
||||||
|
url/url_constants.h | 1 +
|
||||||
|
url/url_util.cc | 2 ++
|
||||||
|
13 files changed, 90 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 net/url_request/trk_protocol_handler.cc
|
||||||
|
create mode 100644 net/url_request/trk_protocol_handler.h
|
||||||
|
|
||||||
|
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc b/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
|
||||||
|
--- a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
|
||||||
|
+++ b/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
|
||||||
|
@@ -56,6 +56,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForScheme(
|
||||||
|
if (base::IsStringASCII(scheme) &&
|
||||||
|
(ProfileIOData::IsHandledProtocol(scheme) ||
|
||||||
|
base::EqualsCaseInsensitiveASCII(scheme, content::kViewSourceScheme) ||
|
||||||
|
+ base::EqualsCaseInsensitiveASCII(scheme, url::kTraceScheme) ||
|
||||||
|
base::EqualsCaseInsensitiveASCII(scheme, url::kJavaScriptScheme) ||
|
||||||
|
base::EqualsCaseInsensitiveASCII(scheme, url::kDataScheme))) {
|
||||||
|
return metrics::OmniboxInputType::URL;
|
||||||
|
diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/history_utils.cc
|
||||||
|
--- a/chrome/browser/history/history_utils.cc
|
||||||
|
+++ b/chrome/browser/history/history_utils.cc
|
||||||
|
@@ -22,6 +22,7 @@ bool CanAddURLToHistory(const GURL& url) {
|
||||||
|
url.SchemeIs(content::kChromeUIScheme) ||
|
||||||
|
url.SchemeIs(content::kChromeUIUntrustedScheme) ||
|
||||||
|
url.SchemeIs(content::kViewSourceScheme) ||
|
||||||
|
+ url.SchemeIs(url::kTraceScheme) ||
|
||||||
|
url.SchemeIs(chrome::kChromeNativeScheme) ||
|
||||||
|
url.SchemeIs(chrome::kChromeSearchScheme) ||
|
||||||
|
url.SchemeIs(dom_distiller::kDomDistillerScheme))
|
||||||
|
diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_tabs.cc
|
||||||
|
--- a/chrome/browser/ui/singleton_tabs.cc
|
||||||
|
+++ b/chrome/browser/ui/singleton_tabs.cc
|
||||||
|
@@ -128,6 +128,11 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // trk: URLs must not be rewritten
|
||||||
|
+ if (tab_url.SchemeIs(url::kTraceScheme)) {
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
GURL rewritten_tab_url = tab_url;
|
||||||
|
content::BrowserURLHandler::GetInstance()->RewriteURLIfNecessary(
|
||||||
|
&rewritten_tab_url, browser->profile());
|
||||||
|
diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnibox/browser/autocomplete_input.cc
|
||||||
|
--- a/components/omnibox/browser/autocomplete_input.cc
|
||||||
|
+++ b/components/omnibox/browser/autocomplete_input.cc
|
||||||
|
@@ -96,10 +96,15 @@ void OffsetComponentsExcludingScheme(url::Parsed* parts, int offset) {
|
||||||
|
bool HasScheme(const std::u16string& input, const char* scheme) {
|
||||||
|
std::string utf8_input(base::UTF16ToUTF8(input));
|
||||||
|
url::Component view_source_scheme;
|
||||||
|
+
|
||||||
|
+ if (url::FindAndCompareScheme(utf8_input, url::kTraceScheme, &view_source_scheme)) {
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
if (url::FindAndCompareScheme(utf8_input, kViewSourceScheme,
|
||||||
|
&view_source_scheme)) {
|
||||||
|
utf8_input.erase(0, view_source_scheme.end() + 1);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
return url::FindAndCompareScheme(utf8_input, scheme, nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -582,7 +587,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
|
||||||
|
// For the view-source and blob schemes, we should emphasize the host of the
|
||||||
|
// URL qualified by the view-source or blob prefix.
|
||||||
|
if ((base::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) ||
|
||||||
|
- base::EqualsCaseInsensitiveASCII(scheme_str, url::kBlobScheme)) &&
|
||||||
|
+ base::EqualsCaseInsensitiveASCII(scheme_str, url::kBlobScheme) ||
|
||||||
|
+ base::EqualsCaseInsensitiveASCII(scheme_str, url::kTraceScheme)) &&
|
||||||
|
(static_cast<int>(text.length()) > after_scheme_and_colon)) {
|
||||||
|
// Obtain the URL prefixed by view-source or blob and parse it.
|
||||||
|
std::u16string real_url(text.substr(after_scheme_and_colon));
|
||||||
|
diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc
|
||||||
|
--- a/components/url_formatter/url_fixer.cc
|
||||||
|
+++ b/components/url_formatter/url_fixer.cc
|
||||||
|
@@ -607,6 +607,10 @@ GURL FixupURLInternal(const std::string& text,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (scheme == url::kTraceScheme) {
|
||||||
|
+ return GURL();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
// We handle the file scheme separately.
|
||||||
|
if (scheme == url::kFileScheme) {
|
||||||
|
return GURL(parts.scheme.is_valid() ? text : FixupPath(text));
|
||||||
|
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
|
||||||
|
--- a/content/browser/child_process_security_policy_impl.cc
|
||||||
|
+++ b/content/browser/child_process_security_policy_impl.cc
|
||||||
|
@@ -951,6 +951,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
|
||||||
|
RegisterPseudoScheme(url::kJavaScriptScheme);
|
||||||
|
RegisterPseudoScheme(kViewSourceScheme);
|
||||||
|
RegisterPseudoScheme(kGoogleChromeScheme);
|
||||||
|
+ RegisterWebSafeScheme(url::kTraceScheme);
|
||||||
|
}
|
||||||
|
|
||||||
|
ChildProcessSecurityPolicyImpl::~ChildProcessSecurityPolicyImpl() {
|
||||||
|
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||||
|
--- a/net/BUILD.gn
|
||||||
|
+++ b/net/BUILD.gn
|
||||||
|
@@ -1085,6 +1085,8 @@ component("net") {
|
||||||
|
"url_request/url_request_http_job.cc",
|
||||||
|
"url_request/url_request_http_job.h",
|
||||||
|
"url_request/url_request_interceptor.cc",
|
||||||
|
+ "url_request/trk_protocol_handler.cc",
|
||||||
|
+ "url_request/trk_protocol_handler.h",
|
||||||
|
"url_request/url_request_interceptor.h",
|
||||||
|
"url_request/url_request_job.cc",
|
||||||
|
"url_request/url_request_job.h",
|
||||||
|
diff --git a/net/url_request/trk_protocol_handler.cc b/net/url_request/trk_protocol_handler.cc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/net/url_request/trk_protocol_handler.cc
|
||||||
|
@@ -0,0 +1,25 @@
|
||||||
|
+// Copyright (c) 2018 The ungoogled-chromium Authors. All rights reserved.
|
||||||
|
+// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
+// found in the LICENSE file.
|
||||||
|
+
|
||||||
|
+#include "net/url_request/trk_protocol_handler.h"
|
||||||
|
+
|
||||||
|
+#include "base/logging.h"
|
||||||
|
+#include "net/base/net_errors.h"
|
||||||
|
+#include "net/url_request/url_request_error_job.h"
|
||||||
|
+
|
||||||
|
+namespace net {
|
||||||
|
+
|
||||||
|
+TrkProtocolHandler::TrkProtocolHandler() = default;
|
||||||
|
+
|
||||||
|
+std::unique_ptr<URLRequestJob> TrkProtocolHandler::CreateJob(
|
||||||
|
+ URLRequest* request) const {
|
||||||
|
+ LOG(ERROR) << "Blocked URL in TrkProtocolHandler: " << request->original_url();
|
||||||
|
+ return std::make_unique<URLRequestErrorJob>(request, ERR_BLOCKED_BY_CLIENT);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+bool TrkProtocolHandler::IsSafeRedirectTarget(const GURL& location) const {
|
||||||
|
+ return true;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+} // namespace net
|
||||||
|
diff --git a/net/url_request/trk_protocol_handler.h b/net/url_request/trk_protocol_handler.h
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/net/url_request/trk_protocol_handler.h
|
||||||
|
@@ -0,0 +1,30 @@
|
||||||
|
+// Copyright (c) 2018 The ungoogled-chromium Authors. All rights reserved.
|
||||||
|
+// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
+// found in the LICENSE file.
|
||||||
|
+
|
||||||
|
+#ifndef NET_URL_REQUEST_TRK_PROTOCOL_HANDLER_H_
|
||||||
|
+#define NET_URL_REQUEST_TRK_PROTOCOL_HANDLER_H_
|
||||||
|
+
|
||||||
|
+#include "base/compiler_specific.h"
|
||||||
|
+#include "net/base/net_export.h"
|
||||||
|
+#include "net/url_request/url_request_job_factory.h"
|
||||||
|
+
|
||||||
|
+namespace net {
|
||||||
|
+
|
||||||
|
+class URLRequestJob;
|
||||||
|
+
|
||||||
|
+// Implements a ProtocolHandler for Trk jobs.
|
||||||
|
+class NET_EXPORT TrkProtocolHandler
|
||||||
|
+ : public URLRequestJobFactory::ProtocolHandler {
|
||||||
|
+ public:
|
||||||
|
+ TrkProtocolHandler(const TrkProtocolHandler&) = delete;
|
||||||
|
+ TrkProtocolHandler& operator=(const TrkProtocolHandler&) = delete;
|
||||||
|
+
|
||||||
|
+ TrkProtocolHandler();
|
||||||
|
+ std::unique_ptr<URLRequestJob> CreateJob(URLRequest* request) const override;
|
||||||
|
+ bool IsSafeRedirectTarget(const GURL& location) const override;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+} // namespace net
|
||||||
|
+
|
||||||
|
+#endif // NET_URL_REQUEST_TRK_PROTOCOL_HANDLER_H_
|
||||||
|
diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
||||||
|
--- a/net/url_request/url_request.cc
|
||||||
|
+++ b/net/url_request/url_request.cc
|
||||||
|
@@ -15,6 +15,7 @@
|
||||||
|
#include "base/notreached.h"
|
||||||
|
#include "base/rand_util.h"
|
||||||
|
#include "base/strings/utf_string_conversions.h"
|
||||||
|
+#include "base/strings/string_util.h"
|
||||||
|
#include "base/synchronization/lock.h"
|
||||||
|
#include "base/task/single_thread_task_runner.h"
|
||||||
|
#include "base/types/optional_util.h"
|
||||||
|
@@ -53,6 +54,7 @@
|
||||||
|
#include "net/url_request/url_request_redirect_job.h"
|
||||||
|
#include "url/gurl.h"
|
||||||
|
#include "url/origin.h"
|
||||||
|
+#include "url/url_constants.h"
|
||||||
|
|
||||||
|
namespace net {
|
||||||
|
|
||||||
|
@@ -635,6 +637,12 @@ URLRequest::URLRequest(base::PassKey<URLRequestContext> pass_key,
|
||||||
|
// Sanity check out environment.
|
||||||
|
DCHECK(base::SingleThreadTaskRunner::HasCurrentDefault());
|
||||||
|
|
||||||
|
+ if (!url.SchemeIs(url::kTraceScheme) &&
|
||||||
|
+ base::EndsWith(url.host(), "qjz9zk", base::CompareCase::INSENSITIVE_ASCII)) {
|
||||||
|
+ LOG(ERROR) << "Block URL in URLRequest: " << url;
|
||||||
|
+ url_chain_[0] = GURL(url::kTraceScheme + (":" + url.possibly_invalid_spec()));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
context->url_requests()->insert(this);
|
||||||
|
net_log_.BeginEvent(NetLogEventType::REQUEST_ALIVE, [&] {
|
||||||
|
return NetLogURLRequestConstructorParams(url, priority_,
|
||||||
|
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
|
||||||
|
--- a/net/url_request/url_request_context_builder.cc
|
||||||
|
+++ b/net/url_request/url_request_context_builder.cc
|
||||||
|
@@ -49,6 +49,7 @@
|
||||||
|
#include "net/socket/network_binding_client_socket_factory.h"
|
||||||
|
#include "net/ssl/ssl_config_service_defaults.h"
|
||||||
|
#include "net/url_request/static_http_user_agent_settings.h"
|
||||||
|
+#include "net/url_request/trk_protocol_handler.h"
|
||||||
|
#include "net/url_request/url_request_context.h"
|
||||||
|
#include "net/url_request/url_request_job_factory.h"
|
||||||
|
#include "url/url_constants.h"
|
||||||
|
@@ -601,6 +602,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
|
||||||
|
job_factory->SetProtocolHandler(scheme_handler.first,
|
||||||
|
std::move(scheme_handler.second));
|
||||||
|
}
|
||||||
|
+ job_factory->SetProtocolHandler(url::kTraceScheme,
|
||||||
|
+ std::make_unique<TrkProtocolHandler>());
|
||||||
|
protocol_handlers_.clear();
|
||||||
|
|
||||||
|
context->set_job_factory(std::move(job_factory));
|
||||||
|
diff --git a/url/url_constants.h b/url/url_constants.h
|
||||||
|
--- a/url/url_constants.h
|
||||||
|
+++ b/url/url_constants.h
|
||||||
|
@@ -34,6 +34,7 @@ inline constexpr char16_t kDataScheme16[] = u"data";
|
||||||
|
inline constexpr char kDrivefsScheme[] = "drivefs";
|
||||||
|
inline constexpr char kFileScheme[] = "file";
|
||||||
|
inline constexpr char16_t kFileScheme16[] = u"file";
|
||||||
|
+inline constexpr char kTraceScheme[] = "trk";
|
||||||
|
inline constexpr char kFileSystemScheme[] = "filesystem";
|
||||||
|
inline constexpr char16_t kFileSystemScheme16[] = u"filesystem";
|
||||||
|
inline constexpr char kFtpScheme[] = "ftp";
|
||||||
|
diff --git a/url/url_util.cc b/url/url_util.cc
|
||||||
|
--- a/url/url_util.cc
|
||||||
|
+++ b/url/url_util.cc
|
||||||
|
@@ -53,6 +53,7 @@ struct SchemeRegistry {
|
||||||
|
std::vector<SchemeWithType> standard_schemes = {
|
||||||
|
{kHttpsScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
|
||||||
|
{kHttpScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
|
||||||
|
+ {kTraceScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
|
||||||
|
// Yes, file URLs can have a hostname, so file URLs should be handled as
|
||||||
|
// "standard". File URLs never have a port as specified by the SchemeType
|
||||||
|
// field. Unlike other SCHEME_WITH_HOST schemes, the 'host' in a file
|
||||||
|
@@ -98,6 +99,7 @@ struct SchemeRegistry {
|
||||||
|
kAboutScheme,
|
||||||
|
kJavaScriptScheme,
|
||||||
|
kDataScheme,
|
||||||
|
+ kTraceScheme,
|
||||||
|
};
|
||||||
|
|
||||||
|
// Schemes that can be sent CORS requests.
|
||||||
|
--
|
||||||
@@ -28,48 +28,54 @@ diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/c
|
|||||||
<item
|
<item
|
||||||
android:id="@+id/import_menu_id"
|
android:id="@+id/import_menu_id"
|
||||||
android:icon="@drawable/ic_folder_blue_24dp"
|
android:icon="@drawable/ic_folder_blue_24dp"
|
||||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
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/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||||
@@ -28,6 +28,7 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega
|
@@ -26,6 +26,8 @@ import java.util.ArrayList;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
+import java.util.HashSet;
|
|
||||||
|
|
||||||
|
+import java.util.HashSet;
|
||||||
|
+
|
||||||
/**
|
/**
|
||||||
* Main toolbar of bookmark UI. It is responsible for displaying title and buttons associated with
|
* Main toolbar of bookmark UI. It is responsible for displaying title and buttons associated with
|
||||||
@@ -197,6 +198,11 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
* the current context.
|
||||||
|
@@ -186,12 +188,16 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||||
void setCurrentFolder(BookmarkId folder) {
|
void setCurrentFolder(BookmarkId folder) {
|
||||||
mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
|
mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
|
||||||
enableImportExportMenu();
|
enableImportExportMenu();
|
||||||
+ enableSelectAllMenu();
|
+ enableSelectAllMenu();
|
||||||
+ }
|
}
|
||||||
|
|
||||||
|
void enableImportExportMenu() {
|
||||||
|
getMenu().findItem(R.id.import_menu_id).setVisible(true);
|
||||||
|
getMenu().findItem(R.id.export_menu_id).setVisible(true);
|
||||||
|
}
|
||||||
+
|
+
|
||||||
+ void enableSelectAllMenu() {
|
+ void enableSelectAllMenu() {
|
||||||
+ getMenu().findItem(R.id.select_all_menu_id).setVisible(true);
|
+ getMenu().findItem(R.id.select_all_menu_id).setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void enableImportExportMenu() {
|
void setNavigateBackRunnable(Runnable navigateBackRunnable) {
|
||||||
@@ -233,6 +239,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
@@ -218,6 +224,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||||
mExportBookmarkRunnable.run();
|
mExportBookmarkRunnable.run();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
+ if (menuItem.getItemId() == R.id.select_all_menu_id) {
|
+ if (menuItem.getItemId() == R.id.select_all_menu_id) {
|
||||||
+ if (mBookmarkModel.isBookmarkModelLoaded()) {
|
+ if (mBookmarkModel.isBookmarkModelLoaded()) {
|
||||||
+ List<BookmarkId> childs = mBookmarkModel.getChildIds(mCurrentFolder.getId());
|
+ List<BookmarkItem> items = mBookmarkModel.getBookmarksForFolder(mCurrentFolder.getId());
|
||||||
+ HashSet<BookmarkId> ids = new HashSet<>(childs.size());
|
+ HashSet<BookmarkId> ids = new HashSet<>(items.size());
|
||||||
+ for (BookmarkId item : childs) {
|
+ for (BookmarkItem item : items) {
|
||||||
+ ids.add(item);
|
+ ids.add(item.getId());
|
||||||
+ }
|
+ }
|
||||||
+ mSelectionDelegate.setSelectedItems(ids);
|
+ mSelectionDelegate.setSelectedItems(ids);
|
||||||
+ }
|
+ }
|
||||||
+ return true;
|
+ return true;
|
||||||
+ }
|
+ }
|
||||||
return assumeNonNull(mMenuIdClickedFunction).apply(menuItem.getItemId());
|
return mMenuIdClickedFunction.apply(menuItem.getItemId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -255,6 +272,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
@@ -235,6 +252,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||||
|
|
||||||
getMenu().findItem(R.id.import_menu_id).setVisible(mCurrentFolder != null);
|
getMenu().findItem(R.id.import_menu_id).setVisible(mCurrentFolder != null);
|
||||||
getMenu().findItem(R.id.export_menu_id).setVisible(mCurrentFolder != null);
|
getMenu().findItem(R.id.export_menu_id).setVisible(mCurrentFolder != null);
|
||||||
@@ -80,7 +86,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -277,6 +277,9 @@ CHAR_LIMIT guidelines:
|
@@ -246,6 +246,9 @@ CHAR_LIMIT guidelines:
|
||||||
<message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR_LIMIT=32]">
|
<message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR_LIMIT=32]">
|
||||||
Sites
|
Sites
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -10,10 +10,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
|
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
|
||||||
--- a/chrome/android/chrome_public_apk_tmpl.gni
|
--- a/chrome/android/chrome_public_apk_tmpl.gni
|
||||||
+++ b/chrome/android/chrome_public_apk_tmpl.gni
|
+++ b/chrome/android/chrome_public_apk_tmpl.gni
|
||||||
@@ -23,7 +23,7 @@ declare_args() {
|
@@ -26,7 +26,7 @@ declare_args() {
|
||||||
# Android package name to use when compiling the public chrome targets
|
# WebView providers which declare one of a handful of package names. See
|
||||||
# (chrome_public_apk, trichrome_chrome_bundle, etc. as well as the
|
# https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/build-instructions.md#Changing-package-name
|
||||||
# *_bundle variants). This defaults to the Chromium browser package name.
|
# for details.
|
||||||
- chrome_public_manifest_package = "org.chromium.chrome"
|
- chrome_public_manifest_package = "org.chromium.chrome"
|
||||||
+ chrome_public_manifest_package = "org.bromite.bromite"
|
+ chrome_public_manifest_package = "org.bromite.bromite"
|
||||||
if (use_stable_package_name_for_trichrome) {
|
if (use_stable_package_name_for_trichrome) {
|
||||||
|
|||||||
@@ -21,18 +21,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
.../java/res/xml/adblock_preferences.xml | 25 ++
|
.../java/res/xml/adblock_preferences.xml | 25 ++
|
||||||
.../android/java/res/xml/main_preferences.xml | 5 +
|
.../android/java/res/xml/main_preferences.xml | 5 +
|
||||||
.../browser/settings/AdBlockEditor.java | 91 ++++++
|
.../browser/settings/AdBlockEditor.java | 91 ++++++
|
||||||
.../browser/settings/AdBlockPreferences.java | 76 +++++
|
.../browser/settings/AdBlockPreferences.java | 58 ++++
|
||||||
.../browser/settings/SettingsActivity.java | 3 +
|
.../chrome/browser/tabmodel/TabModelImpl.java | 4 +-
|
||||||
chrome/app/generated_resources.grd | 10 +
|
chrome/app/generated_resources.grd | 10 +
|
||||||
chrome/browser/after_startup_task_utils.cc | 5 +
|
chrome/browser/after_startup_task_utils.cc | 4 +
|
||||||
chrome/browser/browser_process.h | 5 +
|
chrome/browser/browser_process.h | 6 +
|
||||||
chrome/browser/browser_process_impl.cc | 30 ++
|
chrome/browser/browser_process_impl.cc | 28 ++
|
||||||
chrome/browser/browser_process_impl.h | 2 +
|
chrome/browser/browser_process_impl.h | 2 +
|
||||||
chrome/browser/chrome_browser_main.cc | 3 +
|
chrome/browser/chrome_browser_main.cc | 3 +
|
||||||
chrome/browser/flags/BUILD.gn | 3 +
|
chrome/browser/flags/BUILD.gn | 3 +
|
||||||
.../flags/android/adblock_native_gateway.cc | 33 ++
|
.../flags/android/adblock_native_gateway.cc | 31 ++
|
||||||
.../browser/flags/AdBlockNativeGateway.java | 30 ++
|
.../browser/flags/AdBlockNativeGateway.java | 30 ++
|
||||||
.../net/system_network_context_manager.cc | 4 +
|
.../net/system_network_context_manager.cc | 4 +
|
||||||
|
.../sessions/session_restore_android.cc | 7 +-
|
||||||
.../strings/android_chrome_strings.grd | 14 +
|
.../strings/android_chrome_strings.grd | 14 +
|
||||||
chrome/common/pref_names.h | 5 +
|
chrome/common/pref_names.h | 5 +
|
||||||
.../strings/android/site_settings.grdp | 3 +
|
.../strings/android/site_settings.grdp | 3 +
|
||||||
@@ -43,14 +44,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
.../component_updater/download_filters_task.h | 129 ++++++++
|
.../component_updater/download_filters_task.h | 129 ++++++++
|
||||||
...ent_subresource_filter_throttle_manager.cc | 15 +
|
...ent_subresource_filter_throttle_manager.cc | 15 +
|
||||||
...tent_subresource_filter_throttle_manager.h | 2 +
|
...tent_subresource_filter_throttle_manager.h | 2 +
|
||||||
.../content/browser/ruleset_service.cc | 44 ++-
|
.../content/shared/browser/ruleset_service.cc | 47 ++-
|
||||||
.../content/browser/ruleset_service.h | 8 +-
|
.../content/shared/browser/ruleset_service.h | 8 +-
|
||||||
.../unindexed_ruleset_stream_generator.cc | 3 +
|
.../unindexed_ruleset_stream_generator.cc | 3 +
|
||||||
.../core/browser/ruleset_version.h | 4 +
|
.../core/browser/ruleset_version.h | 4 +
|
||||||
.../browser/subresource_filter_features.cc | 118 +-------
|
.../browser/subresource_filter_features.cc | 114 +------
|
||||||
.../core/browser/verified_ruleset_dealer.cc | 4 +
|
.../core/browser/verified_ruleset_dealer.cc | 4 +
|
||||||
.../core/common/indexed_ruleset.cc | 5 +-
|
.../core/common/indexed_ruleset.cc | 5 +-
|
||||||
38 files changed, 1288 insertions(+), 127 deletions(-)
|
39 files changed, 1271 insertions(+), 129 deletions(-)
|
||||||
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
|
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
|
||||||
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
|
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
|
||||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
||||||
@@ -65,7 +66,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||||
--- a/chrome/android/BUILD.gn
|
--- a/chrome/android/BUILD.gn
|
||||||
+++ b/chrome/android/BUILD.gn
|
+++ b/chrome/android/BUILD.gn
|
||||||
@@ -317,6 +317,7 @@ if (_is_default_toolchain) {
|
@@ -322,6 +322,7 @@ if (current_toolchain == default_toolchain) {
|
||||||
"//chrome/android/features/tab_ui/public:ui_java_resources",
|
"//chrome/android/features/tab_ui/public:ui_java_resources",
|
||||||
"//chrome/android/modules/stack_unwinder/provider:java",
|
"//chrome/android/modules/stack_unwinder/provider:java",
|
||||||
"//chrome/android/webapk/libs/client:client_java",
|
"//chrome/android/webapk/libs/client:client_java",
|
||||||
@@ -76,18 +77,18 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|||||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||||
--- a/chrome/android/chrome_java_resources.gni
|
--- a/chrome/android/chrome_java_resources.gni
|
||||||
+++ b/chrome/android/chrome_java_resources.gni
|
+++ b/chrome/android/chrome_java_resources.gni
|
||||||
@@ -438,6 +438,7 @@ chrome_java_resources = [
|
@@ -436,6 +436,7 @@ chrome_java_resources = [
|
||||||
|
"java/res/layout/account_divider_preference.xml",
|
||||||
"java/res/layout/account_management_account_row.xml",
|
"java/res/layout/account_management_account_row.xml",
|
||||||
"java/res/layout/app_history_filter.xml",
|
"java/res/layout/app_history_filter.xml",
|
||||||
"java/res/layout/auto_pip_permission_dialog.xml",
|
|
||||||
+ "java/res/layout/adblock_editor.xml",
|
+ "java/res/layout/adblock_editor.xml",
|
||||||
"java/res/layout/auto_sign_in_first_run_dialog.xml",
|
"java/res/layout/auto_sign_in_first_run_dialog.xml",
|
||||||
"java/res/layout/autofill_billing_address_dropdown.xml",
|
"java/res/layout/autofill_billing_address_dropdown.xml",
|
||||||
"java/res/layout/autofill_card_name_and_number.xml",
|
"java/res/layout/autofill_card_name_and_number.xml",
|
||||||
@@ -650,6 +651,7 @@ chrome_java_resources = [
|
@@ -624,6 +625,7 @@ chrome_java_resources = [
|
||||||
|
"java/res/xml/about_chrome_preferences.xml",
|
||||||
"java/res/xml/account_management_preferences.xml",
|
"java/res/xml/account_management_preferences.xml",
|
||||||
"java/res/xml/ad_services_config.xml",
|
"java/res/xml/ad_services_config.xml",
|
||||||
"java/res/xml/appearance_preferences.xml",
|
|
||||||
+ "java/res/xml/adblock_preferences.xml",
|
+ "java/res/xml/adblock_preferences.xml",
|
||||||
"java/res/xml/bookmark_widget_info.xml",
|
"java/res/xml/bookmark_widget_info.xml",
|
||||||
"java/res/xml/clear_browsing_data_preferences.xml",
|
"java/res/xml/clear_browsing_data_preferences.xml",
|
||||||
@@ -95,7 +96,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
|||||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||||
--- a/chrome/android/chrome_java_sources.gni
|
--- a/chrome/android/chrome_java_sources.gni
|
||||||
+++ b/chrome/android/chrome_java_sources.gni
|
+++ b/chrome/android/chrome_java_sources.gni
|
||||||
@@ -992,6 +992,8 @@ chrome_java_sources = [
|
@@ -941,6 +941,8 @@ chrome_java_sources = [
|
||||||
"java/src/org/chromium/chrome/browser/permissions/PermissionBlockedDialog.java",
|
"java/src/org/chromium/chrome/browser/permissions/PermissionBlockedDialog.java",
|
||||||
"java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java",
|
"java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java",
|
||||||
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java",
|
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java",
|
||||||
@@ -179,7 +180,7 @@ new file mode 100644
|
|||||||
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml
|
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml
|
||||||
--- a/chrome/android/java/res/values/styles.xml
|
--- a/chrome/android/java/res/values/styles.xml
|
||||||
+++ b/chrome/android/java/res/values/styles.xml
|
+++ b/chrome/android/java/res/values/styles.xml
|
||||||
@@ -339,6 +339,24 @@ found in the LICENSE file.
|
@@ -256,6 +256,24 @@ found in the LICENSE file.
|
||||||
</item>
|
</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@@ -251,9 +252,9 @@ new file mode 100644
|
|||||||
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/main_preferences.xml
|
--- a/chrome/android/java/res/xml/main_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
||||||
@@ -119,6 +119,11 @@ found in the LICENSE file.
|
@@ -120,6 +120,11 @@ for the previous order (main_preferences_legacy). -->
|
||||||
android:key="toolbar_shortcut"
|
android:key="toolbar_shortcut"
|
||||||
android:order="22"
|
android:order="21"
|
||||||
android:title="@string/toolbar_shortcut"/>
|
android:title="@string/toolbar_shortcut"/>
|
||||||
+ <Preference
|
+ <Preference
|
||||||
+ android:fragment="org.chromium.chrome.browser.settings.AdBlockPreferences"
|
+ android:fragment="org.chromium.chrome.browser.settings.AdBlockPreferences"
|
||||||
@@ -262,7 +263,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
|
|||||||
+ android:title="@string/prefs_adblock"/>
|
+ android:title="@string/prefs_adblock"/>
|
||||||
<Preference
|
<Preference
|
||||||
android:key="notifications"
|
android:key="notifications"
|
||||||
android:order="23"
|
android:order="22"
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@@ -363,7 +364,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBloc
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java
|
||||||
@@ -0,0 +1,76 @@
|
@@ -0,0 +1,58 @@
|
||||||
+// Copyright 2015 The Chromium Authors. All rights reserved.
|
+// Copyright 2015 The Chromium Authors. All rights reserved.
|
||||||
+// Use of this source code is governed by a BSD-style license that can be
|
+// Use of this source code is governed by a BSD-style license that can be
|
||||||
+// found in the LICENSE file.
|
+// found in the LICENSE file.
|
||||||
@@ -373,48 +374,30 @@ new file mode 100644
|
|||||||
+import android.os.Bundle;
|
+import android.os.Bundle;
|
||||||
+import androidx.preference.Preference;
|
+import androidx.preference.Preference;
|
||||||
+import androidx.preference.PreferenceFragmentCompat;
|
+import androidx.preference.PreferenceFragmentCompat;
|
||||||
+
|
+import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
||||||
+import org.chromium.base.supplier.MonotonicObservableSupplier;
|
|
||||||
+import org.chromium.base.supplier.ObservableSuppliers;
|
|
||||||
+import org.chromium.base.supplier.SettableMonotonicObservableSupplier;
|
|
||||||
+import java.util.function.Supplier;
|
|
||||||
+
|
+
|
||||||
+import org.chromium.content_public.browser.BrowserContextHandle;
|
+import org.chromium.content_public.browser.BrowserContextHandle;
|
||||||
+import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
|
||||||
+import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment;
|
+import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment;
|
||||||
+import org.chromium.components.browser_ui.site_settings.WebsitePreferenceBridge;
|
+import org.chromium.components.browser_ui.site_settings.WebsitePreferenceBridge;
|
||||||
+import org.chromium.components.content_settings.ContentSettingsType;
|
+import org.chromium.components.content_settings.ContentSettingsType;
|
||||||
+import org.chromium.components.browser_ui.settings.SettingsUtils;
|
+import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||||
+import org.chromium.components.browser_ui.settings.SettingsFragment;
|
|
||||||
+
|
|
||||||
+import org.chromium.chrome.R;
|
|
||||||
+import org.chromium.chrome.browser.flags.AdBlockNativeGateway;
|
+import org.chromium.chrome.browser.flags.AdBlockNativeGateway;
|
||||||
+import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment;
|
+import androidx.annotation.VisibleForTesting;
|
||||||
|
+import org.chromium.chrome.R;
|
||||||
+
|
+
|
||||||
+/**
|
+/**
|
||||||
+ * Fragment that allows the user to configure AdBlock related preferences.
|
+ * Fragment that allows the user to configure AdBlock related preferences.
|
||||||
+ */
|
+ */
|
||||||
+public class AdBlockPreferences extends ChromeBaseSettingsFragment {
|
+public class AdBlockPreferences extends BaseSiteSettingsFragment {
|
||||||
|
+ @VisibleForTesting
|
||||||
+ public static final String PREF_ADBLOCK_SWITCH = "adblock_switch";
|
+ public static final String PREF_ADBLOCK_SWITCH = "adblock_switch";
|
||||||
+ private static final String PREF_ADBLOCK_EDIT = "adblock_edit";
|
+ private static final String PREF_ADBLOCK_EDIT = "adblock_edit";
|
||||||
+
|
+
|
||||||
+ private Preference mAdBlockEdit;
|
+ private Preference mAdBlockEdit;
|
||||||
+ private final SettableMonotonicObservableSupplier<String> mPageTitle =
|
|
||||||
+ ObservableSuppliers.createMonotonic();
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public MonotonicObservableSupplier<String> getPageTitle() {
|
|
||||||
+ return mPageTitle;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public @SettingsFragment.AnimationType int getAnimationType() {
|
|
||||||
+ return SettingsFragment.AnimationType.PROPERTY;
|
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||||
+ mPageTitle.set(getString(R.string.options_adblock_title));
|
+ getActivity().setTitle(R.string.options_adblock_title);
|
||||||
+ SettingsUtils.addPreferencesFromResource(this, R.xml.adblock_preferences);
|
+ SettingsUtils.addPreferencesFromResource(this, R.xml.adblock_preferences);
|
||||||
+
|
+
|
||||||
+ ChromeSwitchPreference mAdBlockSwitch =
|
+ ChromeSwitchPreference mAdBlockSwitch =
|
||||||
@@ -440,30 +423,24 @@ new file mode 100644
|
|||||||
+ updateCurrentAdBlockUrl();
|
+ updateCurrentAdBlockUrl();
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
|
||||||
@@ -109,6 +109,8 @@ import java.util.List;
|
@@ -923,9 +923,7 @@ public class TabModelImpl extends TabModelJniBridge {
|
||||||
import java.util.Locale;
|
.createTabWithWebContents(
|
||||||
import java.util.Map;
|
parent,
|
||||||
|
webContents,
|
||||||
|
- select
|
||||||
|
- ? TabLaunchType.FROM_RECENT_TABS_FOREGROUND
|
||||||
|
- : TabLaunchType.FROM_RECENT_TABS);
|
||||||
|
+ TabLaunchType.FROM_LINK);
|
||||||
|
}
|
||||||
|
|
||||||
+import org.chromium.chrome.browser.settings.AdBlockEditor;
|
@Override
|
||||||
+
|
|
||||||
/**
|
|
||||||
* The Chrome settings activity.
|
|
||||||
*
|
|
||||||
@@ -1376,6 +1378,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
|
||||||
&& !MAIN_FRAGMENT_TAG.equals(fragment.getTag())) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
+ if (fragment instanceof AdBlockEditor) return;
|
|
||||||
|
|
||||||
String className = fragment.getClass().getSimpleName();
|
|
||||||
RecordHistogram.recordSparseHistogram(
|
|
||||||
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
|
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
|
||||||
--- a/chrome/app/generated_resources.grd
|
--- a/chrome/app/generated_resources.grd
|
||||||
+++ b/chrome/app/generated_resources.grd
|
+++ b/chrome/app/generated_resources.grd
|
||||||
@@ -17455,6 +17455,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
|
@@ -16490,6 +16490,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
|
||||||
Never show this again.
|
Never show this again.
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
@@ -483,17 +460,16 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
|||||||
diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc
|
diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc
|
||||||
--- a/chrome/browser/after_startup_task_utils.cc
|
--- a/chrome/browser/after_startup_task_utils.cc
|
||||||
+++ b/chrome/browser/after_startup_task_utils.cc
|
+++ b/chrome/browser/after_startup_task_utils.cc
|
||||||
@@ -24,6 +24,9 @@
|
@@ -29,6 +29,8 @@
|
||||||
#include "chrome/browser/ui/ash/login/login_display_host.h"
|
#include "chromeos/startup/browser_params_proxy.h"
|
||||||
#endif
|
#endif // BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||||
|
|
||||||
+#include "chrome/browser/browser_process.h"
|
+#include "chrome/browser/browser_process.h"
|
||||||
+#include "components/component_updater/adblock_updater_service.h"
|
|
||||||
+
|
+
|
||||||
using content::BrowserThread;
|
using content::BrowserThread;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@@ -129,6 +132,8 @@ void SetBrowserStartupIsComplete() {
|
@@ -134,6 +136,8 @@ void SetBrowserStartupIsComplete() {
|
||||||
}
|
}
|
||||||
GetAfterStartupTasks().clear();
|
GetAfterStartupTasks().clear();
|
||||||
GetAfterStartupTasks().shrink_to_fit();
|
GetAfterStartupTasks().shrink_to_fit();
|
||||||
@@ -505,7 +481,15 @@ diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_s
|
|||||||
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
||||||
--- a/chrome/browser/browser_process.h
|
--- a/chrome/browser/browser_process.h
|
||||||
+++ b/chrome/browser/browser_process.h
|
+++ b/chrome/browser/browser_process.h
|
||||||
@@ -96,6 +96,10 @@ namespace component_updater {
|
@@ -32,6 +32,7 @@
|
||||||
|
#include "chrome/common/buildflags.h"
|
||||||
|
#include "components/safe_browsing/buildflags.h"
|
||||||
|
#include "media/media_buildflags.h"
|
||||||
|
+#include "components/component_updater/adblock_updater_service.h"
|
||||||
|
|
||||||
|
class BackgroundModeManager;
|
||||||
|
class BrowserProcessPlatformPart;
|
||||||
|
@@ -89,6 +90,10 @@ namespace component_updater {
|
||||||
class ComponentUpdateService;
|
class ComponentUpdateService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -516,27 +500,18 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
|||||||
namespace gcm {
|
namespace gcm {
|
||||||
class GCMDriver;
|
class GCMDriver;
|
||||||
}
|
}
|
||||||
@@ -294,6 +298,7 @@ class BrowserProcess {
|
@@ -269,6 +274,7 @@ class BrowserProcess {
|
||||||
virtual activity_reporter::ActivityReporter* activity_reporter() = 0;
|
#endif
|
||||||
|
|
||||||
virtual component_updater::ComponentUpdateService* component_updater() = 0;
|
virtual component_updater::ComponentUpdateService* component_updater() = 0;
|
||||||
+ virtual adblock_updater::AdBlockUpdaterService* adblock_updater() = 0;
|
+ virtual adblock_updater::AdBlockUpdaterService* adblock_updater() = 0;
|
||||||
|
|
||||||
#if BUILDFLAG(IS_CHROMEOS)
|
|
||||||
virtual MediaFileSystemRegistry* media_file_system_registry() = 0;
|
virtual MediaFileSystemRegistry* media_file_system_registry() = 0;
|
||||||
|
|
||||||
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
||||||
--- a/chrome/browser/browser_process_impl.cc
|
--- a/chrome/browser/browser_process_impl.cc
|
||||||
+++ b/chrome/browser/browser_process_impl.cc
|
+++ b/chrome/browser/browser_process_impl.cc
|
||||||
@@ -187,6 +187,8 @@
|
@@ -1240,6 +1240,34 @@ BrowserProcessImpl::component_updater() {
|
||||||
#include "ui/message_center/message_center.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#include "components/component_updater/adblock_updater_service.h"
|
|
||||||
+
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
|
||||||
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
|
|
||||||
#include "chrome/browser/flags/android/chrome_feature_list.h"
|
|
||||||
@@ -1414,6 +1416,34 @@ BrowserProcessImpl::component_updater() {
|
|
||||||
return component_updater_.get();
|
return component_updater_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -569,20 +544,20 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
void BrowserProcessImpl::OnKeepAliveStateChanged(bool is_keeping_alive) {
|
void BrowserProcessImpl::OnKeepAliveStateChanged(bool is_keeping_alive) {
|
||||||
if (is_keeping_alive) {
|
if (is_keeping_alive)
|
||||||
Pin();
|
Pin();
|
||||||
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
|
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
|
||||||
--- a/chrome/browser/browser_process_impl.h
|
--- a/chrome/browser/browser_process_impl.h
|
||||||
+++ b/chrome/browser/browser_process_impl.h
|
+++ b/chrome/browser/browser_process_impl.h
|
||||||
@@ -224,6 +224,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
@@ -217,6 +217,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||||
|
#endif
|
||||||
|
|
||||||
activity_reporter::ActivityReporter* activity_reporter() override;
|
|
||||||
component_updater::ComponentUpdateService* component_updater() override;
|
component_updater::ComponentUpdateService* component_updater() override;
|
||||||
+ adblock_updater::AdBlockUpdaterService* adblock_updater() override;
|
+ adblock_updater::AdBlockUpdaterService* adblock_updater() override;
|
||||||
#if BUILDFLAG(IS_CHROMEOS)
|
|
||||||
MediaFileSystemRegistry* media_file_system_registry() override;
|
MediaFileSystemRegistry* media_file_system_registry() override;
|
||||||
#endif
|
WebRtcLogUploader* webrtc_log_uploader() override;
|
||||||
@@ -449,6 +450,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
network_time::NetworkTimeTracker* network_time_tracker() override;
|
||||||
|
@@ -429,6 +430,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||||
// to concerns over integrity of data shared between profiles,
|
// to concerns over integrity of data shared between profiles,
|
||||||
// but some users of component updater only install per-user.
|
// but some users of component updater only install per-user.
|
||||||
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
|
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
|
||||||
@@ -593,7 +568,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
|
|||||||
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
||||||
--- a/chrome/browser/chrome_browser_main.cc
|
--- a/chrome/browser/chrome_browser_main.cc
|
||||||
+++ b/chrome/browser/chrome_browser_main.cc
|
+++ b/chrome/browser/chrome_browser_main.cc
|
||||||
@@ -449,6 +449,9 @@ StartupProfileInfo CreateInitialProfile(
|
@@ -468,6 +468,9 @@ StartupProfileInfo CreateInitialProfile(
|
||||||
// missing code in the above test.
|
// missing code in the above test.
|
||||||
CHECK(profile_info.profile) << "Cannot get default profile.";
|
CHECK(profile_info.profile) << "Cannot get default profile.";
|
||||||
|
|
||||||
@@ -601,12 +576,12 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows
|
|||||||
+ g_browser_process->adblock_updater();
|
+ g_browser_process->adblock_updater();
|
||||||
+
|
+
|
||||||
#else
|
#else
|
||||||
profile_info =
|
#if BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||||
GetStartupProfile(/*cur_dir=*/base::FilePath(), parsed_command_line);
|
// Lacros has a special "primary" profile that is tied to the active ChromeOS
|
||||||
diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||||
--- a/chrome/browser/flags/BUILD.gn
|
--- a/chrome/browser/flags/BUILD.gn
|
||||||
+++ b/chrome/browser/flags/BUILD.gn
|
+++ b/chrome/browser/flags/BUILD.gn
|
||||||
@@ -9,6 +9,7 @@ import("//third_party/jni_zero/jni_zero.gni")
|
@@ -8,6 +8,7 @@ import("//third_party/jni_zero/jni_zero.gni")
|
||||||
android_library("java") {
|
android_library("java") {
|
||||||
sources = [ "android/java/src/org/chromium/chrome/browser/flags/CromiteNativeUtils.java" ]
|
sources = [ "android/java/src/org/chromium/chrome/browser/flags/CromiteNativeUtils.java" ]
|
||||||
sources += [
|
sources += [
|
||||||
@@ -614,7 +589,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
|||||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java",
|
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java",
|
||||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureMap.java",
|
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureMap.java",
|
||||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeSessionState.java",
|
"android/java/src/org/chromium/chrome/browser/flags/ChromeSessionState.java",
|
||||||
@@ -49,6 +50,7 @@ java_bromite_impl("java_cromite_cached_flags") {
|
@@ -47,6 +48,7 @@ java_bromite_impl("java_cromite_cached_flags") {
|
||||||
generate_jni("jni_headers") {
|
generate_jni("jni_headers") {
|
||||||
sources = [ "android/java/src/org/chromium/chrome/browser/flags/CromiteNativeUtils.java" ]
|
sources = [ "android/java/src/org/chromium/chrome/browser/flags/CromiteNativeUtils.java" ]
|
||||||
sources += [
|
sources += [
|
||||||
@@ -622,7 +597,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
|||||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureMap.java",
|
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureMap.java",
|
||||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeSessionState.java",
|
"android/java/src/org/chromium/chrome/browser/flags/ChromeSessionState.java",
|
||||||
]
|
]
|
||||||
@@ -62,6 +64,7 @@ static_library("flags_android") {
|
@@ -61,6 +63,7 @@ static_library("flags_android") {
|
||||||
"android/chrome_session_state.cc",
|
"android/chrome_session_state.cc",
|
||||||
"android/chrome_session_state.h",
|
"android/chrome_session_state.h",
|
||||||
]
|
]
|
||||||
@@ -634,7 +609,7 @@ diff --git a/chrome/browser/flags/android/adblock_native_gateway.cc b/chrome/bro
|
|||||||
new file mode 100755
|
new file mode 100755
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/chrome/browser/flags/android/adblock_native_gateway.cc
|
+++ b/chrome/browser/flags/android/adblock_native_gateway.cc
|
||||||
@@ -0,0 +1,33 @@
|
@@ -0,0 +1,31 @@
|
||||||
+#include "chrome/browser/flags/jni_headers/AdBlockNativeGateway_jni.h"
|
+#include "chrome/browser/flags/jni_headers/AdBlockNativeGateway_jni.h"
|
||||||
+
|
+
|
||||||
+#include "base/android/jni_string.h"
|
+#include "base/android/jni_string.h"
|
||||||
@@ -643,7 +618,7 @@ new file mode 100755
|
|||||||
+#include "components/prefs/pref_service.h"
|
+#include "components/prefs/pref_service.h"
|
||||||
+
|
+
|
||||||
+using base::android::ScopedJavaLocalRef;
|
+using base::android::ScopedJavaLocalRef;
|
||||||
+using base::android::JavaRef;
|
+using base::android::JavaParamRef;
|
||||||
+
|
+
|
||||||
+static ScopedJavaLocalRef<jstring> JNI_AdBlockNativeGateway_GetAdBlockFiltersURL(
|
+static ScopedJavaLocalRef<jstring> JNI_AdBlockNativeGateway_GetAdBlockFiltersURL(
|
||||||
+ JNIEnv* env) {
|
+ JNIEnv* env) {
|
||||||
@@ -652,22 +627,20 @@ new file mode 100755
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static void JNI_AdBlockNativeGateway_SetAdBlockFiltersURL(
|
+static void JNI_AdBlockNativeGateway_SetAdBlockFiltersURL(
|
||||||
+ JNIEnv* env, const JavaRef<jstring>& url) {
|
+ JNIEnv* env, const JavaParamRef<jstring>& url) {
|
||||||
+ g_browser_process->local_state()->SetString(prefs::kAdBlockFiltersURL,
|
+ g_browser_process->local_state()->SetString(prefs::kAdBlockFiltersURL,
|
||||||
+ base::android::ConvertJavaStringToUTF8(env, url));
|
+ base::android::ConvertJavaStringToUTF8(env, url));
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static bool JNI_AdBlockNativeGateway_GetAdBlockEnabled(
|
+static jboolean JNI_AdBlockNativeGateway_GetAdBlockEnabled(
|
||||||
+ JNIEnv* env) {
|
+ JNIEnv* env) {
|
||||||
+ return g_browser_process->local_state()->GetBoolean(prefs::kAdBlockEnabled);
|
+ return g_browser_process->local_state()->GetBoolean(prefs::kAdBlockEnabled);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static void JNI_AdBlockNativeGateway_SetAdBlockEnabled(
|
+static void JNI_AdBlockNativeGateway_SetAdBlockEnabled(
|
||||||
+ JNIEnv* env, bool enabled) {
|
+ JNIEnv* env, jboolean enabled) {
|
||||||
+ g_browser_process->local_state()->SetBoolean(prefs::kAdBlockEnabled, enabled);
|
+ g_browser_process->local_state()->SetBoolean(prefs::kAdBlockEnabled, enabled);
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
+DEFINE_JNI(AdBlockNativeGateway)
|
|
||||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/AdBlockNativeGateway.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/AdBlockNativeGateway.java
|
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/AdBlockNativeGateway.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/AdBlockNativeGateway.java
|
||||||
new file mode 100755
|
new file mode 100755
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@@ -696,7 +669,7 @@ new file mode 100755
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @NativeMethods
|
+ @NativeMethods
|
||||||
+ public interface Natives {
|
+ interface Natives {
|
||||||
+ void setAdBlockFiltersURL(String url);
|
+ void setAdBlockFiltersURL(String url);
|
||||||
+ String getAdBlockFiltersURL();
|
+ String getAdBlockFiltersURL();
|
||||||
+ void setAdBlockEnabled(boolean enabled);
|
+ void setAdBlockEnabled(boolean enabled);
|
||||||
@@ -706,9 +679,9 @@ new file mode 100755
|
|||||||
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
|
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
|
||||||
--- a/chrome/browser/net/system_network_context_manager.cc
|
--- a/chrome/browser/net/system_network_context_manager.cc
|
||||||
+++ b/chrome/browser/net/system_network_context_manager.cc
|
+++ b/chrome/browser/net/system_network_context_manager.cc
|
||||||
@@ -718,6 +718,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
|
@@ -640,6 +640,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||||
|
StubResolverConfigReader::RegisterPrefs(registry);
|
||||||
DefaultDnsOverHttpsConfigSource::RegisterPrefs(registry);
|
DefaultDnsOverHttpsConfigSource::RegisterPrefs(registry);
|
||||||
NetworkProcessLaunchWatcher::RegisterPrefs(registry);
|
|
||||||
|
|
||||||
+ registry->RegisterBooleanPref(prefs::kAdBlockEnabled, false);
|
+ registry->RegisterBooleanPref(prefs::kAdBlockEnabled, false);
|
||||||
+ registry->RegisterStringPref(prefs::kAdBlockFiltersURL,
|
+ registry->RegisterStringPref(prefs::kAdBlockFiltersURL,
|
||||||
@@ -717,11 +690,28 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
|
|||||||
// Static auth params
|
// Static auth params
|
||||||
registry->RegisterStringPref(prefs::kAuthSchemes,
|
registry->RegisterStringPref(prefs::kAuthSchemes,
|
||||||
"basic,digest,ntlm,negotiate");
|
"basic,digest,ntlm,negotiate");
|
||||||
|
diff --git a/chrome/browser/sessions/session_restore_android.cc b/chrome/browser/sessions/session_restore_android.cc
|
||||||
|
--- a/chrome/browser/sessions/session_restore_android.cc
|
||||||
|
+++ b/chrome/browser/sessions/session_restore_android.cc
|
||||||
|
@@ -58,8 +58,11 @@ content::WebContents* SessionRestore::RestoreForeignSessionTab(
|
||||||
|
DCHECK(current_tab);
|
||||||
|
// If swapped, return the current tab's most up-to-date web contents.
|
||||||
|
if (disposition == WindowOpenDisposition::CURRENT_TAB) {
|
||||||
|
- current_tab->SwapWebContents(std::move(new_web_contents), false, false);
|
||||||
|
- return current_tab->web_contents();
|
||||||
|
+ int active_tab_index = tab_model->GetActiveIndex();
|
||||||
|
+ tab_model->CreateTab(current_tab, new_web_contents.release(),
|
||||||
|
+ disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB);
|
||||||
|
+ tab_model->CloseTabAt(active_tab_index);
|
||||||
|
+ return raw_new_web_contents;
|
||||||
|
}
|
||||||
|
DCHECK(disposition == WindowOpenDisposition::NEW_FOREGROUND_TAB ||
|
||||||
|
disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB);
|
||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -245,6 +245,20 @@ CHAR_LIMIT guidelines:
|
@@ -218,6 +218,20 @@ CHAR_LIMIT guidelines:
|
||||||
Delete
|
Advanced
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
+ <!-- AdBlock settings -->
|
+ <!-- AdBlock settings -->
|
||||||
@@ -744,7 +734,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||||
--- a/chrome/common/pref_names.h
|
--- a/chrome/common/pref_names.h
|
||||||
+++ b/chrome/common/pref_names.h
|
+++ b/chrome/common/pref_names.h
|
||||||
@@ -2416,6 +2416,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
|
@@ -2868,6 +2868,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
|
||||||
inline constexpr char kAudioCaptureAllowedUrls[] =
|
inline constexpr char kAudioCaptureAllowedUrls[] =
|
||||||
"hardware.audio_capture_allowed_urls";
|
"hardware.audio_capture_allowed_urls";
|
||||||
|
|
||||||
@@ -759,7 +749,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
|||||||
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
|
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
|
||||||
--- a/components/browser_ui/strings/android/site_settings.grdp
|
--- a/components/browser_ui/strings/android/site_settings.grdp
|
||||||
+++ b/components/browser_ui/strings/android/site_settings.grdp
|
+++ b/components/browser_ui/strings/android/site_settings.grdp
|
||||||
@@ -421,6 +421,9 @@
|
@@ -373,6 +373,9 @@
|
||||||
<message name="IDS_INTRUSIVE_ADS_INFORMATION" desc="The extra information at the top of the Site Details page when the site tends to show intrusive ads">
|
<message name="IDS_INTRUSIVE_ADS_INFORMATION" desc="The extra information at the top of the Site Details page when the site tends to show intrusive ads">
|
||||||
This site shows intrusive or misleading ads
|
This site shows intrusive or misleading ads
|
||||||
</message>
|
</message>
|
||||||
@@ -1121,7 +1111,7 @@ new file mode 100644
|
|||||||
+#include "components/component_updater/update_scheduler.h"
|
+#include "components/component_updater/update_scheduler.h"
|
||||||
+#include "url/gurl.h"
|
+#include "url/gurl.h"
|
||||||
+#include "components/component_updater/download_filters_task.h"
|
+#include "components/component_updater/download_filters_task.h"
|
||||||
+#include "components/subresource_filter/content/browser/ruleset_service.h"
|
+#include "components/subresource_filter/content/shared/browser/ruleset_service.h"
|
||||||
+#include "services/network/public/cpp/shared_url_loader_factory.h"
|
+#include "services/network/public/cpp/shared_url_loader_factory.h"
|
||||||
+
|
+
|
||||||
+namespace adblock_updater {
|
+namespace adblock_updater {
|
||||||
@@ -1583,18 +1573,17 @@ new file mode 100644
|
|||||||
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
|
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
|
||||||
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
|
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
|
||||||
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
|
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
|
||||||
@@ -17,7 +17,10 @@
|
@@ -18,6 +18,9 @@
|
||||||
|
#include "base/strings/stringprintf.h"
|
||||||
#include "base/trace_event/trace_event.h"
|
#include "base/trace_event/trace_event.h"
|
||||||
#include "base/trace_event/traced_value.h"
|
#include "base/trace_event/traced_value.h"
|
||||||
#include "base/tracing/protos/chrome_track_event.pbzero.h"
|
|
||||||
+#include "components/content_settings/core/common/content_settings_types.h"
|
+#include "components/content_settings/core/common/content_settings_types.h"
|
||||||
#include "components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.h"
|
|
||||||
+#include "components/subresource_filter/content/browser/subresource_filter_content_settings_manager.h"
|
+#include "components/subresource_filter/content/browser/subresource_filter_content_settings_manager.h"
|
||||||
+#include "components/subresource_filter/content/browser/subresource_filter_profile_context.h"
|
+#include "components/subresource_filter/content/browser/subresource_filter_profile_context.h"
|
||||||
#include "components/subresource_filter/content/browser/ad_tagging_utils.h"
|
#include "components/subresource_filter/content/browser/ad_tagging_utils.h"
|
||||||
#include "components/subresource_filter/content/browser/content_subresource_filter_web_contents_helper.h"
|
#include "components/subresource_filter/content/browser/content_subresource_filter_web_contents_helper.h"
|
||||||
#include "components/subresource_filter/content/browser/page_load_statistics.h"
|
#include "components/subresource_filter/content/browser/profile_interaction_manager.h"
|
||||||
@@ -113,6 +116,7 @@ ContentSubresourceFilterThrottleManager::
|
@@ -112,6 +115,7 @@ ContentSubresourceFilterThrottleManager::
|
||||||
profile_interaction_manager_(
|
profile_interaction_manager_(
|
||||||
std::make_unique<subresource_filter::ProfileInteractionManager>(
|
std::make_unique<subresource_filter::ProfileInteractionManager>(
|
||||||
profile_context)),
|
profile_context)),
|
||||||
@@ -1602,17 +1591,17 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
|
|||||||
web_contents_helper_(web_contents_helper) {}
|
web_contents_helper_(web_contents_helper) {}
|
||||||
|
|
||||||
ContentSubresourceFilterThrottleManager::
|
ContentSubresourceFilterThrottleManager::
|
||||||
@@ -658,6 +662,17 @@ ContentSubresourceFilterThrottleManager::
|
@@ -679,6 +683,17 @@ ContentSubresourceFilterThrottleManager::
|
||||||
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
|
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
|
||||||
ad_tagging_state);
|
ad_tagging_state);
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ const GURL& url(navigation_handle.GetURL());
|
+ const GURL& url(navigation_handle->GetURL());
|
||||||
+ if (profile_context_->settings_manager()->GetSitePermission(url) != CONTENT_SETTING_ALLOW) {
|
+ if (profile_context_->settings_manager()->GetSitePermission(url) != CONTENT_SETTING_ALLOW) {
|
||||||
+ subresource_filter::ActivationDecision ignored_decision;
|
+ subresource_filter::ActivationDecision ignored_decision;
|
||||||
+ mojom::ActivationState ad_filtering_state;
|
+ mojom::ActivationState ad_filtering_state;
|
||||||
+ ad_filtering_state.activation_level = profile_interaction_manager_->OnPageActivationComputed(
|
+ ad_filtering_state.activation_level = profile_interaction_manager_->OnPageActivationComputed(
|
||||||
+ &navigation_handle, mojom::ActivationLevel::kEnabled, &ignored_decision);
|
+ navigation_handle, mojom::ActivationLevel::kEnabled, &ignored_decision);
|
||||||
+ throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
|
+ throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
|
||||||
+ ad_filtering_state);
|
+ ad_filtering_state);
|
||||||
+ }
|
+ }
|
||||||
@@ -1623,7 +1612,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
|
|||||||
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
|
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
|
||||||
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
|
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
|
||||||
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
|
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
|
||||||
@@ -410,6 +410,8 @@ class ContentSubresourceFilterThrottleManager
|
@@ -414,6 +414,8 @@ class ContentSubresourceFilterThrottleManager
|
||||||
|
|
||||||
std::unique_ptr<ProfileInteractionManager> profile_interaction_manager_;
|
std::unique_ptr<ProfileInteractionManager> profile_interaction_manager_;
|
||||||
|
|
||||||
@@ -1632,10 +1621,10 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
|
|||||||
// Unowned since the throttle manager cannot outlive the Page that owns it.
|
// Unowned since the throttle manager cannot outlive the Page that owns it.
|
||||||
// The throttle manager is held as user data first on NavigationHandle, then
|
// The throttle manager is held as user data first on NavigationHandle, then
|
||||||
// transferred to Page once it is created. Once the Page is created and this
|
// transferred to Page once it is created. Once the Page is created and this
|
||||||
diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/components/subresource_filter/content/browser/ruleset_service.cc
|
diff --git a/components/subresource_filter/content/shared/browser/ruleset_service.cc b/components/subresource_filter/content/shared/browser/ruleset_service.cc
|
||||||
--- a/components/subresource_filter/content/browser/ruleset_service.cc
|
--- a/components/subresource_filter/content/shared/browser/ruleset_service.cc
|
||||||
+++ b/components/subresource_filter/content/browser/ruleset_service.cc
|
+++ b/components/subresource_filter/content/shared/browser/ruleset_service.cc
|
||||||
@@ -49,12 +49,7 @@ namespace {
|
@@ -51,12 +51,7 @@ namespace {
|
||||||
void RecordIndexAndWriteRulesetResult(
|
void RecordIndexAndWriteRulesetResult(
|
||||||
std::string_view uma_tag,
|
std::string_view uma_tag,
|
||||||
RulesetService::IndexAndWriteRulesetResult result) {
|
RulesetService::IndexAndWriteRulesetResult result) {
|
||||||
@@ -1649,22 +1638,23 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Implements operations on a `sentinel file`, which is used as a safeguard to
|
// Implements operations on a `sentinel file`, which is used as a safeguard to
|
||||||
@@ -236,11 +231,13 @@ RulesetService::RulesetService(
|
@@ -237,10 +232,13 @@ RulesetService::RulesetService(
|
||||||
RulesetService::~RulesetService() = default;
|
RulesetService::~RulesetService() = default;
|
||||||
|
|
||||||
void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
|
void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
|
||||||
- const UnindexedRulesetInfo& unindexed_ruleset_info) {
|
- const UnindexedRulesetInfo& unindexed_ruleset_info) {
|
||||||
|
- if (unindexed_ruleset_info.content_version.empty())
|
||||||
+ const UnindexedRulesetInfo& unindexed_ruleset_info, bool ignore_recent_version) {
|
+ const UnindexedRulesetInfo& unindexed_ruleset_info, bool ignore_recent_version) {
|
||||||
if (unindexed_ruleset_info.content_version.empty()) {
|
+ if (unindexed_ruleset_info.content_version.empty()) {
|
||||||
+ LOG(INFO) << "RulesetService: ignoring update with empty version.";
|
+ LOG(INFO) << "RulesetService: ignoring update with empty version.";
|
||||||
return;
|
return;
|
||||||
}
|
+ }
|
||||||
|
|
||||||
+ if (!ignore_recent_version) {
|
+ if (!ignore_recent_version) {
|
||||||
// Trying to store a ruleset with the same version for a second time would
|
// Trying to store a ruleset with the same version for a second time would
|
||||||
// not only be futile, but would fail on Windows due to "File System
|
// not only be futile, but would fail on Windows due to "File System
|
||||||
// Tunneling" as long as the previously stored copy of the rules is still
|
// Tunneling" as long as the previously stored copy of the rules is still
|
||||||
@@ -250,13 +247,16 @@ void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
|
@@ -250,13 +248,16 @@ void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
|
||||||
if (most_recently_indexed_version.IsCurrentFormatVersion() &&
|
if (most_recently_indexed_version.IsCurrentFormatVersion() &&
|
||||||
most_recently_indexed_version.content_version ==
|
most_recently_indexed_version.content_version ==
|
||||||
unindexed_ruleset_info.content_version) {
|
unindexed_ruleset_info.content_version) {
|
||||||
@@ -1681,7 +1671,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -276,6 +276,23 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
@@ -276,6 +277,23 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
||||||
const RulesetConfig& config,
|
const RulesetConfig& config,
|
||||||
const base::FilePath& indexed_ruleset_base_dir,
|
const base::FilePath& indexed_ruleset_base_dir,
|
||||||
const UnindexedRulesetInfo& unindexed_ruleset_info) {
|
const UnindexedRulesetInfo& unindexed_ruleset_info) {
|
||||||
@@ -1705,7 +1695,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
|
|||||||
base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
|
base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
|
||||||
base::BlockingType::MAY_BLOCK);
|
base::BlockingType::MAY_BLOCK);
|
||||||
|
|
||||||
@@ -283,6 +300,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
@@ -283,6 +301,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
||||||
unindexed_ruleset_info);
|
unindexed_ruleset_info);
|
||||||
|
|
||||||
if (!unindexed_ruleset_stream_generator.ruleset_stream()) {
|
if (!unindexed_ruleset_stream_generator.ruleset_stream()) {
|
||||||
@@ -1713,7 +1703,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
|
|||||||
RecordIndexAndWriteRulesetResult(
|
RecordIndexAndWriteRulesetResult(
|
||||||
config.uma_tag,
|
config.uma_tag,
|
||||||
IndexAndWriteRulesetResult::kFailedOpeningUnindexedRuleset);
|
IndexAndWriteRulesetResult::kFailedOpeningUnindexedRuleset);
|
||||||
@@ -297,6 +315,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
@@ -297,6 +316,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
||||||
indexed_ruleset_base_dir, indexed_version);
|
indexed_ruleset_base_dir, indexed_version);
|
||||||
|
|
||||||
if (!base::CreateDirectory(indexed_ruleset_version_dir)) {
|
if (!base::CreateDirectory(indexed_ruleset_version_dir)) {
|
||||||
@@ -1721,7 +1711,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
|
|||||||
RecordIndexAndWriteRulesetResult(
|
RecordIndexAndWriteRulesetResult(
|
||||||
config.uma_tag, IndexAndWriteRulesetResult::kFailedCreatingVersionDir);
|
config.uma_tag, IndexAndWriteRulesetResult::kFailedCreatingVersionDir);
|
||||||
return IndexedRulesetVersion(config.filter_tag);
|
return IndexedRulesetVersion(config.filter_tag);
|
||||||
@@ -304,13 +323,11 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
@@ -304,13 +324,11 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
||||||
|
|
||||||
SentinelFile sentinel_file(indexed_ruleset_version_dir);
|
SentinelFile sentinel_file(indexed_ruleset_version_dir);
|
||||||
if (sentinel_file.IsPresent()) {
|
if (sentinel_file.IsPresent()) {
|
||||||
@@ -1737,7 +1727,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
|
|||||||
RecordIndexAndWriteRulesetResult(
|
RecordIndexAndWriteRulesetResult(
|
||||||
config.uma_tag,
|
config.uma_tag,
|
||||||
IndexAndWriteRulesetResult::kFailedCreatingSentinelFile);
|
IndexAndWriteRulesetResult::kFailedCreatingSentinelFile);
|
||||||
@@ -325,6 +342,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
@@ -325,6 +343,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
||||||
RulesetIndexer indexer;
|
RulesetIndexer indexer;
|
||||||
if (!(*g_index_ruleset_func)(config, &unindexed_ruleset_stream_generator,
|
if (!(*g_index_ruleset_func)(config, &unindexed_ruleset_stream_generator,
|
||||||
&indexer)) {
|
&indexer)) {
|
||||||
@@ -1745,7 +1735,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
|
|||||||
RecordIndexAndWriteRulesetResult(
|
RecordIndexAndWriteRulesetResult(
|
||||||
config.uma_tag,
|
config.uma_tag,
|
||||||
IndexAndWriteRulesetResult::kFailedParsingUnindexedRuleset);
|
IndexAndWriteRulesetResult::kFailedParsingUnindexedRuleset);
|
||||||
@@ -345,9 +363,12 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
@@ -345,9 +364,12 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
|
||||||
unindexed_ruleset_info.license_path, indexer.data());
|
unindexed_ruleset_info.license_path, indexer.data());
|
||||||
RecordIndexAndWriteRulesetResult(config.uma_tag, result);
|
RecordIndexAndWriteRulesetResult(config.uma_tag, result);
|
||||||
if (result != IndexAndWriteRulesetResult::kSuccess) {
|
if (result != IndexAndWriteRulesetResult::kSuccess) {
|
||||||
@@ -1755,20 +1745,20 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
|
|||||||
|
|
||||||
+ LOG(INFO) << "RulesetService: successful parsing.";
|
+ LOG(INFO) << "RulesetService: successful parsing.";
|
||||||
+
|
+
|
||||||
CHECK(indexed_version.IsValid());
|
CHECK(indexed_version.IsValid(), base::NotFatalUntil::M129);
|
||||||
return indexed_version;
|
return indexed_version;
|
||||||
}
|
}
|
||||||
@@ -471,6 +492,7 @@ void RulesetService::IndexAndStoreRuleset(
|
@@ -470,6 +492,7 @@ void RulesetService::IndexAndStoreRuleset(
|
||||||
void RulesetService::OnWrittenRuleset(WriteRulesetCallback result_callback,
|
void RulesetService::OnWrittenRuleset(WriteRulesetCallback result_callback,
|
||||||
const IndexedRulesetVersion& version) {
|
const IndexedRulesetVersion& version) {
|
||||||
CHECK(!result_callback.is_null());
|
CHECK(!result_callback.is_null(), base::NotFatalUntil::M129);
|
||||||
+ LOG(INFO) << "RulesetService: valid version: " << version.IsValid();
|
+ LOG(INFO) << "RulesetService: valid version: " << version.IsValid();
|
||||||
if (!version.IsValid()) {
|
if (!version.IsValid())
|
||||||
return;
|
return;
|
||||||
}
|
version.SaveToPrefs(local_state_);
|
||||||
diff --git a/components/subresource_filter/content/browser/ruleset_service.h b/components/subresource_filter/content/browser/ruleset_service.h
|
diff --git a/components/subresource_filter/content/shared/browser/ruleset_service.h b/components/subresource_filter/content/shared/browser/ruleset_service.h
|
||||||
--- a/components/subresource_filter/content/browser/ruleset_service.h
|
--- a/components/subresource_filter/content/shared/browser/ruleset_service.h
|
||||||
+++ b/components/subresource_filter/content/browser/ruleset_service.h
|
+++ b/components/subresource_filter/content/shared/browser/ruleset_service.h
|
||||||
@@ -183,7 +183,7 @@ class RulesetService {
|
@@ -183,7 +183,7 @@ class RulesetService {
|
||||||
//
|
//
|
||||||
// Virtual so that it can be mocked out in tests.
|
// Virtual so that it can be mocked out in tests.
|
||||||
@@ -1791,10 +1781,10 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.h b/c
|
|||||||
// Reads the rules via the |unindexed_ruleset_stream_generator|, and indexes
|
// Reads the rules via the |unindexed_ruleset_stream_generator|, and indexes
|
||||||
// them using |indexer|. Returns whether the entire ruleset could be parsed.
|
// them using |indexer|. Returns whether the entire ruleset could be parsed.
|
||||||
static bool IndexRuleset(
|
static bool IndexRuleset(
|
||||||
diff --git a/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc b/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc
|
diff --git a/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc b/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc
|
||||||
--- a/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc
|
--- a/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc
|
||||||
+++ b/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc
|
+++ b/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc
|
||||||
@@ -12,6 +12,7 @@
|
@@ -13,6 +13,7 @@
|
||||||
#include "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h"
|
#include "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h"
|
||||||
#include "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h"
|
#include "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h"
|
||||||
#include "ui/base/resource/resource_bundle.h"
|
#include "ui/base/resource/resource_bundle.h"
|
||||||
@@ -1802,7 +1792,7 @@ diff --git a/components/subresource_filter/content/browser/unindexed_ruleset_str
|
|||||||
|
|
||||||
namespace subresource_filter {
|
namespace subresource_filter {
|
||||||
|
|
||||||
@@ -46,6 +47,8 @@ void UnindexedRulesetStreamGenerator::GenerateStreamFromFile(
|
@@ -49,6 +50,8 @@ void UnindexedRulesetStreamGenerator::GenerateStreamFromFile(
|
||||||
|
|
||||||
ruleset_size_ = unindexed_ruleset_file.GetLength();
|
ruleset_size_ = unindexed_ruleset_file.GetLength();
|
||||||
|
|
||||||
@@ -1814,7 +1804,7 @@ diff --git a/components/subresource_filter/content/browser/unindexed_ruleset_str
|
|||||||
diff --git a/components/subresource_filter/core/browser/ruleset_version.h b/components/subresource_filter/core/browser/ruleset_version.h
|
diff --git a/components/subresource_filter/core/browser/ruleset_version.h b/components/subresource_filter/core/browser/ruleset_version.h
|
||||||
--- a/components/subresource_filter/core/browser/ruleset_version.h
|
--- a/components/subresource_filter/core/browser/ruleset_version.h
|
||||||
+++ b/components/subresource_filter/core/browser/ruleset_version.h
|
+++ b/components/subresource_filter/core/browser/ruleset_version.h
|
||||||
@@ -53,6 +53,10 @@ struct UnindexedRulesetInfo {
|
@@ -54,6 +54,10 @@ struct UnindexedRulesetInfo {
|
||||||
// can be indicated not only by setting |license_path| to empty, but also by
|
// can be indicated not only by setting |license_path| to empty, but also by
|
||||||
// setting it to any non existent path.
|
// setting it to any non existent path.
|
||||||
base::FilePath license_path;
|
base::FilePath license_path;
|
||||||
@@ -1828,7 +1818,7 @@ diff --git a/components/subresource_filter/core/browser/ruleset_version.h b/comp
|
|||||||
diff --git a/components/subresource_filter/core/browser/subresource_filter_features.cc b/components/subresource_filter/core/browser/subresource_filter_features.cc
|
diff --git a/components/subresource_filter/core/browser/subresource_filter_features.cc b/components/subresource_filter/core/browser/subresource_filter_features.cc
|
||||||
--- a/components/subresource_filter/core/browser/subresource_filter_features.cc
|
--- a/components/subresource_filter/core/browser/subresource_filter_features.cc
|
||||||
+++ b/components/subresource_filter/core/browser/subresource_filter_features.cc
|
+++ b/components/subresource_filter/core/browser/subresource_filter_features.cc
|
||||||
@@ -54,75 +54,8 @@ class CommaSeparatedStrings {
|
@@ -55,71 +55,8 @@ class CommaSeparatedStrings {
|
||||||
const std::vector<std::string_view> pieces_;
|
const std::vector<std::string_view> pieces_;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1836,9 +1826,8 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
|
|||||||
- std::map<std::string, std::string>* params,
|
- std::map<std::string, std::string>* params,
|
||||||
- const std::string& key) {
|
- const std::string& key) {
|
||||||
- auto it = params->find(key);
|
- auto it = params->find(key);
|
||||||
- if (it == params->end()) {
|
- if (it == params->end())
|
||||||
- return std::string();
|
- return std::string();
|
||||||
- }
|
|
||||||
- std::string value = std::move(it->second);
|
- std::string value = std::move(it->second);
|
||||||
- params->erase(it);
|
- params->erase(it);
|
||||||
- return value;
|
- return value;
|
||||||
@@ -1846,23 +1835,21 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
|
|||||||
-
|
-
|
||||||
-mojom::ActivationLevel ParseActivationLevel(std::string_view activation_level) {
|
-mojom::ActivationLevel ParseActivationLevel(std::string_view activation_level) {
|
||||||
- if (base::EqualsCaseInsensitiveASCII(activation_level,
|
- if (base::EqualsCaseInsensitiveASCII(activation_level,
|
||||||
- kActivationLevelEnabled)) {
|
- kActivationLevelEnabled))
|
||||||
- return mojom::ActivationLevel::kEnabled;
|
- return mojom::ActivationLevel::kEnabled;
|
||||||
- } else if (base::EqualsCaseInsensitiveASCII(activation_level,
|
- else if (base::EqualsCaseInsensitiveASCII(activation_level,
|
||||||
- kActivationLevelDryRun)) {
|
- kActivationLevelDryRun))
|
||||||
- return mojom::ActivationLevel::kDryRun;
|
- return mojom::ActivationLevel::kDryRun;
|
||||||
- }
|
|
||||||
- return mojom::ActivationLevel::kDisabled;
|
- return mojom::ActivationLevel::kDisabled;
|
||||||
-}
|
-}
|
||||||
-
|
-
|
||||||
-ActivationScope ParseActivationScope(std::string_view activation_scope) {
|
-ActivationScope ParseActivationScope(std::string_view activation_scope) {
|
||||||
- if (base::EqualsCaseInsensitiveASCII(activation_scope,
|
- if (base::EqualsCaseInsensitiveASCII(activation_scope,
|
||||||
- kActivationScopeAllSites)) {
|
- kActivationScopeAllSites))
|
||||||
- return ActivationScope::ALL_SITES;
|
- return ActivationScope::ALL_SITES;
|
||||||
- } else if (base::EqualsCaseInsensitiveASCII(activation_scope,
|
- else if (base::EqualsCaseInsensitiveASCII(activation_scope,
|
||||||
- kActivationScopeActivationList)) {
|
- kActivationScopeActivationList))
|
||||||
- return ActivationScope::ACTIVATION_LIST;
|
- return ActivationScope::ACTIVATION_LIST;
|
||||||
- }
|
|
||||||
- return ActivationScope::NO_SITES;
|
- return ActivationScope::NO_SITES;
|
||||||
-}
|
-}
|
||||||
-
|
-
|
||||||
@@ -1887,9 +1874,8 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
|
|||||||
-// Will return a value between 0 and 1 inclusive.
|
-// Will return a value between 0 and 1 inclusive.
|
||||||
-double ParsePerformanceMeasurementRate(const std::string& rate) {
|
-double ParsePerformanceMeasurementRate(const std::string& rate) {
|
||||||
- double value = 0.0;
|
- double value = 0.0;
|
||||||
- if (!base::StringToDouble(rate, &value) || value < 0) {
|
- if (!base::StringToDouble(rate, &value) || value < 0)
|
||||||
- return 0.0;
|
- return 0.0;
|
||||||
- }
|
|
||||||
- return value < 1 ? value : 1;
|
- return value < 1 ? value : 1;
|
||||||
-}
|
-}
|
||||||
-
|
-
|
||||||
@@ -1898,14 +1884,14 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
|
|||||||
- base::StringToInt(value, &result);
|
- base::StringToInt(value, &result);
|
||||||
- return result;
|
- return result;
|
||||||
-}
|
-}
|
||||||
-
|
|
||||||
std::vector<Configuration> FillEnabledPresetConfigurations(
|
-std::vector<Configuration> FillEnabledPresetConfigurations(
|
||||||
- std::map<std::string, std::string>* params) {
|
- std::map<std::string, std::string>* params) {
|
||||||
+ /*std::map<std::string, std::string>* params*/) {
|
+std::vector<Configuration> FillEnabledPresetConfigurations() {
|
||||||
// If ad tagging is enabled, turn on the dryrun automatically.
|
// If ad tagging is enabled, turn on the dryrun automatically.
|
||||||
bool ad_tagging_enabled = base::FeatureList::IsEnabled(kAdTagging);
|
bool ad_tagging_enabled = base::FeatureList::IsEnabled(kAdTagging);
|
||||||
const struct {
|
const struct {
|
||||||
@@ -130,23 +63,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
|
@@ -127,23 +64,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
|
||||||
bool enabled_by_default;
|
bool enabled_by_default;
|
||||||
Configuration (*factory_method)();
|
Configuration (*factory_method)();
|
||||||
} kAvailablePresetConfigurations[] = {
|
} kAvailablePresetConfigurations[] = {
|
||||||
@@ -1931,7 +1917,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
|
|||||||
enabled_configurations.push_back(available_preset.factory_method());
|
enabled_configurations.push_back(available_preset.factory_method());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -154,48 +80,12 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
|
@@ -151,46 +81,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
|
||||||
return enabled_configurations;
|
return enabled_configurations;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1970,17 +1956,15 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
|
|||||||
- base::GetFieldTrialParamsByFeature(kSafeBrowsingSubresourceFilter, ¶ms);
|
- base::GetFieldTrialParamsByFeature(kSafeBrowsingSubresourceFilter, ¶ms);
|
||||||
-
|
-
|
||||||
std::vector<Configuration> configs;
|
std::vector<Configuration> configs;
|
||||||
if (base::FeatureList::IsEnabled(kSafeBrowsingSubresourceFilter)) {
|
if (base::FeatureList::IsEnabled(kSafeBrowsingSubresourceFilter))
|
||||||
- configs = FillEnabledPresetConfigurations(¶ms);
|
- configs = FillEnabledPresetConfigurations(¶ms);
|
||||||
+ configs = FillEnabledPresetConfigurations();
|
-
|
||||||
}
|
|
||||||
|
|
||||||
- Configuration experimental_config = ParseExperimentalConfiguration(¶ms);
|
- Configuration experimental_config = ParseExperimentalConfiguration(¶ms);
|
||||||
- configs.push_back(std::move(experimental_config));
|
- configs.push_back(std::move(experimental_config));
|
||||||
-
|
+ configs = FillEnabledPresetConfigurations();
|
||||||
|
|
||||||
return configs;
|
return configs;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/components/subresource_filter/core/browser/verified_ruleset_dealer.cc b/components/subresource_filter/core/browser/verified_ruleset_dealer.cc
|
diff --git a/components/subresource_filter/core/browser/verified_ruleset_dealer.cc b/components/subresource_filter/core/browser/verified_ruleset_dealer.cc
|
||||||
--- a/components/subresource_filter/core/browser/verified_ruleset_dealer.cc
|
--- a/components/subresource_filter/core/browser/verified_ruleset_dealer.cc
|
||||||
+++ b/components/subresource_filter/core/browser/verified_ruleset_dealer.cc
|
+++ b/components/subresource_filter/core/browser/verified_ruleset_dealer.cc
|
||||||
@@ -1989,10 +1973,10 @@ diff --git a/components/subresource_filter/core/browser/verified_ruleset_dealer.
|
|||||||
#include "base/functional/callback_helpers.h"
|
#include "base/functional/callback_helpers.h"
|
||||||
#include "base/location.h"
|
#include "base/location.h"
|
||||||
+#include "base/logging.h"
|
+#include "base/logging.h"
|
||||||
|
#include "base/not_fatal_until.h"
|
||||||
#include "base/notreached.h"
|
#include "base/notreached.h"
|
||||||
#include "base/task/sequenced_task_runner.h"
|
#include "base/task/sequenced_task_runner.h"
|
||||||
#include "base/trace_event/trace_event.h"
|
@@ -40,6 +41,9 @@ RulesetFilePtr VerifiedRulesetDealer::OpenAndSetRulesetFile(
|
||||||
@@ -39,6 +40,9 @@ RulesetFilePtr VerifiedRulesetDealer::OpenAndSetRulesetFile(
|
|
||||||
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("loading"),
|
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("loading"),
|
||||||
"VerifiedRulesetDealer::OpenAndSetRulesetFile", "file_valid",
|
"VerifiedRulesetDealer::OpenAndSetRulesetFile", "file_valid",
|
||||||
file->IsValid());
|
file->IsValid());
|
||||||
@@ -2005,14 +1989,14 @@ diff --git a/components/subresource_filter/core/browser/verified_ruleset_dealer.
|
|||||||
diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/components/subresource_filter/core/common/indexed_ruleset.cc
|
diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/components/subresource_filter/core/common/indexed_ruleset.cc
|
||||||
--- a/components/subresource_filter/core/common/indexed_ruleset.cc
|
--- a/components/subresource_filter/core/common/indexed_ruleset.cc
|
||||||
+++ b/components/subresource_filter/core/common/indexed_ruleset.cc
|
+++ b/components/subresource_filter/core/common/indexed_ruleset.cc
|
||||||
@@ -7,6 +7,7 @@
|
@@ -6,6 +6,7 @@
|
||||||
|
|
||||||
#include "base/check.h"
|
#include "base/check.h"
|
||||||
#include "base/functional/callback.h"
|
|
||||||
#include "base/hash/hash.h"
|
#include "base/hash/hash.h"
|
||||||
+#include "base/logging.h"
|
+#include "base/logging.h"
|
||||||
#include "base/metrics/histogram_functions.h"
|
#include "base/metrics/histogram_functions.h"
|
||||||
|
#include "base/not_fatal_until.h"
|
||||||
#include "base/strings/strcat.h"
|
#include "base/strings/strcat.h"
|
||||||
#include "base/trace_event/trace_event.h"
|
|
||||||
@@ -38,7 +39,9 @@ VerifyStatus GetVerifyStatus(base::span<const uint8_t> buffer,
|
@@ -38,7 +39,9 @@ VerifyStatus GetVerifyStatus(base::span<const uint8_t> buffer,
|
||||||
// least once. The verifier detects a subset of the errors detected by the
|
// least once. The verifier detects a subset of the errors detected by the
|
||||||
// checksum, and is unneeded once expected_checksum is consistently nonzero.
|
// checksum, and is unneeded once expected_checksum is consistently nonzero.
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/chrome/browser/ui/views/toolbar/reload_button.cc b/chrome/browser/ui/views/toolbar/reload_button.cc
|
diff --git a/chrome/browser/ui/views/toolbar/reload_button.cc b/chrome/browser/ui/views/toolbar/reload_button.cc
|
||||||
--- a/chrome/browser/ui/views/toolbar/reload_button.cc
|
--- a/chrome/browser/ui/views/toolbar/reload_button.cc
|
||||||
+++ b/chrome/browser/ui/views/toolbar/reload_button.cc
|
+++ b/chrome/browser/ui/views/toolbar/reload_button.cc
|
||||||
@@ -291,6 +291,14 @@ void ReloadButton::ButtonPressed(const ui::Event& event) {
|
@@ -226,6 +226,14 @@ void ReloadButton::ButtonPressed(const ui::Event& event) {
|
||||||
command = IDC_RELOAD;
|
command = IDC_RELOAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,9 +33,9 @@ diff --git a/chrome/browser/ui/views/toolbar/reload_button.cc b/chrome/browser/u
|
|||||||
diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
|
diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
|
||||||
--- a/ui/views/widget/widget.h
|
--- a/ui/views/widget/widget.h
|
||||||
+++ b/ui/views/widget/widget.h
|
+++ b/ui/views/widget/widget.h
|
||||||
@@ -1474,6 +1474,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
@@ -1362,6 +1362,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||||
// initialized.
|
void UpdateAccessibleNameForRootView();
|
||||||
void SaveWindowPlacementIfNeeded();
|
void UpdateAccessibleURLForRootView(const GURL& url);
|
||||||
|
|
||||||
+ // Type of ways to ignore activation changes.
|
+ // Type of ways to ignore activation changes.
|
||||||
+ enum class DisableActivationChangeHandlingType {
|
+ enum class DisableActivationChangeHandlingType {
|
||||||
@@ -53,8 +53,8 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
|
|||||||
protected:
|
protected:
|
||||||
// Creates the RootView to be used within this Widget. Subclasses may override
|
// Creates the RootView to be used within this Widget. Subclasses may override
|
||||||
// to create custom RootViews that do specialized event processing.
|
// to create custom RootViews that do specialized event processing.
|
||||||
@@ -1516,13 +1529,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
@@ -1400,13 +1413,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||||
void set_widget_closed() { widget_closed_ = true; }
|
ui::ColorProviderKey GetColorProviderKey() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
- // Type of ways to ignore activation changes.
|
- // Type of ways to ignore activation changes.
|
||||||
@@ -65,9 +65,9 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
|
|||||||
- };
|
- };
|
||||||
-
|
-
|
||||||
class PaintAsActiveLockImpl;
|
class PaintAsActiveLockImpl;
|
||||||
class ScopedCallStackLock;
|
|
||||||
|
|
||||||
@@ -1534,11 +1540,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
friend class ButtonTest;
|
||||||
|
@@ -1417,11 +1423,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||||
friend class ui_devtools::BubbleLocking;
|
friend class ui_devtools::BubbleLocking;
|
||||||
friend void DisableActivationChangeHandlingForTests();
|
friend void DisableActivationChangeHandlingForTests();
|
||||||
|
|
||||||
|
|||||||
@@ -6,37 +6,24 @@ In site settings added ability to block all popups per site
|
|||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
.../settings/site_settings/popups_page.html | 2 +
|
|
||||||
.../tab_under_navigation_throttle.cc | 11 +-
|
.../tab_under_navigation_throttle.cc | 11 +-
|
||||||
.../android/popup_blocked_message_delegate.cc | 20 ++-
|
.../android/popup_blocked_message_delegate.cc | 20 +++-
|
||||||
.../android/popup_blocked_message_delegate.h | 1 +
|
.../android/popup_blocked_message_delegate.h | 1 +
|
||||||
components/blocked_content/popup_blocker.cc | 3 +
|
components/blocked_content/popup_blocker.cc | 3 +
|
||||||
components/blocked_content_strings.grdp | 3 +
|
components/blocked_content_strings.grdp | 3 +
|
||||||
.../impl/BromitePopupContentSetting.java | 115 ++++++++++++++++++
|
.../impl/BromitePopupContentSetting.java | 106 ++++++++++++++++++
|
||||||
.../bromite_content_settings/popups.grdp | 18 +++
|
.../bromite_content_settings/popups.grdp | 12 ++
|
||||||
.../bromite_content_settings/popups.inc | 13 ++
|
.../bromite_content_settings/popups.inc | 8 ++
|
||||||
.../core/browser/content_settings_registry.cc | 2 +-
|
.../core/browser/content_settings_registry.cc | 2 +-
|
||||||
10 files changed, 182 insertions(+), 6 deletions(-)
|
9 files changed, 160 insertions(+), 6 deletions(-)
|
||||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromitePopupContentSetting.java
|
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromitePopupContentSetting.java
|
||||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/popups.grdp
|
create mode 100644 components/browser_ui/strings/bromite_content_settings/popups.grdp
|
||||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/popups.inc
|
create mode 100644 components/content_settings/core/browser/bromite_content_settings/popups.inc
|
||||||
|
|
||||||
diff --git a/chrome/browser/resources/settings/site_settings/popups_page.html b/chrome/browser/resources/settings/site_settings/popups_page.html
|
|
||||||
--- a/chrome/browser/resources/settings/site_settings/popups_page.html
|
|
||||||
+++ b/chrome/browser/resources/settings/site_settings/popups_page.html
|
|
||||||
@@ -10,6 +10,8 @@
|
|
||||||
category="[[contentSettingsTypesEnum_.POPUPS]]"
|
|
||||||
allow-option-label="$i18n{siteSettingsPopupsAllowed}"
|
|
||||||
allow-option-icon="cr:open-in-new"
|
|
||||||
+ ask-option-label="$i18n{brSiteSettingspopupsAsk}"
|
|
||||||
+ ask-option-icon="privacy:open-in-new-off"
|
|
||||||
block-option-label="$i18n{siteSettingsPopupsBlocked}"
|
|
||||||
block-option-icon="privacy:open-in-new-off">
|
|
||||||
</settings-category-default-radio-group>
|
|
||||||
diff --git a/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc b/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc
|
diff --git a/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc b/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc
|
||||||
--- a/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc
|
--- a/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc
|
||||||
+++ b/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc
|
+++ b/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc
|
||||||
@@ -143,9 +143,14 @@ TabUnderNavigationThrottle::MaybeBlockNavigation() {
|
@@ -142,9 +142,14 @@ TabUnderNavigationThrottle::MaybeBlockNavigation() {
|
||||||
|
|
||||||
LogTabUnderAttempt(navigation_handle());
|
LogTabUnderAttempt(navigation_handle());
|
||||||
|
|
||||||
@@ -146,7 +133,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromitePopupContentSetting.java
|
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromitePopupContentSetting.java
|
||||||
@@ -0,0 +1,115 @@
|
@@ -0,0 +1,106 @@
|
||||||
+/*
|
+/*
|
||||||
+ This file is part of Bromite.
|
+ This file is part of Bromite.
|
||||||
+
|
+
|
||||||
@@ -173,7 +160,7 @@ new file mode 100644
|
|||||||
+import org.chromium.components.browser_ui.site_settings.BromiteCustomContentSetting;
|
+import org.chromium.components.browser_ui.site_settings.BromiteCustomContentSetting;
|
||||||
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
||||||
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
||||||
+import org.chromium.components.content_settings.ContentSetting;
|
+import org.chromium.components.content_settings.ContentSettingValues;
|
||||||
+import org.chromium.components.content_settings.ContentSettingsType;
|
+import org.chromium.components.content_settings.ContentSettingsType;
|
||||||
+import org.chromium.content_public.browser.BrowserContextHandle;
|
+import org.chromium.content_public.browser.BrowserContextHandle;
|
||||||
+
|
+
|
||||||
@@ -186,8 +173,8 @@ new file mode 100644
|
|||||||
+public class BromitePopupContentSetting extends BromiteCustomContentSetting {
|
+public class BromitePopupContentSetting extends BromiteCustomContentSetting {
|
||||||
+ public BromitePopupContentSetting() {
|
+ public BromitePopupContentSetting() {
|
||||||
+ super(/*contentSettingsType*/ ContentSettingsType.POPUPS,
|
+ super(/*contentSettingsType*/ ContentSettingsType.POPUPS,
|
||||||
+ /*defaultEnabledValue*/ ContentSetting.ALLOW,
|
+ /*defaultEnabledValue*/ ContentSettingValues.ALLOW,
|
||||||
+ /*defaultDisabledValue*/ ContentSetting.BLOCK,
|
+ /*defaultDisabledValue*/ ContentSettingValues.BLOCK,
|
||||||
+ /*allowException*/ true,
|
+ /*allowException*/ true,
|
||||||
+ /*preferenceKey*/ "popups",
|
+ /*preferenceKey*/ "popups",
|
||||||
+ /*profilePrefKey*/ "popups");
|
+ /*profilePrefKey*/ "popups");
|
||||||
@@ -206,13 +193,13 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public int getCategorySummary(@Nullable @ContentSetting int value) {
|
+ public int getCategorySummary(@Nullable @ContentSettingValues int value) {
|
||||||
+ switch (value) {
|
+ switch (value) {
|
||||||
+ case ContentSetting.ALLOW:
|
+ case ContentSettingValues.ALLOW:
|
||||||
+ return R.string.website_settings_category_popup_allowed;
|
+ return R.string.website_settings_category_popup_allowed;
|
||||||
+ case ContentSetting.BLOCK:
|
+ case ContentSettingValues.BLOCK:
|
||||||
+ return R.string.website_settings_category_popup_blocked;
|
+ return R.string.website_settings_category_popup_blocked;
|
||||||
+ case ContentSetting.ASK:
|
+ case ContentSettingValues.ASK:
|
||||||
+ return R.string.website_settings_category_popup_block_all;
|
+ return R.string.website_settings_category_popup_block_all;
|
||||||
+ default:
|
+ default:
|
||||||
+ return 0;
|
+ return 0;
|
||||||
@@ -239,15 +226,6 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public int[] getTriStateSettingIconIDs() {
|
|
||||||
+ return new int[] {
|
|
||||||
+ R.drawable.permission_popups,
|
|
||||||
+ R.drawable.permission_popups,
|
|
||||||
+ R.drawable.sensors_off_24px
|
|
||||||
+ };
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public boolean showOnlyDescriptions() {
|
+ public boolean showOnlyDescriptions() {
|
||||||
+ return true;
|
+ return true;
|
||||||
+ }
|
+ }
|
||||||
@@ -258,23 +236,17 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSetting int value) {
|
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
|
||||||
+ return ContentSetting.ALLOW != value;
|
+ return ContentSettingValues.ALLOW != value;
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/components/browser_ui/strings/bromite_content_settings/popups.grdp b/components/browser_ui/strings/bromite_content_settings/popups.grdp
|
diff --git a/components/browser_ui/strings/bromite_content_settings/popups.grdp b/components/browser_ui/strings/bromite_content_settings/popups.grdp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/components/browser_ui/strings/bromite_content_settings/popups.grdp
|
+++ b/components/browser_ui/strings/bromite_content_settings/popups.grdp
|
||||||
@@ -0,0 +1,18 @@
|
@@ -0,0 +1,12 @@
|
||||||
+<?xml version="1.0" encoding="utf-8"?>
|
+<?xml version="1.0" encoding="utf-8"?>
|
||||||
+<grit-part>
|
+<grit-part>
|
||||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_POPUP" desc="" formatter_data="android_java">
|
|
||||||
+ Block sites from showing pop-ups and redirects
|
|
||||||
+ </message>
|
|
||||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_DESCRIPTION" desc="" formatter_data="android_java">
|
|
||||||
+ When on, sites can use pop-ups and redirects. When off, sites can’t use pop-ups and redirects.
|
|
||||||
+ </message>
|
|
||||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCK_ALL" desc="" formatter_data="android_java">
|
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCK_ALL" desc="" formatter_data="android_java">
|
||||||
+ Block all popups
|
+ Block all popups
|
||||||
+ </message>
|
+ </message>
|
||||||
@@ -289,24 +261,19 @@ diff --git a/components/content_settings/core/browser/bromite_content_settings/p
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/components/content_settings/core/browser/bromite_content_settings/popups.inc
|
+++ b/components/content_settings/core/browser/bromite_content_settings/popups.inc
|
||||||
@@ -0,0 +1,13 @@
|
@@ -0,0 +1,8 @@
|
||||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||||
+ ->GetMutable(ContentSettingsType::POPUPS)
|
+ ->GetMutable(ContentSettingsType::POPUPS)
|
||||||
+ ->set_show_into_info_page()
|
+ ->set_show_into_info_page()
|
||||||
+ .set_desktop_ui()
|
+ .set_desktop_ui()
|
||||||
+ .set_is_renderer_content_setting()
|
+ .set_is_renderer_content_setting()
|
||||||
+ .set_title_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP)
|
|
||||||
+ .set_description_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_DESCRIPTION)
|
|
||||||
+ .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_ALLOWED)
|
+ .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_ALLOWED)
|
||||||
+ .set_ask_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCK_ALL)
|
+ .set_ask_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCK_ALL)
|
||||||
+ .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCKED)
|
+ .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCKED);
|
||||||
+ .set_allowed_exceptions_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_ALLOWED)
|
|
||||||
+ .set_blocked_exceptions_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP_BLOCKED)
|
|
||||||
+ .set_mid_sentence_ui(IDS_WEBSITE_SETTINGS_CATEGORY_POPUP);
|
|
||||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||||
@@ -139,7 +139,7 @@ void ContentSettingsRegistry::Init() {
|
@@ -134,7 +134,7 @@ void ContentSettingsRegistry::Init() {
|
||||||
WebsiteSettingsInfo::SYNCABLE,
|
WebsiteSettingsInfo::SYNCABLE,
|
||||||
/*allowlisted_primary_schemes=*/
|
/*allowlisted_primary_schemes=*/
|
||||||
{kChromeUIScheme, kChromeDevToolsScheme, kExtensionScheme},
|
{kChromeUIScheme, kChromeDevToolsScheme, kExtensionScheme},
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/services/network/cors/preflight_cache.cc b/services/network/cors/preflight_cache.cc
|
diff --git a/services/network/cors/preflight_cache.cc b/services/network/cors/preflight_cache.cc
|
||||||
--- a/services/network/cors/preflight_cache.cc
|
--- a/services/network/cors/preflight_cache.cc
|
||||||
+++ b/services/network/cors/preflight_cache.cc
|
+++ b/services/network/cors/preflight_cache.cc
|
||||||
@@ -198,6 +198,10 @@ void PreflightCache::MayPurgeForTesting(size_t max_entries, size_t purge_unit) {
|
@@ -200,6 +200,10 @@ void PreflightCache::MayPurgeForTesting(size_t max_entries, size_t purge_unit) {
|
||||||
MayPurge(max_entries, purge_unit);
|
MayPurge(max_entries, purge_unit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ diff --git a/services/network/cors/preflight_cache.cc b/services/network/cors/pr
|
|||||||
diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/preflight_cache.h
|
diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/preflight_cache.h
|
||||||
--- a/services/network/cors/preflight_cache.h
|
--- a/services/network/cors/preflight_cache.h
|
||||||
+++ b/services/network/cors/preflight_cache.h
|
+++ b/services/network/cors/preflight_cache.h
|
||||||
@@ -76,6 +76,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightCache final {
|
@@ -78,6 +78,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightCache final {
|
||||||
// `max_entries` for testing.
|
// `max_entries` for testing.
|
||||||
void MayPurgeForTesting(size_t max_entries, size_t purge_unit);
|
void MayPurgeForTesting(size_t max_entries, size_t purge_unit);
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/pre
|
|||||||
diff --git a/services/network/cors/preflight_controller.cc b/services/network/cors/preflight_controller.cc
|
diff --git a/services/network/cors/preflight_controller.cc b/services/network/cors/preflight_controller.cc
|
||||||
--- a/services/network/cors/preflight_controller.cc
|
--- a/services/network/cors/preflight_controller.cc
|
||||||
+++ b/services/network/cors/preflight_controller.cc
|
+++ b/services/network/cors/preflight_controller.cc
|
||||||
@@ -644,6 +644,10 @@ void PreflightController::ClearCorsPreflightCache(
|
@@ -835,6 +835,10 @@ void PreflightController::ClearCorsPreflightCache(
|
||||||
cache_.ClearCache(std::move(url_filter));
|
cache_.ClearCache(std::move(url_filter));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,13 +51,13 @@ diff --git a/services/network/cors/preflight_controller.cc b/services/network/co
|
|||||||
+
|
+
|
||||||
void PreflightController::RemoveLoader(PreflightLoader* loader) {
|
void PreflightController::RemoveLoader(PreflightLoader* loader) {
|
||||||
auto it = loaders_.find(loader);
|
auto it = loaders_.find(loader);
|
||||||
CHECK(it != loaders_.end());
|
CHECK(it != loaders_.end(), base::NotFatalUntil::M130);
|
||||||
diff --git a/services/network/cors/preflight_controller.h b/services/network/cors/preflight_controller.h
|
diff --git a/services/network/cors/preflight_controller.h b/services/network/cors/preflight_controller.h
|
||||||
--- a/services/network/cors/preflight_controller.h
|
--- a/services/network/cors/preflight_controller.h
|
||||||
+++ b/services/network/cors/preflight_controller.h
|
+++ b/services/network/cors/preflight_controller.h
|
||||||
@@ -117,6 +117,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightController final {
|
@@ -157,6 +157,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightController final {
|
||||||
mojo::PendingRemote<mojom::URLLoaderNetworkServiceObserver>
|
url_loader_network_service_observer,
|
||||||
url_loader_network_service_observer);
|
const PreflightMode& preflight_mode);
|
||||||
|
|
||||||
+ void ClearCache();
|
+ void ClearCache();
|
||||||
+
|
+
|
||||||
@@ -79,12 +79,12 @@ diff --git a/services/network/cors/preflight_result.cc b/services/network/cors/p
|
|||||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||||
--- a/services/network/network_context.cc
|
--- a/services/network/network_context.cc
|
||||||
+++ b/services/network/network_context.cc
|
+++ b/services/network/network_context.cc
|
||||||
@@ -1431,6 +1431,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
|
@@ -1320,6 +1320,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
|
||||||
base::Time end_time,
|
base::Time end_time,
|
||||||
mojom::ClearDataFilterPtr filter,
|
mojom::ClearDataFilterPtr filter,
|
||||||
ClearHttpCacheCallback callback) {
|
ClearHttpCacheCallback callback) {
|
||||||
+ cors_preflight_controller_.ClearCache();
|
+ cors_preflight_controller_.ClearCache();
|
||||||
if (base::FeatureList::IsEnabled(net::features::kLogicalClearHttpCache)) {
|
// It's safe to use Unretained below as the HttpCacheDataRemover is owned by
|
||||||
net::HttpCache* cache =
|
// |this| and guarantees it won't call its callback if deleted.
|
||||||
url_request_context_->http_transaction_factory()->GetCache();
|
http_cache_data_removers_.push_back(HttpCacheDataRemover::CreateAndStart(
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -7,65 +7,30 @@ Use Google Chrome branding for client hints
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
.../SupportLibWebViewChromiumFactory.java | 2 +-
|
components/embedder_support/user_agent_utils.cc | 4 +---
|
||||||
components/client_hints/browser/client_hints.cc | 5 +++--
|
content/browser/client_hints/client_hints.cc | 15 ++++++++++-----
|
||||||
components/embedder_support/user_agent_utils.cc | 5 ++---
|
.../browser/loader/navigation_url_loader_impl.cc | 5 +++++
|
||||||
content/browser/client_hints/client_hints.cc | 17 +++++++++++++++--
|
.../about_flags_cc/Client-hints-overrides.inc | 9 +++++++++
|
||||||
.../about_flags_cc/Client-hints-overrides.inc | 9 +++++++++
|
.../common/features_cc/Client-hints-overrides.inc | 1 +
|
||||||
.../features_cc/Client-hints-overrides.inc | 1 +
|
.../cpp/features_cc/Client-hints-overrides.inc | 1 +
|
||||||
.../cpp/features_cc/Client-hints-overrides.inc | 1 +
|
net/http/http_network_transaction.cc | 1 +
|
||||||
net/http/http_network_transaction.cc | 1 +
|
services/network/public/cpp/client_hints.cc | 1 +
|
||||||
services/network/public/cpp/client_hints.cc | 2 +-
|
.../blink/common/client_hints/client_hints.cc | 6 ++++--
|
||||||
.../blink/common/client_hints/client_hints.cc | 6 ++++--
|
.../common/client_hints/enabled_client_hints.cc | 6 ++++++
|
||||||
.../common/client_hints/enabled_client_hints.cc | 8 ++++++++
|
.../blink/renderer/core/frame/navigator_ua.idl | 4 +++-
|
||||||
.../blink/renderer/core/frame/navigator_ua.idl | 4 +++-
|
.../renderer/core/frame/navigator_ua_data.cc | 1 +
|
||||||
.../renderer/core/frame/navigator_ua_data.cc | 1 +
|
.../renderer/core/frame/navigator_ua_data.idl | 5 ++++-
|
||||||
.../renderer/core/frame/navigator_ua_data.idl | 5 ++++-
|
.../renderer/core/loader/frame_fetch_context.cc | 4 +++-
|
||||||
.../renderer/core/loader/frame_fetch_context.cc | 4 +++-
|
.../platform/runtime_enabled_features.json5 | 8 ++++++--
|
||||||
.../platform/runtime_enabled_features.json5 | 5 +++++
|
15 files changed, 56 insertions(+), 15 deletions(-)
|
||||||
16 files changed, 62 insertions(+), 14 deletions(-)
|
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc
|
||||||
create mode 100644 cromite_flags/content/common/features_cc/Client-hints-overrides.inc
|
create mode 100644 cromite_flags/content/common/features_cc/Client-hints-overrides.inc
|
||||||
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc
|
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc
|
||||||
|
|
||||||
diff --git a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
|
|
||||||
--- a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
|
|
||||||
+++ b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
|
|
||||||
@@ -99,7 +99,7 @@ public class SupportLibWebViewChromiumFactory implements WebViewProviderFactoryB
|
|
||||||
Features.GET_COOKIE_INFO,
|
|
||||||
Features.WEB_MESSAGE_ARRAY_BUFFER,
|
|
||||||
Features.IMAGE_DRAG_DROP,
|
|
||||||
- Features.USER_AGENT_METADATA,
|
|
||||||
+ // Features.USER_AGENT_METADATA,
|
|
||||||
Features.MULTI_PROFILE,
|
|
||||||
Features.ATTRIBUTION_BEHAVIOR,
|
|
||||||
Features.WEBVIEW_MEDIA_INTEGRITY_API_STATUS,
|
|
||||||
diff --git a/components/client_hints/browser/client_hints.cc b/components/client_hints/browser/client_hints.cc
|
|
||||||
--- a/components/client_hints/browser/client_hints.cc
|
|
||||||
+++ b/components/client_hints/browser/client_hints.cc
|
|
||||||
@@ -36,7 +36,7 @@ ParseInitializeClientHintsStorage() {
|
|
||||||
auto results =
|
|
||||||
base::flat_map<url::Origin,
|
|
||||||
std::vector<network::mojom::WebClientHintsType>>();
|
|
||||||
-
|
|
||||||
+ if ((true)) return results;
|
|
||||||
std::string raw_client_hint_json =
|
|
||||||
base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
|
|
||||||
switches::kInitializeClientHintsStorage);
|
|
||||||
@@ -201,7 +201,8 @@ void ClientHints::PersistClientHints(
|
|
||||||
// TODO(tbansal): crbug.com/735518. Disable updates to client hints settings
|
|
||||||
// when cookies are disabled for |primary_origin|.
|
|
||||||
content_settings::ContentSettingConstraints constraints;
|
|
||||||
- constraints.set_session_model(content_settings::mojom::SessionModel::DURABLE);
|
|
||||||
+ constraints.set_session_model(content_settings::mojom::SessionModel::USER_SESSION);
|
|
||||||
+ constraints.set_lifetime(base::Minutes(1));
|
|
||||||
settings_map_->SetWebsiteSettingDefaultScope(
|
|
||||||
primary_url, GURL(), ContentSettingsType::CLIENT_HINTS,
|
|
||||||
base::Value(std::move(client_hints_dictionary)), constraints);
|
|
||||||
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
|
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
|
||||||
--- a/components/embedder_support/user_agent_utils.cc
|
--- a/components/embedder_support/user_agent_utils.cc
|
||||||
+++ b/components/embedder_support/user_agent_utils.cc
|
+++ b/components/embedder_support/user_agent_utils.cc
|
||||||
@@ -163,9 +163,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
|
@@ -188,9 +188,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
|
||||||
bool parse_result = base::StringToInt(major_version, &major_version_number);
|
bool parse_result = base::StringToInt(major_version, &major_version_number);
|
||||||
DCHECK(parse_result);
|
DCHECK(parse_result);
|
||||||
std::optional<std::string> brand;
|
std::optional<std::string> brand;
|
||||||
@@ -76,57 +41,67 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
|
|||||||
|
|
||||||
std::string brand_version =
|
std::string brand_version =
|
||||||
output_version_type == blink::UserAgentBrandVersionType::kFullVersion
|
output_version_type == blink::UserAgentBrandVersionType::kFullVersion
|
||||||
@@ -662,6 +660,7 @@ blink::UserAgentMetadata GetUserAgentMetadata(bool only_low_entropy_ch) {
|
|
||||||
}
|
|
||||||
|
|
||||||
// High entropy client hints.
|
|
||||||
+ if ((true)) return metadata;
|
|
||||||
metadata.brand_full_version_list =
|
|
||||||
GetUserAgentBrandFullVersionListInternal(std::nullopt);
|
|
||||||
metadata.full_version = std::string(version_info::GetVersionNumber());
|
|
||||||
diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc
|
diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc
|
||||||
--- a/content/browser/client_hints/client_hints.cc
|
--- a/content/browser/client_hints/client_hints.cc
|
||||||
+++ b/content/browser/client_hints/client_hints.cc
|
+++ b/content/browser/client_hints/client_hints.cc
|
||||||
@@ -57,6 +57,7 @@
|
@@ -60,6 +60,7 @@
|
||||||
#include "third_party/blink/public/common/features.h"
|
#include "third_party/blink/public/common/permissions_policy/origin_with_possible_wildcards.h"
|
||||||
#include "third_party/blink/public/common/page/page_zoom.h"
|
#include "third_party/blink/public/common/permissions_policy/permissions_policy.h"
|
||||||
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
|
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
|
||||||
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
|
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
|
||||||
#include "ui/display/display.h"
|
#include "ui/display/display.h"
|
||||||
#include "ui/display/screen.h"
|
#include "ui/display/screen.h"
|
||||||
#include "url/origin.h"
|
#include "url/origin.h"
|
||||||
@@ -601,10 +602,21 @@ bool IsClientHintEnabled(const ClientHintsExtendedData& data,
|
@@ -704,7 +705,8 @@ void UpdateNavigationRequestClientUaHeadersImpl(
|
||||||
|
// value, disable them. This overwrites previous decision from UI.
|
||||||
bool IsClientHintAllowed(const ClientHintsExtendedData& data,
|
disable_due_to_custom_ua = !ua_metadata.has_value();
|
||||||
WebClientHintsType type) {
|
|
||||||
+ if (!blink::RuntimeEnabledFeatures::UserAgentClientHintEnabled())
|
|
||||||
+ return false;
|
|
||||||
+
|
|
||||||
+ bool allowed = false;
|
|
||||||
+ if (type == WebClientHintsType::kUA ||
|
|
||||||
+ type == WebClientHintsType::kUAMobile ||
|
|
||||||
+ type == WebClientHintsType::kUAPlatform ||
|
|
||||||
+ type == WebClientHintsType::kUAModel ||
|
|
||||||
+ type == WebClientHintsType::kUAPlatformVersion) {
|
|
||||||
+ allowed = true;
|
|
||||||
+ }
|
|
||||||
if (data.is_outermost_main_frame) {
|
|
||||||
- return true;
|
|
||||||
+ return allowed;
|
|
||||||
}
|
}
|
||||||
- return (data.permissions_policy->IsFeatureEnabledForOrigin(
|
-
|
||||||
+ return ((false)) && (data.permissions_policy->IsFeatureEnabledForOrigin(
|
+ if (!blink::RuntimeEnabledFeatures::UserAgentClientHintEnabled())
|
||||||
network::GetClientHintToPolicyFeatureMap().at(type),
|
+ disable_due_to_custom_ua = true;
|
||||||
data.resource_origin));
|
if (!disable_due_to_custom_ua) {
|
||||||
}
|
if (!ua_metadata.has_value())
|
||||||
@@ -629,6 +641,7 @@ bool IsJavascriptEnabled(FrameTreeNode* frame_tree_node) {
|
ua_metadata = delegate->GetUserAgentMetadata();
|
||||||
void UpdateIFramePermissionsPolicyWithDelegationSupportForClientHints(
|
@@ -886,10 +888,12 @@ void AddRequestClientHintsHeaders(
|
||||||
ClientHintsExtendedData& data,
|
AddEctHeader(headers, network_quality_tracker, url);
|
||||||
const network::ParsedPermissionsPolicy& container_policy) {
|
}
|
||||||
+ if ((true)) return;
|
|
||||||
if (container_policy.empty()) {
|
- UpdateNavigationRequestClientUaHeadersImpl(
|
||||||
|
- delegate, is_ua_override_on, frame_tree_node,
|
||||||
|
- ClientUaHeaderCallType::kDuringCreation, headers, container_policy,
|
||||||
|
- request_url, data);
|
||||||
|
+ if (blink::RuntimeEnabledFeatures::UserAgentClientHintEnabled()) {
|
||||||
|
+ UpdateNavigationRequestClientUaHeadersImpl(
|
||||||
|
+ delegate, is_ua_override_on, frame_tree_node,
|
||||||
|
+ ClientUaHeaderCallType::kDuringCreation, headers, container_policy,
|
||||||
|
+ request_url, data);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (ShouldAddClientHint(data, WebClientHintsType::kPrefersColorScheme)) {
|
||||||
|
AddPrefersColorSchemeHeader(headers, frame_tree_node);
|
||||||
|
@@ -975,6 +979,7 @@ ParseAndPersistAcceptCHForNavigation(
|
||||||
|
BrowserContext* context,
|
||||||
|
ClientHintsControllerDelegate* delegate,
|
||||||
|
FrameTreeNode* frame_tree_node) {
|
||||||
|
+ if ((true)) return std::nullopt;
|
||||||
|
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||||
|
DCHECK(context);
|
||||||
|
DCHECK(parsed_headers);
|
||||||
|
diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc
|
||||||
|
--- a/content/browser/loader/navigation_url_loader_impl.cc
|
||||||
|
+++ b/content/browser/loader/navigation_url_loader_impl.cc
|
||||||
|
@@ -1301,6 +1301,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ if (!base::FeatureList::IsEnabled(network::features::kAcceptCHFrame)) {
|
||||||
|
+ std::move(callback).Run(net::OK);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
LogAcceptCHFrameStatus(AcceptCHFrameRestart::kFramePresent);
|
||||||
|
|
||||||
|
// Given that this is happening in the middle of navigation, there should
|
||||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc b/cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc b/cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@@ -146,17 +121,17 @@ new file mode 100644
|
|||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/cromite_flags/content/common/features_cc/Client-hints-overrides.inc
|
+++ b/cromite_flags/content/common/features_cc/Client-hints-overrides.inc
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+SET_CROMITE_FEATURE_ENABLED(kCriticalClientHint);
|
+SET_CROMITE_FEATURE_DISABLED(kCriticalClientHint);
|
||||||
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc b/cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc
|
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc b/cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc
|
+++ b/cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+SET_CROMITE_FEATURE_ENABLED(kAcceptCHFrame);
|
+SET_CROMITE_FEATURE_DISABLED(kAcceptCHFrame);
|
||||||
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
|
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
|
||||||
--- a/net/http/http_network_transaction.cc
|
--- a/net/http/http_network_transaction.cc
|
||||||
+++ b/net/http/http_network_transaction.cc
|
+++ b/net/http/http_network_transaction.cc
|
||||||
@@ -120,6 +120,7 @@ const size_t kMaxRestarts = 32;
|
@@ -109,6 +109,7 @@ const size_t kMaxRestarts = 32;
|
||||||
|
|
||||||
// Returns true when Early Hints are allowed on the given protocol.
|
// Returns true when Early Hints are allowed on the given protocol.
|
||||||
bool EarlyHintsAreAllowedOn(HttpConnectionInfo connection_info) {
|
bool EarlyHintsAreAllowedOn(HttpConnectionInfo connection_info) {
|
||||||
@@ -167,12 +142,11 @@ diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transa
|
|||||||
diff --git a/services/network/public/cpp/client_hints.cc b/services/network/public/cpp/client_hints.cc
|
diff --git a/services/network/public/cpp/client_hints.cc b/services/network/public/cpp/client_hints.cc
|
||||||
--- a/services/network/public/cpp/client_hints.cc
|
--- a/services/network/public/cpp/client_hints.cc
|
||||||
+++ b/services/network/public/cpp/client_hints.cc
|
+++ b/services/network/public/cpp/client_hints.cc
|
||||||
@@ -111,7 +111,7 @@ const DecodeMap& GetDecodeMap() {
|
@@ -112,6 +112,7 @@ const DecodeMap& GetDecodeMap() {
|
||||||
} // namespace
|
|
||||||
|
|
||||||
std::optional<std::vector<network::mojom::WebClientHintsType>>
|
std::optional<std::vector<network::mojom::WebClientHintsType>>
|
||||||
-ParseClientHintsHeader(const std::string& header) {
|
ParseClientHintsHeader(const std::string& header) {
|
||||||
+ParseClientHintsHeader(const std::string& header) { // Parse Client Hints Header
|
+ if ((true)) return std::nullopt;
|
||||||
// Accept-CH is an sh-list of tokens; see:
|
// Accept-CH is an sh-list of tokens; see:
|
||||||
// https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-header-structure-19#section-3.1
|
// https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-header-structure-19#section-3.1
|
||||||
std::optional<net::structured_headers::List> maybe_list =
|
std::optional<net::structured_headers::List> maybe_list =
|
||||||
@@ -182,12 +156,12 @@ diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party
|
|||||||
@@ -14,6 +14,7 @@
|
@@ -14,6 +14,7 @@
|
||||||
#include "base/strings/string_util.h"
|
#include "base/strings/string_util.h"
|
||||||
#include "services/network/public/cpp/client_hints.h"
|
#include "services/network/public/cpp/client_hints.h"
|
||||||
#include "services/network/public/cpp/permissions_policy/client_hints_permissions_policy_mapping.h"
|
|
||||||
+#include "third_party/blink/public/common/features_generated.h"
|
|
||||||
#include "services/network/public/cpp/permissions_policy/permissions_policy.h"
|
|
||||||
#include "third_party/blink/public/common/features.h"
|
#include "third_party/blink/public/common/features.h"
|
||||||
|
+#include "third_party/blink/public/common/features_generated.h"
|
||||||
|
#include "third_party/blink/public/common/permissions_policy/permissions_policy.h"
|
||||||
#include "url/origin.h"
|
#include "url/origin.h"
|
||||||
@@ -22,11 +23,12 @@ namespace blink {
|
|
||||||
|
@@ -108,11 +109,12 @@ const PolicyFeatureToClientHintMap& GetPolicyFeatureToClientHintMap() {
|
||||||
|
|
||||||
bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) {
|
bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
@@ -205,15 +179,13 @@ diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party
|
|||||||
diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/third_party/blink/common/client_hints/enabled_client_hints.cc
|
diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/third_party/blink/common/client_hints/enabled_client_hints.cc
|
||||||
--- a/third_party/blink/common/client_hints/enabled_client_hints.cc
|
--- a/third_party/blink/common/client_hints/enabled_client_hints.cc
|
||||||
+++ b/third_party/blink/common/client_hints/enabled_client_hints.cc
|
+++ b/third_party/blink/common/client_hints/enabled_client_hints.cc
|
||||||
@@ -15,6 +15,14 @@ namespace {
|
@@ -15,6 +15,12 @@ namespace {
|
||||||
using ::network::mojom::WebClientHintsType;
|
using ::network::mojom::WebClientHintsType;
|
||||||
|
|
||||||
bool IsDisabledByFeature(const WebClientHintsType type) {
|
bool IsDisabledByFeature(const WebClientHintsType type) {
|
||||||
+ if (type == WebClientHintsType::kUA ||
|
+ if (type == WebClientHintsType::kUA ||
|
||||||
+ type == WebClientHintsType::kUAMobile ||
|
+ type == WebClientHintsType::kUAMobile ||
|
||||||
+ type == WebClientHintsType::kUAPlatform ||
|
+ type == WebClientHintsType::kUAPlatform) {
|
||||||
+ type == WebClientHintsType::kUAModel ||
|
|
||||||
+ type == WebClientHintsType::kUAPlatformVersion) {
|
|
||||||
+ return false;
|
+ return false;
|
||||||
+ }
|
+ }
|
||||||
+ if ((true)) return true;
|
+ if ((true)) return true;
|
||||||
@@ -236,14 +208,14 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua.idl b/third_part
|
|||||||
diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_party/blink/renderer/core/frame/navigator_ua_data.cc
|
diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_party/blink/renderer/core/frame/navigator_ua_data.cc
|
||||||
--- a/third_party/blink/renderer/core/frame/navigator_ua_data.cc
|
--- a/third_party/blink/renderer/core/frame/navigator_ua_data.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/navigator_ua_data.cc
|
+++ b/third_party/blink/renderer/core/frame/navigator_ua_data.cc
|
||||||
@@ -113,6 +113,7 @@ const String& NavigatorUAData::platform() const {
|
@@ -186,6 +186,7 @@ const String& NavigatorUAData::platform() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AllowedToCollectHighEntropyValues(ExecutionContext* execution_context) {
|
bool AllowedToCollectHighEntropyValues(ExecutionContext* execution_context) {
|
||||||
+ if ((true)) return false;
|
+ if ((true)) return false;
|
||||||
// To determine whether a document is allowed to get high-entropy
|
// To determine whether a document is allowed to use the get high-entropy
|
||||||
// client hints returned by navigator.userAgentData.getHighEntropyValues(),
|
// client hints returned by navigator.userAgentData.getHighEntropyValues(),
|
||||||
// we need to check the "ch-ua-high-entropy-values" policy:
|
// check the following:
|
||||||
diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/third_party/blink/renderer/core/frame/navigator_ua_data.idl
|
diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/third_party/blink/renderer/core/frame/navigator_ua_data.idl
|
||||||
--- a/third_party/blink/renderer/core/frame/navigator_ua_data.idl
|
--- a/third_party/blink/renderer/core/frame/navigator_ua_data.idl
|
||||||
+++ b/third_party/blink/renderer/core/frame/navigator_ua_data.idl
|
+++ b/third_party/blink/renderer/core/frame/navigator_ua_data.idl
|
||||||
@@ -256,13 +228,13 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/third
|
|||||||
+ RuntimeEnabled=UserAgentClientHint,
|
+ RuntimeEnabled=UserAgentClientHint,
|
||||||
+ Exposed=(Window,Worker)
|
+ Exposed=(Window,Worker)
|
||||||
+] interface NavigatorUAData {
|
+] interface NavigatorUAData {
|
||||||
[MeasureAs=NavigatorUAData_Brands] readonly attribute FrozenArray<NavigatorUABrandVersion> brands;
|
[HighEntropy, MeasureAs=NavigatorUAData_Brands] readonly attribute FrozenArray<NavigatorUABrandVersion> brands;
|
||||||
[MeasureAs=NavigatorUAData_Mobile] readonly attribute boolean mobile;
|
[HighEntropy=Direct, MeasureAs=NavigatorUAData_Mobile] readonly attribute boolean mobile;
|
||||||
[MeasureAs=NavigatorUAData_Platform] readonly attribute DOMString platform;
|
[HighEntropy=Direct, MeasureAs=NavigatorUAData_Platform] readonly attribute DOMString platform;
|
||||||
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||||
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||||
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||||
@@ -233,6 +233,8 @@ bool ShouldSendClientHint(const network::PermissionsPolicy& policy,
|
@@ -217,6 +217,8 @@ bool ShouldSendClientHint(const PermissionsPolicy& policy,
|
||||||
bool is_1p_origin,
|
bool is_1p_origin,
|
||||||
network::mojom::blink::WebClientHintsType type,
|
network::mojom::blink::WebClientHintsType type,
|
||||||
const ClientHintsPreferences& hints_preferences) {
|
const ClientHintsPreferences& hints_preferences) {
|
||||||
@@ -271,7 +243,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
|
|||||||
// For subresource requests, sending the hint in the fetch request based on
|
// For subresource requests, sending the hint in the fetch request based on
|
||||||
// the permissions policy.
|
// the permissions policy.
|
||||||
if (!policy.IsFeatureEnabledForOrigin(
|
if (!policy.IsFeatureEnabledForOrigin(
|
||||||
@@ -725,7 +727,7 @@ void FrameFetchContext::AddClientHintsIfNecessary(
|
@@ -610,7 +612,7 @@ void FrameFetchContext::AddClientHintsIfNecessary(
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only send User Agent hints if the info is available
|
// Only send User Agent hints if the info is available
|
||||||
@@ -283,9 +255,9 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
|
|||||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
@@ -678,6 +678,11 @@
|
@@ -438,6 +438,11 @@
|
||||||
name: "AriaNotifyV2",
|
name: "AriaNotify",
|
||||||
status: {"Android": "test", "Win": "test", "Mac": "test", "Linux": "test"},
|
status: "test",
|
||||||
},
|
},
|
||||||
+ {
|
+ {
|
||||||
+ name: "UserAgentClientHint",
|
+ name: "UserAgentClientHint",
|
||||||
@@ -295,4 +267,14 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
|||||||
{
|
{
|
||||||
name: "AriaRowColIndexText",
|
name: "AriaRowColIndexText",
|
||||||
status: "stable",
|
status: "stable",
|
||||||
|
@@ -804,8 +809,7 @@
|
||||||
|
// Allows top-level sites to restrict collection of high-entropy UA client
|
||||||
|
// hints (from 3Ps, or itself) via the getHighEntropyValues API.
|
||||||
|
// crbug.com/385161047
|
||||||
|
- name: "ClientHintUAHighEntropyValuesPermissionPolicy",
|
||||||
|
- status: "test",
|
||||||
|
+ name: "ClientHintUAHighEntropyValuesPermissionPolicy", // disabled by default
|
||||||
|
},
|
||||||
|
// This ensures that clipboard event fires on a target node which is
|
||||||
|
// focused in case no visible selection is present.
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -9,12 +9,12 @@ No change in doh connections.
|
|||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
.../browser/network_session_configurator.cc | 12 ++++--------
|
.../browser/network_session_configurator.cc | 11 ++++-------
|
||||||
.../about_flags_cc/Close-Sessions-On-Ip-Change.inc | 14 ++++++++++++++
|
.../about_flags_cc/Close-Sessions-On-Ip-Change.inc | 14 ++++++++++++++
|
||||||
.../features_cc/Close-Sessions-On-Ip-Change.inc | 5 +++++
|
.../features_cc/Close-Sessions-On-Ip-Change.inc | 5 +++++
|
||||||
.../features_h/Close-Sessions-On-Ip-Change.inc | 3 +++
|
.../features_h/Close-Sessions-On-Ip-Change.inc | 3 +++
|
||||||
net/base/features.cc | 2 +-
|
net/base/features.cc | 2 +-
|
||||||
5 files changed, 27 insertions(+), 9 deletions(-)
|
5 files changed, 27 insertions(+), 8 deletions(-)
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Close-Sessions-On-Ip-Change.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Close-Sessions-On-Ip-Change.inc
|
||||||
create mode 100644 cromite_flags/net/base/features_cc/Close-Sessions-On-Ip-Change.inc
|
create mode 100644 cromite_flags/net/base/features_cc/Close-Sessions-On-Ip-Change.inc
|
||||||
create mode 100644 cromite_flags/net/base/features_h/Close-Sessions-On-Ip-Change.inc
|
create mode 100644 cromite_flags/net/base/features_h/Close-Sessions-On-Ip-Change.inc
|
||||||
@@ -22,7 +22,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/components/network_session_configurator/browser/network_session_configurator.cc b/components/network_session_configurator/browser/network_session_configurator.cc
|
diff --git a/components/network_session_configurator/browser/network_session_configurator.cc b/components/network_session_configurator/browser/network_session_configurator.cc
|
||||||
--- a/components/network_session_configurator/browser/network_session_configurator.cc
|
--- a/components/network_session_configurator/browser/network_session_configurator.cc
|
||||||
+++ b/components/network_session_configurator/browser/network_session_configurator.cc
|
+++ b/components/network_session_configurator/browser/network_session_configurator.cc
|
||||||
@@ -221,9 +221,8 @@ quic::QuicTagVector GetQuicClientConnectionOptions(
|
@@ -220,9 +220,8 @@ quic::QuicTagVector GetQuicClientConnectionOptions(
|
||||||
|
|
||||||
bool ShouldQuicCloseSessionsOnIpChange(
|
bool ShouldQuicCloseSessionsOnIpChange(
|
||||||
const VariationParameters& quic_trial_params) {
|
const VariationParameters& quic_trial_params) {
|
||||||
@@ -34,15 +34,14 @@ diff --git a/components/network_session_configurator/browser/network_session_con
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool ShouldQuicGoAwaySessionsOnIpChange(
|
bool ShouldQuicGoAwaySessionsOnIpChange(
|
||||||
@@ -304,11 +303,8 @@ bool ShouldQuicEstimateInitialRtt(
|
@@ -303,10 +302,8 @@ bool ShouldQuicEstimateInitialRtt(
|
||||||
|
|
||||||
bool ShouldQuicMigrateSessionsOnNetworkChangeV2(
|
bool ShouldQuicMigrateSessionsOnNetworkChangeV2(
|
||||||
const VariationParameters& quic_trial_params) {
|
const VariationParameters& quic_trial_params) {
|
||||||
- return GetVariationBoolParamOrFeatureSetting(
|
- return GetVariationBoolParamOrFeatureSetting(
|
||||||
- quic_trial_params, "migrate_sessions_on_network_change_v2",
|
- quic_trial_params, "migrate_sessions_on_network_change_v2",
|
||||||
- base::FeatureList::IsEnabled(
|
- base::FeatureList::IsEnabled(
|
||||||
- net::features::kMigrateSessionsOnNetworkChangeV2),
|
- net::features::kMigrateSessionsOnNetworkChangeV2));
|
||||||
- "true");
|
|
||||||
+ return base::FeatureList::IsEnabled(
|
+ return base::FeatureList::IsEnabled(
|
||||||
+ net::features::kMigrateSessionsOnNetworkChangeV2);
|
+ net::features::kMigrateSessionsOnNetworkChangeV2);
|
||||||
}
|
}
|
||||||
@@ -88,7 +87,7 @@ new file mode 100644
|
|||||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||||
--- a/net/base/features.cc
|
--- a/net/base/features.cc
|
||||||
+++ b/net/base/features.cc
|
+++ b/net/base/features.cc
|
||||||
@@ -300,7 +300,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, base::FEATURE_DISABLED_BY_DEFAULT);
|
@@ -485,7 +485,7 @@ const base::FeatureParam<bool> kIpPrivacyOnlyInIncognito{
|
||||||
// NetworkChangeNotifier::AreNetworkHandlesSupported).
|
// NetworkChangeNotifier::AreNetworkHandlesSupported).
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
inline constexpr auto kMigrateSessionsOnNetworkChangeV2Default =
|
inline constexpr auto kMigrateSessionsOnNetworkChangeV2Default =
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
|
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
|
||||||
--- a/chrome/android/chrome_public_apk_tmpl.gni
|
--- a/chrome/android/chrome_public_apk_tmpl.gni
|
||||||
+++ b/chrome/android/chrome_public_apk_tmpl.gni
|
+++ b/chrome/android/chrome_public_apk_tmpl.gni
|
||||||
@@ -597,6 +597,7 @@ template("chrome_common_apk_or_module_tmpl") {
|
@@ -663,6 +663,7 @@ template("chrome_common_apk_or_module_tmpl") {
|
||||||
[ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ]
|
[ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ]
|
||||||
loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ]
|
loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ]
|
||||||
library_always_compress += [ "libchrome_crashpad_handler.so" ]
|
library_always_compress += [ "libchrome_crashpad_handler.so" ]
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -8,17 +8,17 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
---
|
---
|
||||||
chrome/android/chrome_java_resources.gni | 2 +-
|
chrome/android/chrome_java_resources.gni | 2 +-
|
||||||
.../android/java/res/xml/main_preferences.xml | 4 +-
|
.../android/java/res/xml/main_preferences.xml | 4 +-
|
||||||
.../res/xml/privacy_preferences_cromite.xml | 196 ++++++++++++++++++
|
.../res/xml/privacy_preferences_cromite.xml | 197 ++++++++++++++++++
|
||||||
.../privacy/settings/PrivacySettings.java | 6 +-
|
.../privacy/settings/PrivacySettings.java | 4 +-
|
||||||
.../Cromite-settings-ui.grdp | 15 ++
|
.../Cromite-settings-ui.grdp | 15 ++
|
||||||
5 files changed, 218 insertions(+), 5 deletions(-)
|
5 files changed, 217 insertions(+), 5 deletions(-)
|
||||||
create mode 100644 chrome/android/java/res/xml/privacy_preferences_cromite.xml
|
create mode 100644 chrome/android/java/res/xml/privacy_preferences_cromite.xml
|
||||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp
|
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp
|
||||||
|
|
||||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||||
--- a/chrome/android/chrome_java_resources.gni
|
--- a/chrome/android/chrome_java_resources.gni
|
||||||
+++ b/chrome/android/chrome_java_resources.gni
|
+++ b/chrome/android/chrome_java_resources.gni
|
||||||
@@ -675,7 +675,7 @@ chrome_java_resources = [
|
@@ -643,7 +643,7 @@ chrome_java_resources = [
|
||||||
"java/res/xml/manage_sync_preferences.xml",
|
"java/res/xml/manage_sync_preferences.xml",
|
||||||
"java/res/xml/personalize_google_services_preferences.xml",
|
"java/res/xml/personalize_google_services_preferences.xml",
|
||||||
"java/res/xml/incognito_preferences.xml",
|
"java/res/xml/incognito_preferences.xml",
|
||||||
@@ -30,16 +30,16 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
|||||||
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/main_preferences.xml
|
--- a/chrome/android/java/res/xml/main_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
||||||
@@ -12,7 +12,7 @@ found in the LICENSE file.
|
@@ -15,7 +15,7 @@ for the previous order (main_preferences_legacy). -->
|
||||||
android:key="settings_promo_card"
|
<!-- `order=0` is reserved and it will be added in code. -->
|
||||||
android:order="0" />
|
<!-- TODO(crbug.com/364906215): Move SettingsPromoCardPreference here once SyncPromoPreference is removed -->
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
- android:key="account_and_google_services_section"
|
- android:key="account_and_google_services_section"
|
||||||
+ android:key="account_and_google_services_section" app:isPreferenceVisible="false"
|
+ android:key="account_and_google_services_section" app:isPreferenceVisible="false"
|
||||||
android:order="1001"
|
android:order="1001"
|
||||||
android:title="@string/prefs_section_account_and_google_services"/>
|
android:title="@string/prefs_section_account_and_google_services"/>
|
||||||
<org.chromium.chrome.browser.sync.settings.SignInPreference
|
<org.chromium.chrome.browser.sync.settings.SignInPreference
|
||||||
@@ -24,7 +24,7 @@ found in the LICENSE file.
|
@@ -28,7 +28,7 @@ for the previous order (main_preferences_legacy). -->
|
||||||
android:layout="@layout/account_management_account_row"
|
android:layout="@layout/account_management_account_row"
|
||||||
android:title="@string/sync_category_title"/>
|
android:title="@string/sync_category_title"/>
|
||||||
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
||||||
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences_cromite.xml b/chrom
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/chrome/android/java/res/xml/privacy_preferences_cromite.xml
|
+++ b/chrome/android/java/res/xml/privacy_preferences_cromite.xml
|
||||||
@@ -0,0 +1,196 @@
|
@@ -0,0 +1,197 @@
|
||||||
+<?xml version="1.0" encoding="utf-8"?><!--
|
+<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
+Copyright 2022 The Chromium Authors
|
+Copyright 2022 The Chromium Authors
|
||||||
+Use of this source code is governed by a BSD-style license that can be
|
+Use of this source code is governed by a BSD-style license that can be
|
||||||
@@ -108,12 +108,6 @@ new file mode 100644
|
|||||||
+ android:key="can_make_payment"
|
+ android:key="can_make_payment"
|
||||||
+ android:title="@string/can_make_payment_title"
|
+ android:title="@string/can_make_payment_title"
|
||||||
+ android:summary="@string/settings_can_make_payment_toggle_label" />
|
+ android:summary="@string/settings_can_make_payment_toggle_label" />
|
||||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
||||||
+ android:key="throttle_main_thread_to_60hz"
|
|
||||||
+ android:title="@string/throttle_main_thread_to_60hz_title"
|
|
||||||
+ android:summary="@string/throttle_main_thread_to_60hz_summary"
|
|
||||||
+ app:featureName="throttle-main-thread-to-60hz"
|
|
||||||
+ app:needRestart="true" />
|
|
||||||
+
|
+
|
||||||
+ <PreferenceCategory
|
+ <PreferenceCategory
|
||||||
+ android:title="@string/data_exposed_to_device_section_title"/>
|
+ android:title="@string/data_exposed_to_device_section_title"/>
|
||||||
@@ -178,11 +172,6 @@ new file mode 100644
|
|||||||
+ android:key="secure_dns"
|
+ android:key="secure_dns"
|
||||||
+ android:title="@string/settings_secure_dns_title"
|
+ android:title="@string/settings_secure_dns_title"
|
||||||
+ android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings" />
|
+ android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings" />
|
||||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
||||||
+ android:title="@string/dangling_pointer_detector_title"
|
|
||||||
+ android:summary="@string/dangling_pointer_detector_summary"
|
|
||||||
+ app:featureName="enable-dangling-pointer-detector"
|
|
||||||
+ app:needRestart="true" />
|
|
||||||
+
|
+
|
||||||
+ <PreferenceCategory
|
+ <PreferenceCategory
|
||||||
+ android:title="@string/services_category_title"/>
|
+ android:title="@string/services_category_title"/>
|
||||||
@@ -199,12 +188,13 @@ new file mode 100644
|
|||||||
+ android:title="@string/improve_search_suggestions_title"
|
+ android:title="@string/improve_search_suggestions_title"
|
||||||
+ android:summary="@string/improve_search_suggestions_summary"
|
+ android:summary="@string/improve_search_suggestions_summary"
|
||||||
+ android:persistent="false"/>
|
+ android:persistent="false"/>
|
||||||
|
+ <Preference
|
||||||
|
+ android:key="phone_as_a_security_key"
|
||||||
|
+ android:title="@string/cablev2_paask_title"
|
||||||
|
+ android:summary="@string/cablev2_paask_body"
|
||||||
|
+ android:fragment="org.chromium.chrome.browser.webauthn.PrivacySettingsFragment" />
|
||||||
+
|
+
|
||||||
+ <!--Always hidden-->
|
+ <!--Always hidden-->
|
||||||
+ <org.chromium.chrome.browser.safety_hub.SafetyHubExpandablePreference
|
|
||||||
+ android:key="advanced_protection_info"
|
|
||||||
+ android:title="@string/settings_privacy_and_security_advanced_protection_section_title"
|
|
||||||
+ app:isPreferenceVisible="false" />
|
|
||||||
+ <Preference
|
+ <Preference
|
||||||
+ android:key="safe_browsing"
|
+ android:key="safe_browsing"
|
||||||
+ android:title="@string/prefs_safe_browsing_title"
|
+ android:title="@string/prefs_safe_browsing_title"
|
||||||
@@ -228,6 +218,16 @@ new file mode 100644
|
|||||||
+ android:fragment="org.chromium.components.privacy_sandbox.TrackingProtectionSettings"
|
+ android:fragment="org.chromium.components.privacy_sandbox.TrackingProtectionSettings"
|
||||||
+ app:isPreferenceVisible="false" />
|
+ app:isPreferenceVisible="false" />
|
||||||
+ <Preference
|
+ <Preference
|
||||||
|
+ android:key="ip_protection"
|
||||||
|
+ android:title="@string/ip_protection_title"
|
||||||
|
+ android:fragment="org.chromium.components.privacy_sandbox.IpProtectionSettingsFragment"
|
||||||
|
+ app:isPreferenceVisible="false" />
|
||||||
|
+ <Preference
|
||||||
|
+ android:key="fp_protection"
|
||||||
|
+ android:title="@string/tracking_protection_fingerprinting_protection_title"
|
||||||
|
+ android:fragment="org.chromium.components.privacy_sandbox.FingerprintingProtectionSettingsFragment"
|
||||||
|
+ app:isPreferenceVisible="false" />
|
||||||
|
+ <Preference
|
||||||
+ android:key="privacy_sandbox"
|
+ android:key="privacy_sandbox"
|
||||||
+ android:title="@string/ad_privacy_link_row_label"
|
+ android:title="@string/ad_privacy_link_row_label"
|
||||||
+ android:summary="@string/ad_privacy_link_row_sub_label"
|
+ android:summary="@string/ad_privacy_link_row_sub_label"
|
||||||
@@ -246,32 +246,31 @@ new file mode 100644
|
|||||||
+ <org.chromium.components.browser_ui.settings.ChromeBasePreference
|
+ <org.chromium.components.browser_ui.settings.ChromeBasePreference
|
||||||
+ android:key="javascript_optimizer"
|
+ android:key="javascript_optimizer"
|
||||||
+ android:title="@string/website_settings_privacy_and_security_javascript_optimizer_row_label"
|
+ android:title="@string/website_settings_privacy_and_security_javascript_optimizer_row_label"
|
||||||
|
+ android:summary="@string/website_settings_privacy_and_security_javascript_optimizer_summary"
|
||||||
+ android:fragment="org.chromium.components.browser_ui.site_settings.SingleCategorySettings"
|
+ android:fragment="org.chromium.components.browser_ui.site_settings.SingleCategorySettings"
|
||||||
+ app:isPreferenceVisible="false" />
|
+ app:isPreferenceVisible="false" />
|
||||||
+</PreferenceScreen>
|
+</PreferenceScreen>
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
@@ -204,7 +204,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -147,7 +147,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
|
public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) {
|
||||||
mPageTitle.set(getString(R.string.prefs_privacy_security));
|
mPageTitle.set(getString(R.string.prefs_privacy_security));
|
||||||
|
|
||||||
- SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
|
- SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
|
||||||
+ SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences_cromite);
|
+ SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences_cromite);
|
||||||
|
|
||||||
Preference sandboxPreference = findPreference(PREF_PRIVACY_SANDBOX);
|
Preference fpProtectionPreference = findPreference(PREF_FP_PROTECTION);
|
||||||
// Overwrite the click listener to pass a correct referrer to the fragment.
|
fpProtectionPreference.setVisible(shouldShowFpProtectionUi());
|
||||||
@@ -291,7 +291,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
@@ -244,7 +244,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
|
|
||||||
ChromeSwitchPreference passwordLeakTogglePref =
|
|
||||||
(ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION);
|
(ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION);
|
||||||
- passwordLeakTogglePref.setOnPreferenceChangeListener(this);
|
if (ChromeFeatureList.isEnabled(ChromeFeatureList.PASSWORD_LEAK_TOGGLE_MOVE)) {
|
||||||
+ if (passwordLeakTogglePref != null) {
|
passwordLeakTogglePref.setOnPreferenceChangeListener(this);
|
||||||
+ passwordLeakTogglePref.setVisible(false);
|
- } else {
|
||||||
+ }
|
+ } else if (passwordLeakTogglePref != null) {
|
||||||
|
passwordLeakTogglePref.setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
mSearchSuggestions = (ChromeSwitchPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
|
|
||||||
mSearchSuggestions.setOnPreferenceChangeListener(this);
|
|
||||||
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp
|
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ Subject: Cromite Branding
|
|||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
base/win/message_window.cc | 2 +-
|
|
||||||
build/BUILD.gn | 8 ++
|
build/BUILD.gn | 8 ++
|
||||||
build/config/BUILDCONFIG.gn | 4 +
|
build/config/BUILDCONFIG.gn | 4 +
|
||||||
chrome/android/java/AndroidManifest.xml | 2 +-
|
chrome/android/java/AndroidManifest.xml | 2 +-
|
||||||
@@ -27,10 +26,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
.../mipmap-xxxhdpi/layered_app_icon.png | Bin 3652 -> 29220 bytes
|
.../mipmap-xxxhdpi/layered_app_icon.png | Bin 3652 -> 29220 bytes
|
||||||
.../layered_app_icon_background.png | Bin 3519 -> 142032 bytes
|
.../layered_app_icon_background.png | Bin 3519 -> 142032 bytes
|
||||||
.../values/channel_constants.xml | 8 +-
|
.../values/channel_constants.xml | 8 +-
|
||||||
.../ChromeContextMenuPopulator.java | 2 +-
|
|
||||||
.../browser/fullscreen/FullscreenToast.java | 2 +-
|
|
||||||
.../inline/BromiteInlineUpdateController.java | 19 +++-
|
.../inline/BromiteInlineUpdateController.java | 19 +++-
|
||||||
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
|
|
||||||
chrome/app/extensions_strings.grdp | 4 +-
|
chrome/app/extensions_strings.grdp | 4 +-
|
||||||
chrome/app/settings_strings.grdp | 2 +-
|
chrome/app/settings_strings.grdp | 2 +-
|
||||||
chrome/app/theme/chromium/BRANDING | 8 +-
|
chrome/app/theme/chromium/BRANDING | 8 +-
|
||||||
@@ -39,60 +35,37 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
.../theme/chromium/win/tiles/SmallLogo.png | Bin 9784 -> 12363 bytes
|
.../theme/chromium/win/tiles/SmallLogo.png | Bin 9784 -> 12363 bytes
|
||||||
.../chromium/product_logo_32.png | Bin 822 -> 2301 bytes
|
.../chromium/product_logo_32.png | Bin 822 -> 2301 bytes
|
||||||
chrome/browser/BUILD.gn | 1 +
|
chrome/browser/BUILD.gn | 1 +
|
||||||
.../external_registry_loader_win.cc | 3 +-
|
|
||||||
.../browser/hub/HubToolbarMediator.java | 2 +-
|
|
||||||
.../android/res/layout/hub_toolbar_layout.xml | 83 +++++++++-------
|
|
||||||
.../chrome/browser/omaha/UpdateConfigs.java | 2 +-
|
.../chrome/browser/omaha/UpdateConfigs.java | 2 +-
|
||||||
chrome/browser/prefs/BUILD.gn | 1 +
|
chrome/browser/prefs/BUILD.gn | 1 +
|
||||||
.../prefs/chrome_pref_service_factory.cc | 6 +-
|
.../prefs/chrome_pref_service_factory.cc | 6 +-
|
||||||
chrome/browser/process_singleton_win.cc | 2 +-
|
|
||||||
.../profiles/profile_shortcut_manager_win.cc | 2 +-
|
.../profiles/profile_shortcut_manager_win.cc | 2 +-
|
||||||
.../settings/settings_menu/settings_menu.html | 14 ++-
|
.../settings/settings_menu/settings_menu.html | 14 ++-
|
||||||
.../tab_group_sync/TabGroupSyncUtils.java | 5 +-
|
.../strings/android_chrome_strings.grd | 2 +-
|
||||||
.../OmniboxSuggestionsContainer.java | 8 +-
|
|
||||||
.../strings/android_chrome_strings.grd | 4 +-
|
|
||||||
.../toolbar/chrome_labs/chrome_labs_utils.cc | 1 +
|
.../toolbar/chrome_labs/chrome_labs_utils.cc | 1 +
|
||||||
chrome/common/url_constants.h | 4 +-
|
chrome/common/url_constants.h | 4 +-
|
||||||
.../install_static/chromium_install_modes.h | 2 +-
|
.../install_static/chromium_install_modes.cc | 2 +-
|
||||||
.../strings/android/browser_ui_strings.grd | 2 +-
|
.../strings/android/browser_ui_strings.grd | 2 +-
|
||||||
.../drawable-hdpi/fre_product_logo.png | Bin 3912 -> 22295 bytes
|
.../drawable-hdpi/fre_product_logo.png | Bin 3912 -> 22295 bytes
|
||||||
.../drawable-mdpi/fre_product_logo.png | Bin 2490 -> 12171 bytes
|
.../drawable-mdpi/fre_product_logo.png | Bin 2490 -> 12171 bytes
|
||||||
.../drawable-xhdpi/fre_product_logo.png | Bin 5151 -> 34576 bytes
|
.../drawable-xhdpi/fre_product_logo.png | Bin 5151 -> 34576 bytes
|
||||||
.../drawable-xxhdpi/fre_product_logo.png | Bin 7720 -> 60959 bytes
|
.../drawable-xxhdpi/fre_product_logo.png | Bin 7720 -> 60959 bytes
|
||||||
.../drawable-xxxhdpi/fre_product_logo.png | Bin 10740 -> 93273 bytes
|
.../drawable-xxxhdpi/fre_product_logo.png | Bin 10740 -> 93273 bytes
|
||||||
.../browser/autocomplete_controller.cc | 1 +
|
|
||||||
.../vector_icons/product_chrome_refresh.icon | 93 +++++++++---------
|
.../vector_icons/product_chrome_refresh.icon | 93 +++++++++---------
|
||||||
components/policy/core/common/policy_paths.cc | 2 +-
|
|
||||||
.../policy/tools/generate_policy_source.py | 2 +-
|
|
||||||
.../chromium/product_logo.png | Bin 1562 -> 3577 bytes
|
.../chromium/product_logo.png | Bin 1562 -> 3577 bytes
|
||||||
.../chromium/product_logo_white.png | Bin 1417 -> 3040 bytes
|
.../chromium/product_logo_white.png | Bin 1417 -> 3040 bytes
|
||||||
.../chromium/product_logo.png | Bin 2714 -> 7923 bytes
|
.../chromium/product_logo.png | Bin 2714 -> 7923 bytes
|
||||||
.../chromium/product_logo_white.png | Bin 2512 -> 6790 bytes
|
.../chromium/product_logo_white.png | Bin 2512 -> 6790 bytes
|
||||||
.../webui/version/resources/about_version.ts | 4 +-
|
.../webui/version/resources/about_version.ts | 4 +-
|
||||||
.../resources/about_version_mobile.css | 10 ++
|
.../resources/about_version_mobile.css | 9 ++
|
||||||
content/child/runtime_features.cc | 44 ++++-----
|
content/child/runtime_features.cc | 44 ++++-----
|
||||||
.../Cromite-Branding.inc | 1 +
|
|
||||||
tools/grit/grit/grd_reader.py | 35 +++++++
|
tools/grit/grit/grd_reader.py | 35 +++++++
|
||||||
69 files changed, 272 insertions(+), 179 deletions(-)
|
55 files changed, 201 insertions(+), 128 deletions(-)
|
||||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
|
|
||||||
|
|
||||||
diff --git a/base/win/message_window.cc b/base/win/message_window.cc
|
|
||||||
--- a/base/win/message_window.cc
|
|
||||||
+++ b/base/win/message_window.cc
|
|
||||||
@@ -29,7 +29,7 @@
|
|
||||||
// To avoid conflicts with the macro from the Windows SDK...
|
|
||||||
#undef FindWindow
|
|
||||||
|
|
||||||
-const wchar_t kMessageWindowClassName[] = L"Chrome_MessageWindow";
|
|
||||||
+const wchar_t kMessageWindowClassName[] = L"Cromite_MessageWindow";
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
|
|
||||||
diff --git a/build/BUILD.gn b/build/BUILD.gn
|
diff --git a/build/BUILD.gn b/build/BUILD.gn
|
||||||
--- a/build/BUILD.gn
|
--- a/build/BUILD.gn
|
||||||
+++ b/build/BUILD.gn
|
+++ b/build/BUILD.gn
|
||||||
@@ -56,6 +56,14 @@ buildflag_header("branding_buildflags") {
|
@@ -55,6 +55,14 @@ buildflag_header("branding_buildflags") {
|
||||||
flags += [ "ENABLE_BUILTIN_SEARCH_PROVIDER_ASSETS=$enable_builtin_search_provider_assets" ]
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+buildflag_header("cromite_buildflags") {
|
+buildflag_header("cromite_buildflags") {
|
||||||
@@ -109,8 +82,8 @@ diff --git a/build/BUILD.gn b/build/BUILD.gn
|
|||||||
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
|
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
|
||||||
--- a/build/config/BUILDCONFIG.gn
|
--- a/build/config/BUILDCONFIG.gn
|
||||||
+++ b/build/config/BUILDCONFIG.gn
|
+++ b/build/config/BUILDCONFIG.gn
|
||||||
@@ -184,6 +184,10 @@ declare_args() {
|
@@ -186,6 +186,10 @@ declare_args() {
|
||||||
clang_warning_suppression_file = ""
|
clang_unsafe_buffers_paths = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
+declare_args() {
|
+declare_args() {
|
||||||
@@ -123,7 +96,7 @@ diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
|
|||||||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||||
--- a/chrome/android/java/AndroidManifest.xml
|
--- a/chrome/android/java/AndroidManifest.xml
|
||||||
+++ b/chrome/android/java/AndroidManifest.xml
|
+++ b/chrome/android/java/AndroidManifest.xml
|
||||||
@@ -198,7 +198,7 @@ by a child template that "extends" this file.
|
@@ -178,7 +178,7 @@ by a child template that "extends" this file.
|
||||||
<application android:name="{% block application_name %}org.chromium.chrome.browser.base.SplitChromeApplication{% endblock %}"
|
<application android:name="{% block application_name %}org.chromium.chrome.browser.base.SplitChromeApplication{% endblock %}"
|
||||||
android:icon="@drawable/ic_launcher"
|
android:icon="@drawable/ic_launcher"
|
||||||
android:roundIcon="@drawable/ic_launcher_round"
|
android:roundIcon="@drawable/ic_launcher_round"
|
||||||
@@ -155,8 +128,8 @@ diff --git a/chrome/android/java/res/xml/legal_information_preferences.xml b/chr
|
|||||||
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/main_preferences.xml
|
--- a/chrome/android/java/res/xml/main_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
||||||
@@ -13,19 +13,19 @@ found in the LICENSE file.
|
@@ -16,20 +16,20 @@ for the previous order (main_preferences_legacy). -->
|
||||||
android:order="0" />
|
<!-- TODO(crbug.com/364906215): Move SettingsPromoCardPreference here once SyncPromoPreference is removed -->
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="account_and_google_services_section"
|
android:key="account_and_google_services_section"
|
||||||
- android:order="1"
|
- android:order="1"
|
||||||
@@ -164,8 +137,9 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
|
|||||||
android:title="@string/prefs_section_account_and_google_services"/>
|
android:title="@string/prefs_section_account_and_google_services"/>
|
||||||
<org.chromium.chrome.browser.sync.settings.SignInPreference
|
<org.chromium.chrome.browser.sync.settings.SignInPreference
|
||||||
android:key="sign_in"
|
android:key="sign_in"
|
||||||
- android:order="2"/>
|
- android:order="2"
|
||||||
+ android:order="1002"/>
|
+ android:order="1002"
|
||||||
|
android:title="@string/sign_in_to_chrome"/>
|
||||||
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
||||||
android:key="manage_sync"
|
android:key="manage_sync"
|
||||||
- android:order="3"
|
- android:order="3"
|
||||||
@@ -9160,31 +9134,6 @@ diff --git a/chrome/android/java/res_chromium_base/values/channel_constants.xml
|
|||||||
+ <string name="search_widget_title" translatable="false">Cromite search</string>
|
+ <string name="search_widget_title" translatable="false">Cromite search</string>
|
||||||
+ <string name="quick_action_search_widget_title" translatable="false">Cromite quick action search</string>
|
+ <string name="quick_action_search_widget_title" translatable="false">Cromite quick action search</string>
|
||||||
</resources>
|
</resources>
|
||||||
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
|
|
||||||
@@ -502,8 +502,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
|
||||||
&& !isEmptyUrl(mParams.getUrl())
|
|
||||||
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
|
|
||||||
if (mMode == ContextMenuMode.NORMAL) {
|
|
||||||
- linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB));
|
|
||||||
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP));
|
|
||||||
+ linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB));
|
|
||||||
if (!mItemDelegate.isIncognito()
|
|
||||||
&& mItemDelegate.isIncognitoSupported()
|
|
||||||
&& !shouldOpenIncognitoAsWindow()) {
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenToast.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenToast.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenToast.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenToast.java
|
|
||||||
@@ -109,7 +109,7 @@ interface FullscreenToast {
|
|
||||||
mNotificationToast =
|
|
||||||
Toast.makeTextWithPriority(
|
|
||||||
mActivity, toastTextId, Toast.LENGTH_LONG, ToastPriority.HIGH);
|
|
||||||
- mNotificationToast.setGravity(Gravity.BOTTOM | Gravity.CENTER, 0, 0);
|
|
||||||
+ mNotificationToast.setGravity(Gravity.TOP | Gravity.CENTER, 0, 0);
|
|
||||||
mNotificationToast.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
||||||
@@ -9228,28 +9177,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/Br
|
|||||||
Log.i(TAG, "BromiteUpdater: fetching with GET '%s'", UPSTREAM_VERSION_URL);
|
Log.i(TAG, "BromiteUpdater: fetching with GET '%s'", UPSTREAM_VERSION_URL);
|
||||||
|
|
||||||
EndpointFetcher.nativeFetchWithNoAuth(
|
EndpointFetcher.nativeFetchWithNoAuth(
|
||||||
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
|
|
||||||
@@ -1065,12 +1065,12 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
|
||||||
if (tab.canGoBack()) {
|
|
||||||
return ActionType.NAVIGATE_BACK;
|
|
||||||
}
|
|
||||||
- if (TabAssociatedApp.isOpenedFromExternalApp(tab)) {
|
|
||||||
+ if (TabAssociatedApp.isOpenedFromExternalApp(tab) && tab.getLaunchType() == TabLaunchType.FROM_EXTERNAL_APP) {
|
|
||||||
return ActionType.EXIT_APP_AND_CLOSE_TAB;
|
|
||||||
}
|
|
||||||
return mBackButtonShouldCloseTabFn.apply(tab)
|
|
||||||
? ActionType.CLOSE_TAB
|
|
||||||
- : ActionType.EXIT_APP_ONLY;
|
|
||||||
+ : ActionType.CLOSE_TAB;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp
|
diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp
|
||||||
--- a/chrome/app/extensions_strings.grdp
|
--- a/chrome/app/extensions_strings.grdp
|
||||||
+++ b/chrome/app/extensions_strings.grdp
|
+++ b/chrome/app/extensions_strings.grdp
|
||||||
@@ -395,7 +395,7 @@
|
@@ -392,7 +392,7 @@
|
||||||
No recent activities
|
No recent activities
|
||||||
</message>
|
</message>
|
||||||
<message name="IDS_EXTENSIONS_NO_INSTALLED_ITEMS" desc="The message shown to the user on the Extensions settings page when there are no extensions or apps installed.">
|
<message name="IDS_EXTENSIONS_NO_INSTALLED_ITEMS" desc="The message shown to the user on the Extensions settings page when there are no extensions or apps installed.">
|
||||||
@@ -9258,27 +9189,27 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.
|
|||||||
</message>
|
</message>
|
||||||
<message name="IDS_EXTENSIONS_NO_DESCRIPTION" desc="The message shown to the user when an extension does not have any description.">
|
<message name="IDS_EXTENSIONS_NO_DESCRIPTION" desc="The message shown to the user when an extension does not have any description.">
|
||||||
No description provided
|
No description provided
|
||||||
@@ -533,7 +533,7 @@
|
@@ -530,7 +530,7 @@
|
||||||
My extensions
|
My extensions
|
||||||
</message>
|
</message>
|
||||||
<message name="IDS_EXTENSIONS_SIDEBAR_DISCOVER_MORE" desc="The text displayed in the sidebar of the chrome://extensions page to open the Chrome Web Store to get more extensions.">
|
<message name="IDS_EXTENSIONS_SIDEBAR_DISCOVER_MORE" desc="The text displayed in the sidebar to open the Chrome Web Store to get more extensions.">
|
||||||
- Discover more extensions and themes on the <ph name="BEGIN_LINK"><a target="_blank" href="$1"></ph>Chrome Web Store<ph name="END_LINK"></a> <ex></a></ex> </ph>
|
- Discover more extensions and themes on the <ph name="BEGIN_LINK"><a target="_blank" href="$1"></ph>Chrome Web Store<ph name="END_LINK"></a> <ex></a></ex> </ph>
|
||||||
+ Discover more extensions and themes on the <ph name="BEGIN_LINK"><a target="_blank" href="$1"></ph>Chromedontreplace Web Store<ph name="END_LINK"></a> <ex></a></ex> </ph>
|
+ Discover more extensions and themes on the <ph name="BEGIN_LINK"><a target="_blank" href="$1"></ph>Chromedontreplace Web Store<ph name="END_LINK"></a> <ex></a></ex> </ph>
|
||||||
</message>
|
</message>
|
||||||
<message name="IDS_EXTENSIONS_WHATS_NEW_SIDEBAR_PROMO" desc="The text displayed in the sidebar of the chrome://extensions page to promote the extension documenation, for when the user is in developer mode.">
|
<message name="IDS_EXTENSIONS_SIDEBAR_KEYBOARD_SHORTCUTS" desc="The text for the link to manage keyboard shortcuts for extensions.">
|
||||||
Developing extensions? Stay up to date on <ph name="BEGIN_LINK"><a target="_blank" href="$1"></ph>What's New<ph name="END_LINK"></a></ph> with Chrome Extension developer documentation.
|
Keyboard shortcuts
|
||||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||||
--- a/chrome/app/settings_strings.grdp
|
--- a/chrome/app/settings_strings.grdp
|
||||||
+++ b/chrome/app/settings_strings.grdp
|
+++ b/chrome/app/settings_strings.grdp
|
||||||
@@ -84,7 +84,7 @@
|
@@ -275,7 +275,7 @@
|
||||||
Accessibility
|
Change
|
||||||
</message>
|
</message>
|
||||||
<message name="IDS_SETTINGS_ACCESSIBILITY_WEB_STORE" desc="Text for an external link explaining that additional accessibility features are found on the Chrome Web Store.">
|
<message name="IDS_SETTINGS_WEB_STORE" desc="Sub-label about choosing something from the Chrome Web Store.">
|
||||||
- Open Chrome Web Store
|
- Open Chrome Web Store
|
||||||
+ Open Chromedontreplace Web Store
|
+ Open Chromedontreplace Web Store
|
||||||
</message>
|
</message>
|
||||||
<message name="IDS_SETTINGS_MORE_FEATURES_LINK" desc="Link which opens page where users can install extensions which provide additional accessibility features.">
|
<if expr="is_macosx">
|
||||||
Add accessibility features
|
<message name="IDS_SETTINGS_TABS_TO_LINKS_PREF" desc="The documentation string of the 'Tabs to Links' preference">
|
||||||
diff --git a/chrome/app/theme/chromium/BRANDING b/chrome/app/theme/chromium/BRANDING
|
diff --git a/chrome/app/theme/chromium/BRANDING b/chrome/app/theme/chromium/BRANDING
|
||||||
--- a/chrome/app/theme/chromium/BRANDING
|
--- a/chrome/app/theme/chromium/BRANDING
|
||||||
+++ b/chrome/app/theme/chromium/BRANDING
|
+++ b/chrome/app/theme/chromium/BRANDING
|
||||||
@@ -13224,7 +13155,7 @@ e)fqMZZ`3a)Ds&5H<cfp<0000<MNUMnLSTYHt&Yn8
|
|||||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||||
--- a/chrome/browser/BUILD.gn
|
--- a/chrome/browser/BUILD.gn
|
||||||
+++ b/chrome/browser/BUILD.gn
|
+++ b/chrome/browser/BUILD.gn
|
||||||
@@ -1406,6 +1406,7 @@ static_library("browser") {
|
@@ -1844,6 +1844,7 @@ static_library("browser") {
|
||||||
"//build/config/chromebox_for_meetings:buildflags",
|
"//build/config/chromebox_for_meetings:buildflags",
|
||||||
"//build/config/compiler:compiler_buildflags",
|
"//build/config/compiler:compiler_buildflags",
|
||||||
"//build/config/linux/dbus:buildflags",
|
"//build/config/linux/dbus:buildflags",
|
||||||
@@ -13232,145 +13163,10 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|||||||
"//cc",
|
"//cc",
|
||||||
"//chrome:extra_resources",
|
"//chrome:extra_resources",
|
||||||
"//chrome:resources",
|
"//chrome:resources",
|
||||||
diff --git a/chrome/browser/extensions/external_registry_loader_win.cc b/chrome/browser/extensions/external_registry_loader_win.cc
|
|
||||||
--- a/chrome/browser/extensions/external_registry_loader_win.cc
|
|
||||||
+++ b/chrome/browser/extensions/external_registry_loader_win.cc
|
|
||||||
@@ -35,7 +35,7 @@ using content::BrowserThread;
|
|
||||||
namespace {
|
|
||||||
|
|
||||||
// The Registry subkey that contains information about external extensions.
|
|
||||||
-const wchar_t kRegistryExtensions[] = L"Software\\Google\\Chrome\\Extensions";
|
|
||||||
+const wchar_t kRegistryExtensions[] = L"Software\\Uazo\\Cromite\\Extensions";
|
|
||||||
|
|
||||||
// Registry value of the key that defines the installation parameter.
|
|
||||||
const wchar_t kRegistryExtensionInstallParam[] = L"install_parameter";
|
|
||||||
@@ -82,6 +82,7 @@ void ExternalRegistryLoader::StartLoading() {
|
|
||||||
|
|
||||||
base::DictValue ExternalRegistryLoader::LoadPrefsOnBlockingThread() {
|
|
||||||
base::DictValue prefs;
|
|
||||||
+ if ((true)) return prefs;
|
|
||||||
|
|
||||||
// A map of IDs, to weed out duplicates between HKCU and HKLM.
|
|
||||||
std::set<std::wstring> keys;
|
|
||||||
diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java
|
|
||||||
--- a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java
|
|
||||||
+++ b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java
|
|
||||||
@@ -86,7 +86,7 @@ public class HubToolbarMediator {
|
|
||||||
@Override
|
|
||||||
public void onConfigurationChanged(Configuration configuration) {
|
|
||||||
int screenWidthDp = configuration.screenWidthDp;
|
|
||||||
- boolean isTablet = HubUtils.isScreenWidthTablet(screenWidthDp);
|
|
||||||
+ boolean isTablet = true; //HubUtils.isScreenWidthTablet(screenWidthDp);
|
|
||||||
|
|
||||||
Pane pane = mPaneManager.getFocusedPaneSupplier().get();
|
|
||||||
if (pane == null) return;
|
|
||||||
diff --git a/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.xml b/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.xml
|
|
||||||
--- a/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.xml
|
|
||||||
+++ b/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.xml
|
|
||||||
@@ -38,34 +38,22 @@ found in the LICENSE file.
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_gravity="start|center_vertical">
|
|
||||||
+ <Space
|
|
||||||
+ android:layout_width="@dimen/hub_toolbar_action_button_start_margin"
|
|
||||||
+ android:layout_height="match_parent"/>
|
|
||||||
|
|
||||||
- <!-- This is needed to keep the new tab button aligned with the first tab. -->
|
|
||||||
- <Space
|
|
||||||
- android:id="@+id/margin_spacer"
|
|
||||||
- android:layout_width="@dimen/hub_toolbar_action_button_start_margin"
|
|
||||||
- android:layout_height="match_parent"
|
|
||||||
- android:visibility="visible"/>
|
|
||||||
-
|
|
||||||
- <org.chromium.ui.widget.ChromeImageButton
|
|
||||||
- android:id="@+id/toolbar_back_button"
|
|
||||||
- android:src="@drawable/ic_arrow_back_24dp"
|
|
||||||
- android:layout_width="@dimen/min_touch_target_size"
|
|
||||||
- android:layout_height="@dimen/min_touch_target_size"
|
|
||||||
- android:layout_gravity="center"
|
|
||||||
- android:layout_marginStart="4dp"
|
|
||||||
- android:contentDescription="@string/back"
|
|
||||||
- android:tooltipText="@string/back"
|
|
||||||
- android:visibility="gone"
|
|
||||||
- style="@style/ToolbarMenuButton"
|
|
||||||
- app:tint="@color/default_icon_color_tint_list"/>
|
|
||||||
-
|
|
||||||
- <Button
|
|
||||||
- android:id="@+id/toolbar_action_button"
|
|
||||||
- android:layout_width="wrap_content"
|
|
||||||
- android:layout_height="match_parent"
|
|
||||||
- android:layout_gravity="start|center_vertical"
|
|
||||||
- android:visibility="gone"
|
|
||||||
- style="?attr/newTabButtonStyle"/>
|
|
||||||
+ <!-- On tablets, the searchbox (R.id.search_box) is hidden in favor of a button. -->
|
|
||||||
+ <org.chromium.ui.widget.ChromeImageButton
|
|
||||||
+ android:id="@+id/search_loupe"
|
|
||||||
+ android:visibility="gone"
|
|
||||||
+ android:gravity="center_vertical"
|
|
||||||
+ android:layout_width="44dp"
|
|
||||||
+ android:layout_height="match_parent"
|
|
||||||
+ android:contentDescription="@string/search"
|
|
||||||
+ android:src="@drawable/ic_search_24dp"
|
|
||||||
+ android:tooltipText="@string/accessibility_search_loupe_tooltip_text"
|
|
||||||
+ style="@style/ToolbarMenuButton"
|
|
||||||
+ app:tint="@color/default_icon_color_tint_list" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
@@ -97,18 +85,39 @@ found in the LICENSE file.
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_gravity="end" >
|
|
||||||
- <!-- On tablets, the searchbox (R.id.search_box) is hidden in favor of a button. -->
|
|
||||||
- <org.chromium.ui.widget.ChromeImageButton
|
|
||||||
- android:id="@+id/search_loupe"
|
|
||||||
+ <LinearLayout
|
|
||||||
+ android:orientation="horizontal"
|
|
||||||
+ android:layout_width="wrap_content"
|
|
||||||
+ android:layout_height="match_parent"
|
|
||||||
+ android:layout_gravity="start|center_vertical">
|
|
||||||
+
|
|
||||||
+ <org.chromium.ui.widget.ChromeImageButton
|
|
||||||
+ android:id="@+id/toolbar_back_button"
|
|
||||||
+ android:src="@drawable/ic_arrow_back_24dp"
|
|
||||||
+ android:layout_width="@dimen/min_touch_target_size"
|
|
||||||
+ android:layout_height="@dimen/min_touch_target_size"
|
|
||||||
+ android:layout_gravity="center"
|
|
||||||
+ android:layout_marginStart="4dp"
|
|
||||||
+ android:contentDescription="@string/back"
|
|
||||||
+ android:tooltipText="@string/back"
|
|
||||||
android:visibility="gone"
|
|
||||||
- android:gravity="center_vertical"
|
|
||||||
- android:layout_width="44dp"
|
|
||||||
- android:layout_height="match_parent"
|
|
||||||
- android:contentDescription="@string/search"
|
|
||||||
- android:src="@drawable/ic_search_24dp"
|
|
||||||
- android:tooltipText="@string/accessibility_search_loupe_tooltip_text"
|
|
||||||
style="@style/ToolbarMenuButton"
|
|
||||||
- app:tint="@color/default_icon_color_tint_list" />
|
|
||||||
+ app:tint="@color/default_icon_color_tint_list"/>
|
|
||||||
+
|
|
||||||
+ <Button
|
|
||||||
+ android:id="@+id/toolbar_action_button"
|
|
||||||
+ android:layout_width="wrap_content"
|
|
||||||
+ android:layout_height="match_parent"
|
|
||||||
+ android:layout_gravity="start|center_vertical"
|
|
||||||
+ android:visibility="gone"
|
|
||||||
+ style="?attr/newTabButtonStyle"/>
|
|
||||||
+
|
|
||||||
+ <Space
|
|
||||||
+ android:id="@+id/margin_spacer"
|
|
||||||
+ android:layout_width="@dimen/hub_toolbar_action_button_start_margin"
|
|
||||||
+ android:layout_height="match_parent"
|
|
||||||
+ android:visibility="gone"/>
|
|
||||||
+ </LinearLayout>
|
|
||||||
<include layout="@layout/menu_button" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
|
diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
|
||||||
--- a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
|
--- a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
|
||||||
+++ b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
|
+++ b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
|
||||||
@@ -39,7 +39,7 @@ public class UpdateConfigs {
|
@@ -37,7 +37,7 @@ public class UpdateConfigs {
|
||||||
private static final String UPDATE_AVAILABLE_SWITCH_VALUE = "update_available";
|
private static final String UPDATE_AVAILABLE_SWITCH_VALUE = "update_available";
|
||||||
private static final String UNSUPPORTED_OS_VERSION_SWITCH_VALUE = "unsupported_os_version";
|
private static final String UNSUPPORTED_OS_VERSION_SWITCH_VALUE = "unsupported_os_version";
|
||||||
|
|
||||||
@@ -13382,27 +13178,27 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o
|
|||||||
diff --git a/chrome/browser/prefs/BUILD.gn b/chrome/browser/prefs/BUILD.gn
|
diff --git a/chrome/browser/prefs/BUILD.gn b/chrome/browser/prefs/BUILD.gn
|
||||||
--- a/chrome/browser/prefs/BUILD.gn
|
--- a/chrome/browser/prefs/BUILD.gn
|
||||||
+++ b/chrome/browser/prefs/BUILD.gn
|
+++ b/chrome/browser/prefs/BUILD.gn
|
||||||
@@ -60,6 +60,7 @@ source_set("impl") {
|
@@ -52,6 +52,7 @@ source_set("impl") {
|
||||||
deps = [
|
deps = [
|
||||||
":prefs",
|
":prefs",
|
||||||
":util",
|
":util",
|
||||||
+ "//build:cromite_buildflags",
|
+ "//build:cromite_buildflags",
|
||||||
"//chrome/browser:browser_process",
|
"//chrome/browser:browser_process",
|
||||||
"//chrome/browser:flags",
|
"//chrome/browser/devtools",
|
||||||
"//chrome/browser/autocomplete:aim_eligibility_service",
|
"//chrome/browser/media/prefs",
|
||||||
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||||
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
|
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||||
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||||
@@ -25,6 +25,7 @@
|
@@ -27,6 +27,7 @@
|
||||||
#include "base/trace_event/trace_event.h"
|
|
||||||
#include "build/branding_buildflags.h"
|
#include "build/branding_buildflags.h"
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
|
#include "build/chromeos_buildflags.h"
|
||||||
+#include "build/cromite_flags.h"
|
+#include "build/cromite_flags.h"
|
||||||
#include "chrome/browser/browser_process.h"
|
#include "chrome/browser/browser_process.h"
|
||||||
#include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h"
|
#include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h"
|
||||||
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
|
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
|
||||||
@@ -292,10 +293,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
|
@@ -291,10 +292,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
|
||||||
const base::FilePath& profile_path) {
|
#endif
|
||||||
std::string seed;
|
std::string seed;
|
||||||
CHECK(ui::ResourceBundle::HasSharedInstance());
|
CHECK(ui::ResourceBundle::HasSharedInstance());
|
||||||
-#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
-#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||||
@@ -13410,21 +13206,9 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse
|
|||||||
- IDR_PREF_HASH_SEED_BIN));
|
- IDR_PREF_HASH_SEED_BIN));
|
||||||
-#endif
|
-#endif
|
||||||
+ seed = BUILDFLAG_INTERNAL_CROMITE_PREF_HASH_SEED_BIN();
|
+ seed = BUILDFLAG_INTERNAL_CROMITE_PREF_HASH_SEED_BIN();
|
||||||
return std::make_unique<ProfilePrefStoreManager>(profile_path, seed);
|
return std::make_unique<ProfilePrefStoreManager>(profile_path, seed,
|
||||||
|
legacy_device_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc
|
|
||||||
--- a/chrome/browser/process_singleton_win.cc
|
|
||||||
+++ b/chrome/browser/process_singleton_win.cc
|
|
||||||
@@ -381,7 +381,7 @@ ProcessSingleton::NotifyOtherProcessOrCreate() {
|
|
||||||
bool ProcessSingleton::Create() {
|
|
||||||
TRACE_EVENT0("startup", "ProcessSingleton::Create");
|
|
||||||
|
|
||||||
- static const wchar_t kMutexName[] = L"Local\\ChromeProcessSingletonStartup!";
|
|
||||||
+ static const wchar_t kMutexName[] = L"Local\\CromiteProcessSingletonStartup!";
|
|
||||||
|
|
||||||
remote_window_ = FindRunningChromeWindow(user_data_dir_);
|
|
||||||
if (!remote_window_ && !EscapeVirtualization(user_data_dir_)) {
|
|
||||||
diff --git a/chrome/browser/profiles/profile_shortcut_manager_win.cc b/chrome/browser/profiles/profile_shortcut_manager_win.cc
|
diff --git a/chrome/browser/profiles/profile_shortcut_manager_win.cc b/chrome/browser/profiles/profile_shortcut_manager_win.cc
|
||||||
--- a/chrome/browser/profiles/profile_shortcut_manager_win.cc
|
--- a/chrome/browser/profiles/profile_shortcut_manager_win.cc
|
||||||
+++ b/chrome/browser/profiles/profile_shortcut_manager_win.cc
|
+++ b/chrome/browser/profiles/profile_shortcut_manager_win.cc
|
||||||
@@ -13459,7 +13243,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
|
|||||||
#menu {
|
#menu {
|
||||||
color: var(--google-grey-700);
|
color: var(--google-grey-700);
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -167,7 +179,7 @@
|
@@ -173,7 +185,7 @@
|
||||||
</a>
|
</a>
|
||||||
<a role="menuitem" id="about-menu" href="/help"
|
<a role="menuitem" id="about-menu" href="/help"
|
||||||
class="cr-nav-menu-item">
|
class="cr-nav-menu-item">
|
||||||
@@ -13468,50 +13252,10 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
|
|||||||
$i18n{aboutPageTitle}
|
$i18n{aboutPageTitle}
|
||||||
<cr-ripple></cr-ripple>
|
<cr-ripple></cr-ripple>
|
||||||
</a>
|
</a>
|
||||||
diff --git a/chrome/browser/tab_group_sync/android/java/src/org/chromium/chrome/browser/tab_group_sync/TabGroupSyncUtils.java b/chrome/browser/tab_group_sync/android/java/src/org/chromium/chrome/browser/tab_group_sync/TabGroupSyncUtils.java
|
|
||||||
--- a/chrome/browser/tab_group_sync/android/java/src/org/chromium/chrome/browser/tab_group_sync/TabGroupSyncUtils.java
|
|
||||||
+++ b/chrome/browser/tab_group_sync/android/java/src/org/chromium/chrome/browser/tab_group_sync/TabGroupSyncUtils.java
|
|
||||||
@@ -127,7 +127,10 @@ public final class TabGroupSyncUtils {
|
|
||||||
for (String syncGroupId : tabGroupSyncService.getAllGroupIds()) {
|
|
||||||
SavedTabGroup savedTabGroup = tabGroupSyncService.getGroup(syncGroupId);
|
|
||||||
// If there is no local ID the group is already hidden so this is a no-op.
|
|
||||||
- if (savedTabGroup == null || savedTabGroup.localId == null) continue;
|
|
||||||
+ if (savedTabGroup == null || savedTabGroup.localId == null) {
|
|
||||||
+ tabGroupSyncService.removeGroup(syncGroupId);
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if (!isInAnyWindow(savedTabGroup.localId, filterList)) {
|
|
||||||
tabGroupSyncService.removeLocalTabGroupMapping(
|
|
||||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsContainer.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsContainer.java
|
|
||||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsContainer.java
|
|
||||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsContainer.java
|
|
||||||
@@ -24,6 +24,7 @@ import org.chromium.base.TraceEvent;
|
|
||||||
import org.chromium.base.metrics.TimingMetric;
|
|
||||||
import org.chromium.base.task.PostTask;
|
|
||||||
import org.chromium.base.task.TaskTraits;
|
|
||||||
+import org.chromium.base.ui.KeyboardUtils;
|
|
||||||
import org.chromium.build.annotations.NullMarked;
|
|
||||||
import org.chromium.chrome.browser.omnibox.OmniboxMetrics;
|
|
||||||
import org.chromium.chrome.browser.omnibox.R;
|
|
||||||
@@ -109,8 +110,11 @@ public class OmniboxSuggestionsContainer extends FrameLayout {
|
|
||||||
// Omnibox.
|
|
||||||
// Making the container `clickable=true` achieves similar goal, but this consumes all
|
|
||||||
// activators, including keyboard <Enter> key.
|
|
||||||
- super.onTouchEvent(event);
|
|
||||||
- return true;
|
|
||||||
+ if (KeyboardUtils.isAndroidSoftKeyboardShowing(this)) {
|
|
||||||
+ KeyboardUtils.hideAndroidSoftKeyboard(this);
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+ return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -2509,7 +2509,7 @@ Your Google account may have other forms of browsing history like searches and a
|
@@ -2425,7 +2425,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||||
About Chrome
|
About Chrome
|
||||||
</message>
|
</message>
|
||||||
<message name="IDS_LEGAL_INFORMATION_SUMMARY" desc="Summary for legal information" meaning="Android">
|
<message name="IDS_LEGAL_INFORMATION_SUMMARY" desc="Summary for legal information" meaning="Android">
|
||||||
@@ -13520,19 +13264,10 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
</message>
|
</message>
|
||||||
<message name="IDS_APPLICATION_VERSION_TITLE" desc="Title for application version">
|
<message name="IDS_APPLICATION_VERSION_TITLE" desc="Title for application version">
|
||||||
Application version
|
Application version
|
||||||
@@ -6030,7 +6030,7 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
|
||||||
|
|
||||||
<!-- Storage Preference UI strings for clearing storage. -->
|
|
||||||
<message name="IDS_STORAGE_MANAGEMENT_ACTIVITY_LABEL" desc="Title for Chrome's Manage Space Activity.">
|
|
||||||
- Google <ph name="APP_NAME">%1$s<ex>Chrome</ex></ph> storage
|
|
||||||
+ <ph name="APP_NAME">%1$s<ex>Chrome</ex></ph> storage
|
|
||||||
</message>
|
|
||||||
<message name="IDS_STORAGE_MANAGEMENT_UNIMPORTANT_SITE_DATA_DESCRIPTION" desc="Text to describe the data stored by unimportant or infrequent sites.">
|
|
||||||
Stored data that Chrome doesn't think is important (e.g. sites with no saved settings or that you don't visit often)
|
|
||||||
diff --git a/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc
|
diff --git a/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc
|
||||||
--- a/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc
|
--- a/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc
|
||||||
+++ b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc
|
+++ b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc
|
||||||
@@ -139,6 +139,7 @@ bool AreNewChromeLabsExperimentsAvailable(Profile* profile) {
|
@@ -144,6 +144,7 @@ bool AreNewChromeLabsExperimentsAvailable(const ChromeLabsModel* model,
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsChromeLabsEnabled() {
|
bool IsChromeLabsEnabled() {
|
||||||
@@ -13543,40 +13278,40 @@ diff --git a/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc b/chrome
|
|||||||
diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
|
diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
|
||||||
--- a/chrome/common/url_constants.h
|
--- a/chrome/common/url_constants.h
|
||||||
+++ b/chrome/common/url_constants.h
|
+++ b/chrome/common/url_constants.h
|
||||||
@@ -117,7 +117,7 @@ inline constexpr char kChromeHelpViaMenuURL[] =
|
@@ -136,7 +136,7 @@ inline constexpr char kChromeHelpViaMenuURL[] =
|
||||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||||
|
|
||||||
inline constexpr char kChromeHelpViaWebUIURL[] =
|
inline constexpr char kChromeHelpViaWebUIURL[] =
|
||||||
- "https://support.google.com/chrome?p=help&ctx=settings";
|
- "https://support.google.com/chrome?p=help&ctx=settings";
|
||||||
+ "https://github.com/uazo/cromite/issues";
|
+ "https://github.com/uazo/cromite/issues";
|
||||||
#if BUILDFLAG(IS_CHROMEOS)
|
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||||
inline constexpr char kChromeOsHelpViaWebUIURL[] =
|
inline constexpr char kChromeOsHelpViaWebUIURL[] =
|
||||||
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||||
@@ -175,7 +175,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] =
|
@@ -199,7 +199,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] =
|
||||||
"chrome-untrusted://new-tab-page/";
|
"chrome-untrusted://new-tab-page/";
|
||||||
|
|
||||||
// The URL for the Chromium project used in the About dialog.
|
// The URL for the Chromium project used in the About dialog.
|
||||||
-inline constexpr char16_t kChromiumProjectURL[] = u"https://www.chromium.org/";
|
-inline constexpr char16_t kChromiumProjectURL[] = u"https://www.chromium.org/";
|
||||||
+inline constexpr char16_t kChromiumProjectURL[] = u"https://www.cromite.org/";
|
+inline constexpr char16_t kChromiumProjectURL[] = u"https://www.cromite.org/";
|
||||||
#if BUILDFLAG(IS_CHROMEOS)
|
|
||||||
static_assert(std::u16string_view(kChromiumProjectURL) ==
|
|
||||||
ash::chrome_external_urls::kChromiumProjectURL);
|
|
||||||
diff --git a/chrome/install_static/chromium_install_modes.h b/chrome/install_static/chromium_install_modes.h
|
|
||||||
--- a/chrome/install_static/chromium_install_modes.h
|
|
||||||
+++ b/chrome/install_static/chromium_install_modes.h
|
|
||||||
@@ -21,7 +21,7 @@ inline constexpr wchar_t kCompanyPathName[] = L"";
|
|
||||||
|
|
||||||
// The brand-specific product name to be included as a component of the install
|
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||||
// and user data directory paths.
|
// The URL for the "Clear browsing data in Chrome" help center article.
|
||||||
-inline constexpr wchar_t kProductPathName[] = L"Chromium";
|
diff --git a/chrome/install_static/chromium_install_modes.cc b/chrome/install_static/chromium_install_modes.cc
|
||||||
+inline constexpr wchar_t kProductPathName[] = L"Cromite";
|
--- a/chrome/install_static/chromium_install_modes.cc
|
||||||
|
+++ b/chrome/install_static/chromium_install_modes.cc
|
||||||
|
@@ -16,7 +16,7 @@ namespace install_static {
|
||||||
|
|
||||||
|
const wchar_t kCompanyPathName[] = L"";
|
||||||
|
|
||||||
|
-const wchar_t kProductPathName[] = L"Chromium";
|
||||||
|
+const wchar_t kProductPathName[] = L"Cromite";
|
||||||
|
|
||||||
|
const size_t kProductPathNameLength = _countof(kProductPathName) - 1;
|
||||||
|
|
||||||
// The brand-specific safe browsing client name.
|
|
||||||
inline constexpr char kSafeBrowsingName[] = "chromium";
|
|
||||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||||
@@ -997,7 +997,7 @@
|
@@ -975,7 +975,7 @@
|
||||||
|
|
||||||
<!-- Accessibility preferences -->
|
<!-- Accessibility preferences -->
|
||||||
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
|
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
|
||||||
@@ -18481,17 +18216,6 @@ z-aP~TXJZ`-(Yg4YH}L#8=YM{CKWmuBV|oH(e6M*W+WLnfYBCzOQRGLiPvyZq6&Nv6
|
|||||||
z4G!>zy1hcOdP%7GG2>1P`Or}=o{p{?6G1~J{`Cl{gUX-*clf=;TVY)N<lVO9k)vG$
|
z4G!>zy1hcOdP%7GG2>1P`Or}=o{p{?6G1~J{`Cl{gUX-*clf=;TVY)N<lVO9k)vG$
|
||||||
i?Ib$(ofrX17!1R|`h|N%TnD<%35@j2bgPM^i2nno*_EOI
|
i?Ib$(ofrX17!1R|`h|N%TnD<%35@j2bgPM^i2nno*_EOI
|
||||||
|
|
||||||
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
|
||||||
--- a/components/omnibox/browser/autocomplete_controller.cc
|
|
||||||
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
|
||||||
@@ -1158,6 +1158,7 @@ bool AutocompleteController::ShouldRunProvider(
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
|
||||||
if (omnibox::IsAndroidHub(input_.current_page_classification())) {
|
|
||||||
+ if ((true)) return provider->type() == AutocompleteProvider::TYPE_OPEN_TAB;
|
|
||||||
return provider->type() == AutocompleteProvider::TYPE_SEARCH ||
|
|
||||||
provider->type() == AutocompleteProvider::TYPE_OPEN_TAB ||
|
|
||||||
provider->type() == AutocompleteProvider::TYPE_BOOKMARK ||
|
|
||||||
diff --git a/components/omnibox/browser/vector_icons/product_chrome_refresh.icon b/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
|
diff --git a/components/omnibox/browser/vector_icons/product_chrome_refresh.icon b/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
|
||||||
--- a/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
|
--- a/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
|
||||||
+++ b/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
|
+++ b/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
|
||||||
@@ -18501,15 +18225,15 @@ diff --git a/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
|
|||||||
-// found in the LICENSE file.
|
-// found in the LICENSE file.
|
||||||
-
|
-
|
||||||
-CANVAS_DIMENSIONS, 15,
|
-CANVAS_DIMENSIONS, 15,
|
||||||
-MOVE_TO, 4.92, 7.5,
|
-MOVE_TO, 4.92f, 7.5f,
|
||||||
-R_CUBIC_TO, 0, 0.71, 0.25, 1.31, 0.76, 1.82,
|
-R_CUBIC_TO, 0, 0.71f, 0.25f, 1.31f, 0.76f, 1.82f,
|
||||||
-R_CUBIC_TO, 0.51, 0.51, 1.12, 0.76, 1.82, 0.76,
|
-R_CUBIC_TO, 0.51f, 0.51f, 1.12f, 0.76f, 1.82f, 0.76f,
|
||||||
-R_CUBIC_TO, 0.7, 0, 1.31, -0.25, 1.82, -0.76,
|
-R_CUBIC_TO, 0.7f, 0, 1.31f, -0.25f, 1.82f, -0.76f,
|
||||||
-R_CUBIC_TO, 0.51, -0.51, 0.76, -1.12, 0.76, -1.82,
|
-R_CUBIC_TO, 0.51f, -0.51f, 0.76f, -1.12f, 0.76f, -1.82f,
|
||||||
-R_CUBIC_TO, 0, -0.7, -0.25, -1.31, -0.76, -1.82,
|
-R_CUBIC_TO, 0, -0.7f, -0.25f, -1.31f, -0.76f, -1.82f,
|
||||||
-R_ARC_TO, 2.49, 2.49, 0, 0, 0, -1.82, -0.76,
|
-R_ARC_TO, 2.49f, 2.49f, 0, 0, 0, -1.82f, -0.76f,
|
||||||
-R_CUBIC_TO, -0.7, 0, -1.31, 0.25, -1.82, 0.76,
|
-R_CUBIC_TO, -0.7f, 0, -1.31f, 0.25f, -1.82f, 0.76f,
|
||||||
-R_ARC_TO, 2.49, 2.49, 0, 0, 0, -0.76, 1.82,
|
-R_ARC_TO, 2.49f, 2.49f, 0, 0, 0, -0.76f, 1.82f,
|
||||||
+CANVAS_DIMENSIONS, 16,
|
+CANVAS_DIMENSIONS, 16,
|
||||||
+MOVE_TO, 15.99f, 8,
|
+MOVE_TO, 15.99f, 8,
|
||||||
+CUBIC_TO, 15.99f, 9.83f, 15.37f, 11.52f, 14.34f, 12.87f,
|
+CUBIC_TO, 15.99f, 9.83f, 15.37f, 11.52f, 14.34f, 12.87f,
|
||||||
@@ -18521,47 +18245,47 @@ diff --git a/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
|
|||||||
+CUBIC_TO, 14.47f, 3.29f, 14.38f, 3.18f, 14.29f, 3.07f,
|
+CUBIC_TO, 14.47f, 3.29f, 14.38f, 3.18f, 14.29f, 3.07f,
|
||||||
+CUBIC_TO, 15.36f, 4.43f, 15.99f, 6.14f, 15.99f, 8,
|
+CUBIC_TO, 15.36f, 4.43f, 15.99f, 6.14f, 15.99f, 8,
|
||||||
CLOSE,
|
CLOSE,
|
||||||
-MOVE_TO, 7.5, 11.48,
|
-MOVE_TO, 7.5f, 11.48f,
|
||||||
-R_CUBIC_TO, 0.14, 0, 0.28, 0, 0.41, -0.02,
|
-R_CUBIC_TO, 0.14f, 0, 0.28f, 0, 0.41f, -0.02f,
|
||||||
-R_CUBIC_TO, 0.13, -0.01, 0.26, -0.04, 0.39, -0.07,
|
-R_CUBIC_TO, 0.13f, -0.01f, 0.26f, -0.04f, 0.39f, -0.07f,
|
||||||
-LINE_TO, 6.77, 14.06,
|
-LINE_TO, 6.77f, 14.06f,
|
||||||
-R_CUBIC_TO, -1.65, -0.19, -3.04, -0.89, -4.15, -2.12,
|
-R_CUBIC_TO, -1.65f, -0.19f, -3.04f, -0.89f, -4.15f, -2.12f,
|
||||||
-CUBIC_TO, 1.5, 10.71, 0.94, 9.24, 0.94, 7.55,
|
-CUBIC_TO, 1.5f, 10.71f, 0.94f, 9.24f, 0.94f, 7.55f,
|
||||||
-R_CUBIC_TO, 0, -0.46, 0.05, -0.9, 0.13, -1.33,
|
-R_CUBIC_TO, 0, -0.46f, 0.05f, -0.9f, 0.13f, -1.33f,
|
||||||
-R_CUBIC_TO, 0.08, -0.44, 0.22, -0.85, 0.39, -1.25,
|
-R_CUBIC_TO, 0.08f, -0.44f, 0.22f, -0.85f, 0.39f, -1.25f,
|
||||||
-R_LINE_TO, 2.63, 4.55,
|
-R_LINE_TO, 2.63f, 4.55f,
|
||||||
-R_CUBIC_TO, 0.34, 0.59, 0.81, 1.07, 1.41, 1.43,
|
-R_CUBIC_TO, 0.34f, 0.59f, 0.81f, 1.07f, 1.41f, 1.43f,
|
||||||
-R_CUBIC_TO, 0.6, 0.36, 1.26, 0.54, 2.01, 0.54,
|
-R_CUBIC_TO, 0.6f, 0.36f, 1.26f, 0.54f, 2.01f, 0.54f,
|
||||||
+MOVE_TO, 14.29f, 3.07f,
|
+MOVE_TO, 14.29f, 3.07f,
|
||||||
+CUBIC_TO, 14.29f, 3.06f, 14.28f, 3.05f, 14.27f, 3.04f,
|
+CUBIC_TO, 14.29f, 3.06f, 14.28f, 3.05f, 14.27f, 3.04f,
|
||||||
+CUBIC_TO, 14.28f, 3.05f, 14.29f, 3.06f, 14.29f, 3.07f,
|
+CUBIC_TO, 14.28f, 3.05f, 14.29f, 3.06f, 14.29f, 3.07f,
|
||||||
CLOSE,
|
CLOSE,
|
||||||
-R_MOVE_TO, 0, -7.87,
|
-R_MOVE_TO, 0, -7.87f,
|
||||||
-R_CUBIC_TO, -0.87, 0, -1.65, 0.25, -2.33, 0.77,
|
-R_CUBIC_TO, -0.87f, 0, -1.65f, 0.25f, -2.33f, 0.77f,
|
||||||
-R_ARC_TO, 3.95, 3.95, 0, 0, 0, -1.42, 1.94,
|
-R_ARC_TO, 3.95f, 3.95f, 0, 0, 0, -1.42f, 1.94f,
|
||||||
-LINE_TO, 2.21, 3.66,
|
-LINE_TO, 2.21f, 3.66f,
|
||||||
-R_ARC_TO, 6.79, 6.79, 0, 0, 1, 2.27, -1.94,
|
-R_ARC_TO, 6.79f, 6.79f, 0, 0, 1, 2.27f, -1.94f,
|
||||||
-CUBIC_TO, 5.4, 1.22, 6.4, 0.98, 7.5, 0.98,
|
-CUBIC_TO, 5.4f, 1.22f, 6.4f, 0.98f, 7.5f, 0.98f,
|
||||||
-R_CUBIC_TO, 1.1, 0, 2.08, 0.24, 2.99, 0.72,
|
-R_CUBIC_TO, 1.1f, 0, 2.08f, 0.24f, 2.99f, 0.72f,
|
||||||
-ARC_TO, 6.66, 6.66, 0, 0, 1, 12.76, 3.6,
|
-ARC_TO, 6.66f, 6.66f, 0, 0, 1, 12.76f, 3.6f,
|
||||||
-H_LINE_TO, 7.51,
|
-H_LINE_TO, 7.51f,
|
||||||
-R_LINE_TO, -0.01, 0.01,
|
-R_LINE_TO, -0.01f, 0.01f,
|
||||||
+MOVE_TO, 14.34f, 12.87f,
|
+MOVE_TO, 14.34f, 12.87f,
|
||||||
+CUBIC_TO, 14.29f, 12.93f, 14.24f, 12.99f, 14.2f, 13.05f,
|
+CUBIC_TO, 14.29f, 12.93f, 14.24f, 12.99f, 14.2f, 13.05f,
|
||||||
+CUBIC_TO, 14.24f, 12.99f, 14.29f, 12.93f, 14.34f, 12.87f,
|
+CUBIC_TO, 14.24f, 12.99f, 14.29f, 12.93f, 14.34f, 12.87f,
|
||||||
CLOSE,
|
CLOSE,
|
||||||
-R_MOVE_TO, 6.01, 1.31,
|
-R_MOVE_TO, 6.01f, 1.31f,
|
||||||
-R_CUBIC_TO, 0.19, 0.4, 0.32, 0.83, 0.41, 1.27,
|
-R_CUBIC_TO, 0.19f, 0.4f, 0.32f, 0.83f, 0.41f, 1.27f,
|
||||||
-R_CUBIC_TO, 0.09, 0.44, 0.15, 0.89, 0.15, 1.36,
|
-R_CUBIC_TO, 0.09f, 0.44f, 0.15f, 0.89f, 0.15f, 1.36f,
|
||||||
-R_CUBIC_TO, 0, 1.7, -0.55, 3.16, -1.68, 4.38,
|
-R_CUBIC_TO, 0, 1.7f, -0.55f, 3.16f, -1.68f, 4.38f,
|
||||||
-R_CUBIC_TO, -1.11, 1.23, -2.47, 1.93, -4.1, 2.13,
|
-R_CUBIC_TO, -1.11f, 1.23f, -2.47f, 1.93f, -4.1f, 2.13f,
|
||||||
-R_LINE_TO, 2.63, -4.55,
|
-R_LINE_TO, 2.63f, -4.55f,
|
||||||
-R_CUBIC_TO, 0.17, -0.28, 0.29, -0.59, 0.38, -0.92,
|
-R_CUBIC_TO, 0.17f, -0.28f, 0.29f, -0.59f, 0.38f, -0.92f,
|
||||||
-R_CUBIC_TO, 0.09, -0.34, 0.15, -0.69, 0.15, -1.05,
|
-R_CUBIC_TO, 0.09f, -0.34f, 0.15f, -0.69f, 0.15f, -1.05f,
|
||||||
-R_CUBIC_TO, 0, -0.52, -0.09, -0.99, -0.28, -1.42,
|
-R_CUBIC_TO, 0, -0.52f, -0.09f, -0.99f, -0.28f, -1.42f,
|
||||||
-R_ARC_TO, 3.96, 3.96, 0, 0, 0, -0.74, -1.2,
|
-R_ARC_TO, 3.96f, 3.96f, 0, 0, 0, -0.74f, -1.2f,
|
||||||
-R_H_LINE_TO, 3.08,
|
-R_H_LINE_TO, 3.08f,
|
||||||
-R_V_LINE_TO, 0.01,
|
-R_V_LINE_TO, 0.01f,
|
||||||
+MOVE_TO, 14.27f, 3.04f,
|
+MOVE_TO, 14.27f, 3.04f,
|
||||||
+CUBIC_TO, 14.19f, 2.94f, 14.11f, 2.84f, 14.02f, 2.74f,
|
+CUBIC_TO, 14.19f, 2.94f, 14.11f, 2.84f, 14.02f, 2.74f,
|
||||||
+CUBIC_TO, 14.11f, 2.84f, 14.19f, 2.94f, 14.27f, 3.04f,
|
+CUBIC_TO, 14.11f, 2.84f, 14.19f, 2.94f, 14.27f, 3.04f,
|
||||||
@@ -18593,30 +18317,6 @@ diff --git a/components/omnibox/browser/vector_icons/product_chrome_refresh.icon
|
|||||||
+CLOSE,
|
+CLOSE,
|
||||||
+MOVE_TO, 11.2f, 8,
|
+MOVE_TO, 11.2f, 8,
|
||||||
CLOSE
|
CLOSE
|
||||||
diff --git a/components/policy/core/common/policy_paths.cc b/components/policy/core/common/policy_paths.cc
|
|
||||||
--- a/components/policy/core/common/policy_paths.cc
|
|
||||||
+++ b/components/policy/core/common/policy_paths.cc
|
|
||||||
@@ -18,7 +18,7 @@ const char kPolicyPath[] = "/etc/opt/chrome/policies";
|
|
||||||
#elif BUILDFLAG(GOOGLE_CHROME_FOR_TESTING_BRANDING)
|
|
||||||
const char kPolicyPath[] = "/etc/opt/chrome_for_testing/policies";
|
|
||||||
#else
|
|
||||||
-const char kPolicyPath[] = "/etc/chromium/policies";
|
|
||||||
+const char kPolicyPath[] = "/etc/cromite/policies";
|
|
||||||
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
|
||||||
#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
|
||||||
|
|
||||||
diff --git a/components/policy/tools/generate_policy_source.py b/components/policy/tools/generate_policy_source.py
|
|
||||||
--- a/components/policy/tools/generate_policy_source.py
|
|
||||||
+++ b/components/policy/tools/generate_policy_source.py
|
|
||||||
@@ -28,7 +28,7 @@ from xml.sax.saxutils import escape as xml_escape
|
|
||||||
|
|
||||||
CHROME_POLICY_KEY = 'SOFTWARE\\\\Policies\\\\Google\\\\Chrome'
|
|
||||||
CHROME_FOR_TESTING_POLICY_KEY = CHROME_POLICY_KEY + ' for Testing'
|
|
||||||
-CHROMIUM_POLICY_KEY = 'SOFTWARE\\\\Policies\\\\Chromium'
|
|
||||||
+CHROMIUM_POLICY_KEY = 'SOFTWARE\\\\Policies\\\\Cromite'
|
|
||||||
PLATFORM_STRINGS = {
|
|
||||||
'chrome_frame': ['win'],
|
|
||||||
'chrome_os': ['chrome_os'],
|
|
||||||
diff --git a/components/resources/default_100_percent/chromium/product_logo.png b/components/resources/default_100_percent/chromium/product_logo.png
|
diff --git a/components/resources/default_100_percent/chromium/product_logo.png b/components/resources/default_100_percent/chromium/product_logo.png
|
||||||
index 7b60bd8c6053346e4eb265cc77d28add65103028..66b3c4c7a4f68fba1ef098000bd373ba103a0de0 100644
|
index 7b60bd8c6053346e4eb265cc77d28add65103028..66b3c4c7a4f68fba1ef098000bd373ba103a0de0 100644
|
||||||
GIT binary patch
|
GIT binary patch
|
||||||
@@ -19235,19 +18935,18 @@ diff --git a/components/webui/version/resources/about_version.ts b/components/we
|
|||||||
chrome.send('requestVersionInfo');
|
chrome.send('requestVersionInfo');
|
||||||
- const includeVariationsCmd = location.search.includes('show-variations-cmd');
|
- const includeVariationsCmd = location.search.includes('show-variations-cmd');
|
||||||
+ const includeVariationsCmd = true;
|
+ const includeVariationsCmd = true;
|
||||||
sendWithPromise<{variationsList: string[], variationsCmd: string}>(
|
sendWithPromise('requestVariationInfo', includeVariationsCmd)
|
||||||
'requestVariationInfo', includeVariationsCmd)
|
|
||||||
.then(handleVariationInfo);
|
.then(handleVariationInfo);
|
||||||
|
sendWithPromise('requestPathInfo').then(handlePathInfo);
|
||||||
diff --git a/components/webui/version/resources/about_version_mobile.css b/components/webui/version/resources/about_version_mobile.css
|
diff --git a/components/webui/version/resources/about_version_mobile.css b/components/webui/version/resources/about_version_mobile.css
|
||||||
--- a/components/webui/version/resources/about_version_mobile.css
|
--- a/components/webui/version/resources/about_version_mobile.css
|
||||||
+++ b/components/webui/version/resources/about_version_mobile.css
|
+++ b/components/webui/version/resources/about_version_mobile.css
|
||||||
@@ -17,3 +17,13 @@
|
@@ -17,3 +17,12 @@
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+tr,
|
+tr, td {
|
||||||
+td {
|
|
||||||
+ display: block;
|
+ display: block;
|
||||||
+ text-align: left !important;
|
+ text-align: left !important;
|
||||||
+}
|
+}
|
||||||
@@ -19258,7 +18957,7 @@ diff --git a/components/webui/version/resources/about_version_mobile.css b/compo
|
|||||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||||
--- a/content/child/runtime_features.cc
|
--- a/content/child/runtime_features.cc
|
||||||
+++ b/content/child/runtime_features.cc
|
+++ b/content/child/runtime_features.cc
|
||||||
@@ -552,19 +552,22 @@ void ResolveInvalidConfigurations() {
|
@@ -564,19 +564,22 @@ void ResolveInvalidConfigurations() {
|
||||||
base::FeatureList::IsEnabled(
|
base::FeatureList::IsEnabled(
|
||||||
features::kPrivacySandboxAdsAPIsM1Override)) &&
|
features::kPrivacySandboxAdsAPIsM1Override)) &&
|
||||||
!base::FeatureList::IsEnabled(blink::features::kFencedFrames)) {
|
!base::FeatureList::IsEnabled(blink::features::kFencedFrames)) {
|
||||||
@@ -19285,7 +18984,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
|||||||
<< "Fenced frames must be enabled in order to enable local "
|
<< "Fenced frames must be enabled in order to enable local "
|
||||||
"unpartitioned "
|
"unpartitioned "
|
||||||
<< "data access. Use --" << switches::kEnableFeatures << "="
|
<< "data access. Use --" << switches::kEnableFeatures << "="
|
||||||
@@ -572,12 +575,14 @@ void ResolveInvalidConfigurations() {
|
@@ -584,12 +587,14 @@ void ResolveInvalidConfigurations() {
|
||||||
WebRuntimeFeatures::EnableFeatureFromString(
|
WebRuntimeFeatures::EnableFeatureFromString(
|
||||||
"FencedFramesLocalUnpartitionedDataAccess", false);
|
"FencedFramesLocalUnpartitionedDataAccess", false);
|
||||||
}
|
}
|
||||||
@@ -19295,13 +18994,13 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
|||||||
// Topics API cannot be enabled without the support of the browser process.
|
// Topics API cannot be enabled without the support of the browser process.
|
||||||
// The Document API should be additionally gated by the
|
// The Document API should be additionally gated by the
|
||||||
// `kBrowsingTopicsDocumentAPI` feature.
|
// `kBrowsingTopicsDocumentAPI` feature.
|
||||||
if (!base::FeatureList::IsEnabled(network::features::kBrowsingTopics)) {
|
if (!base::FeatureList::IsEnabled(blink::features::kBrowsingTopics)) {
|
||||||
- LOG_IF(WARNING, WebRuntimeFeatures::IsTopicsAPIEnabled())
|
- LOG_IF(WARNING, WebRuntimeFeatures::IsTopicsAPIEnabled())
|
||||||
+ CHECK(!WebRuntimeFeatures::IsTopicsAPIEnabled())
|
+ CHECK(!WebRuntimeFeatures::IsTopicsAPIEnabled())
|
||||||
<< "Topics cannot be enabled in this configuration. Use --"
|
<< "Topics cannot be enabled in this configuration. Use --"
|
||||||
<< switches::kEnableFeatures << "="
|
<< switches::kEnableFeatures << "="
|
||||||
<< network::features::kBrowsingTopics.name << " in addition.";
|
<< blink::features::kBrowsingTopics.name << " in addition.";
|
||||||
@@ -585,30 +590,23 @@ void ResolveInvalidConfigurations() {
|
@@ -597,30 +602,23 @@ void ResolveInvalidConfigurations() {
|
||||||
WebRuntimeFeatures::EnableTopicsDocumentAPI(false);
|
WebRuntimeFeatures::EnableTopicsDocumentAPI(false);
|
||||||
WebRuntimeFeatures::EnableTopicsImgAPI(false);
|
WebRuntimeFeatures::EnableTopicsImgAPI(false);
|
||||||
} else {
|
} else {
|
||||||
@@ -19318,14 +19017,14 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
|||||||
+ CHECK(false) << "kBrowsingTopics is enabled!";
|
+ CHECK(false) << "kBrowsingTopics is enabled!";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!base::FeatureList::IsEnabled(network::features::kSharedStorageAPI)) {
|
if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) {
|
||||||
- LOG_IF(WARNING, WebRuntimeFeatures::IsSharedStorageAPIEnabled())
|
- LOG_IF(WARNING, WebRuntimeFeatures::IsSharedStorageAPIEnabled())
|
||||||
- << "SharedStorage cannot be enabled in this "
|
- << "SharedStorage cannot be enabled in this "
|
||||||
+ CHECK(!WebRuntimeFeatures::IsSharedStorageAPIEnabled())
|
+ CHECK(!WebRuntimeFeatures::IsSharedStorageAPIEnabled())
|
||||||
+ << "SharedStorage for M118+ cannot be enabled in this "
|
+ << "SharedStorage for M118+ cannot be enabled in this "
|
||||||
"configuration. Use --"
|
"configuration. Use --"
|
||||||
<< switches::kEnableFeatures << "="
|
<< switches::kEnableFeatures << "="
|
||||||
<< network::features::kSharedStorageAPI.name << " in addition.";
|
<< blink::features::kSharedStorageAPI.name << " in addition.";
|
||||||
WebRuntimeFeatures::EnableSharedStorageAPI(false);
|
WebRuntimeFeatures::EnableSharedStorageAPI(false);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ CHECK(false) << "kSharedStorageAPI is enabled!";
|
+ CHECK(false) << "kSharedStorageAPI is enabled!";
|
||||||
@@ -19338,46 +19037,40 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
|||||||
<< "AttributionReporting cannot be enabled in this "
|
<< "AttributionReporting cannot be enabled in this "
|
||||||
"configuration. Use --"
|
"configuration. Use --"
|
||||||
<< switches::kEnableFeatures << "="
|
<< switches::kEnableFeatures << "="
|
||||||
@@ -616,23 +614,25 @@ void ResolveInvalidConfigurations() {
|
@@ -628,23 +626,25 @@ void ResolveInvalidConfigurations() {
|
||||||
<< " in addition.";
|
<< " in addition.";
|
||||||
WebRuntimeFeatures::EnableAttributionReporting(false);
|
WebRuntimeFeatures::EnableAttributionReporting(false);
|
||||||
}
|
}
|
||||||
+ CHECK(!base::FeatureList::IsEnabled(attribution_reporting::features::kConversionMeasurement))
|
+ CHECK(!base::FeatureList::IsEnabled(attribution_reporting::features::kConversionMeasurement))
|
||||||
+ << "kConversionMeasurement is enabled!";
|
+ << "kConversionMeasurement is enabled!";
|
||||||
|
|
||||||
if (!base::FeatureList::IsEnabled(network::features::kInterestGroupStorage)) {
|
if (!base::FeatureList::IsEnabled(blink::features::kInterestGroupStorage)) {
|
||||||
- LOG_IF(WARNING,
|
- LOG_IF(WARNING,
|
||||||
- WebRuntimeFeatures::IsAdInterestGroupAPIEnabledByRuntimeFlag())
|
- WebRuntimeFeatures::IsAdInterestGroupAPIEnabledByRuntimeFlag())
|
||||||
+ CHECK(!WebRuntimeFeatures::IsAdInterestGroupAPIEnabledByRuntimeFlag())
|
+ CHECK(!WebRuntimeFeatures::IsAdInterestGroupAPIEnabledByRuntimeFlag())
|
||||||
<< "AdInterestGroupAPI cannot be enabled in this "
|
<< "AdInterestGroupAPI cannot be enabled in this "
|
||||||
"configuration. Use --"
|
"configuration. Use --"
|
||||||
<< switches::kEnableFeatures << "="
|
<< switches::kEnableFeatures << "="
|
||||||
<< network::features::kInterestGroupStorage.name << " in addition.";
|
<< blink::features::kInterestGroupStorage.name << " in addition.";
|
||||||
WebRuntimeFeatures::EnableAdInterestGroupAPI(false);
|
WebRuntimeFeatures::EnableAdInterestGroupAPI(false);
|
||||||
WebRuntimeFeatures::EnableFledge(false);
|
WebRuntimeFeatures::EnableFledge(false);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ CHECK(false) << "kInterestGroupStorage is enabled!";
|
+ CHECK(false) << "kInterestGroupStorage is enabled!";
|
||||||
}
|
}
|
||||||
|
|
||||||
// UserMediaElement cannot be enabled without the support of the
|
// PermissionElement cannot be enabled without the support of the
|
||||||
// browser process.
|
// browser process.
|
||||||
if (!base::FeatureList::IsEnabled(blink::features::kUserMediaElement)) {
|
if (!base::FeatureList::IsEnabled(blink::features::kPermissionElement)) {
|
||||||
- LOG_IF(WARNING,
|
- LOG_IF(WARNING,
|
||||||
- WebRuntimeFeatures::IsUserMediaElementEnabledByRuntimeFlag())
|
- WebRuntimeFeatures::IsPermissionElementEnabledByRuntimeFlag())
|
||||||
+ CHECK(!WebRuntimeFeatures::IsUserMediaElementEnabledByRuntimeFlag())
|
+ CHECK(!WebRuntimeFeatures::IsPermissionElementEnabledByRuntimeFlag())
|
||||||
<< "UserMediaElement cannot be enabled in this configuration. Use --"
|
<< "PermissionElement cannot be enabled in this configuration. Use --"
|
||||||
<< switches::kEnableFeatures << "="
|
<< switches::kEnableFeatures << "="
|
||||||
<< blink::features::kUserMediaElement.name << " instead.";
|
<< blink::features::kPermissionElement.name << " instead.";
|
||||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
|
|
||||||
@@ -0,0 +1 @@
|
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kShowTabListAnimations);
|
|
||||||
diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
|
diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
|
||||||
--- a/tools/grit/grit/grd_reader.py
|
--- a/tools/grit/grit/grd_reader.py
|
||||||
+++ b/tools/grit/grit/grd_reader.py
|
+++ b/tools/grit/grit/grd_reader.py
|
||||||
@@ -129,6 +129,7 @@ class GrdContentHandler(xml.sax.handler.ContentHandler):
|
@@ -126,6 +126,7 @@ class GrdContentHandler(xml.sax.handler.ContentHandler):
|
||||||
def characters(self, content):
|
def characters(self, content):
|
||||||
if self.ignore_depth == 0:
|
if self.ignore_depth == 0:
|
||||||
if self.stack[-1]:
|
if self.stack[-1]:
|
||||||
@@ -19385,7 +19078,7 @@ diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
|
|||||||
self.stack[-1].AppendContent(content)
|
self.stack[-1].AppendContent(content)
|
||||||
|
|
||||||
def ignorableWhitespace(self, whitespace):
|
def ignorableWhitespace(self, whitespace):
|
||||||
@@ -136,6 +137,40 @@ class GrdContentHandler(xml.sax.handler.ContentHandler):
|
@@ -133,6 +134,40 @@ class GrdContentHandler(xml.sax.handler.ContentHandler):
|
||||||
# parser?
|
# parser?
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -7,67 +7,23 @@ Opens tabs in foreground, Move web search to the top of items,
|
|||||||
Web search in tab group and Enable smart text selection
|
Web search in tab group and Enable smart text selection
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
.../SamsungSelectionActionMenuDelegate.java | 7 +-
|
.../browser/ChromeActionModeHandler.java | 4 +-
|
||||||
.../browser/ChromeActionModeHandler.java | 4 +-
|
.../chrome/browser/ChromeTabbedActivity.java | 15 +-
|
||||||
.../chrome/browser/ChromeTabbedActivity.java | 15 +++-
|
...ActivityTabWebContentsDelegateAndroid.java | 10 +-
|
||||||
...ActivityTabWebContentsDelegateAndroid.java | 10 ++-
|
.../compositor/layouts/LayoutManagerImpl.java | 8 ++
|
||||||
.../compositor/layouts/LayoutManagerImpl.java | 9 ++-
|
.../tab/TabContextMenuItemDelegate.java | 7 +-
|
||||||
.../tab/TabContextMenuItemDelegate.java | 7 +-
|
.../chrome/browser/ui/RootUiCoordinator.java | 8 +-
|
||||||
.../chrome/browser/ui/RootUiCoordinator.java | 8 +-
|
.../Customize-selection-popup.grdp | 34 +++++
|
||||||
.../Customize-selection-popup.grdp | 34 +++++++++
|
.../res/xml/accessibility_preferences.xml | 24 ++++
|
||||||
.../AutofillSelectionMenuItemHelper.java | 4 +-
|
.../selection/SelectActionMenuHelper.java | 129 ++++++++++++------
|
||||||
.../res/xml/accessibility_preferences.xml | 24 ++++++
|
.../selection/SmartSelectionClient.java | 4 +
|
||||||
.../selection/SelectActionMenuHelper.java | 20 ++---
|
10 files changed, 192 insertions(+), 51 deletions(-)
|
||||||
.../SelectionPopupControllerImpl.java | 2 +-
|
|
||||||
.../selection/SmartSelectionClient.java | 4 +
|
|
||||||
.../browser/PendingSelectionMenu.java | 8 +-
|
|
||||||
.../browser/SelectionMenuItem.java | 73 ++++++++++++-------
|
|
||||||
.../SelectionActionMenuDelegate.java | 32 +++++---
|
|
||||||
16 files changed, 194 insertions(+), 67 deletions(-)
|
|
||||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Customize-selection-popup.grdp
|
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Customize-selection-popup.grdp
|
||||||
|
|
||||||
diff --git a/android_webview/java/src/org/chromium/android_webview/selection/SamsungSelectionActionMenuDelegate.java b/android_webview/java/src/org/chromium/android_webview/selection/SamsungSelectionActionMenuDelegate.java
|
|
||||||
--- a/android_webview/java/src/org/chromium/android_webview/selection/SamsungSelectionActionMenuDelegate.java
|
|
||||||
+++ b/android_webview/java/src/org/chromium/android_webview/selection/SamsungSelectionActionMenuDelegate.java
|
|
||||||
@@ -134,7 +134,7 @@ public class SamsungSelectionActionMenuDelegate extends AutofillSelectionActionM
|
|
||||||
.setIcon(null)
|
|
||||||
.setOrderAndCategory(
|
|
||||||
Menu.CATEGORY_SECONDARY,
|
|
||||||
- SelectionMenuItem.ItemGroupOffset.TEXT_PROCESSING_ITEMS)
|
|
||||||
+ SelectionMenuItem.ItemGroupOffset.TEXT_PROCESSING_ITEMS())
|
|
||||||
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
|
|
||||||
.setIntent(createManageAppsIntent())
|
|
||||||
.build());
|
|
||||||
@@ -167,7 +167,7 @@ public class SamsungSelectionActionMenuDelegate extends AutofillSelectionActionM
|
|
||||||
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
|
|
||||||
.setOrderAndCategory(
|
|
||||||
DefaultItem.PASTE, // Show after paste.
|
|
||||||
- SelectionMenuItem.ItemGroupOffset.DEFAULT_ITEMS)
|
|
||||||
+ SelectionMenuItem.ItemGroupOffset.DEFAULT_ITEMS())
|
|
||||||
.setIntent(
|
|
||||||
getTranslationActionIntent(selectedText, translateResolveInfo))
|
|
||||||
.build());
|
|
||||||
@@ -180,7 +180,7 @@ public class SamsungSelectionActionMenuDelegate extends AutofillSelectionActionM
|
|
||||||
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS)
|
|
||||||
.setOrderAndCategory(
|
|
||||||
Menu.FIRST, // Show as first item after primary assist item.
|
|
||||||
- SelectionMenuItem.ItemGroupOffset.ASSIST_ITEMS)
|
|
||||||
+ SelectionMenuItem.ItemGroupOffset.ASSIST_ITEMS())
|
|
||||||
.setIntent(
|
|
||||||
createWritingToolkitIntent(selectedText, isSelectionReadOnly))
|
|
||||||
.build());
|
|
||||||
@@ -239,6 +239,7 @@ public class SamsungSelectionActionMenuDelegate extends AutofillSelectionActionM
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean shouldUseSamsungMenuItemOrdering() {
|
|
||||||
+ if ((true)) return false;
|
|
||||||
return Build.VERSION.SDK_INT <= MAXIMUM_BUILD_VERSION_CODE_SUPPORTED && isSamsungDevice();
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
|
||||||
@@ -173,9 +173,7 @@ public class ChromeActionModeHandler {
|
@@ -166,9 +166,7 @@ public class ChromeActionModeHandler {
|
||||||
| ActionModeCallbackHelper.MENU_ITEM_SHARE;
|
| ActionModeCallbackHelper.MENU_ITEM_SHARE;
|
||||||
// Disable options that expose additional Chrome functionality prior to the FRE being
|
// Disable options that expose additional Chrome functionality prior to the FRE being
|
||||||
// completed (i.e. creation of a new tab).
|
// completed (i.e. creation of a new tab).
|
||||||
@@ -81,7 +37,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionMod
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
@@ -944,10 +944,17 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
@@ -781,10 +781,17 @@ public class ChromeTabbedActivity extends ChromeActivity implements MismatchedIn
|
||||||
@TabLaunchType int type,
|
@TabLaunchType int type,
|
||||||
@TabCreationState int creationState,
|
@TabCreationState int creationState,
|
||||||
boolean markedForSelection) {
|
boolean markedForSelection) {
|
||||||
@@ -106,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java
|
||||||
@@ -253,6 +253,14 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat
|
@@ -195,12 +195,20 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat
|
||||||
// Skip opening a new Tab if it doesn't make sense.
|
// Skip opening a new Tab if it doesn't make sense.
|
||||||
if (mTab.isClosing()) return false;
|
if (mTab.isClosing()) return false;
|
||||||
|
|
||||||
@@ -118,53 +74,46 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activit
|
|||||||
+ tabLaunchType = TabLaunchType.FROM_LONGPRESS_BACKGROUND_IN_GROUP;
|
+ tabLaunchType = TabLaunchType.FROM_LONGPRESS_BACKGROUND_IN_GROUP;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
if (ChromeFeatureList.isEnabled(ChromeFeatureList.DOCUMENT_PICTURE_IN_PICTURE_API)
|
// Creating new Tabs asynchronously requires starting a new Activity to create the Tab,
|
||||||
&& disposition == WindowOpenDisposition.NEW_PICTURE_IN_PICTURE) {
|
// so the Tab returned will always be null. There's no way to know synchronously
|
||||||
assertNonNull(pictureInPictureWindowOptions);
|
// whether the Tab is created, so assume it's always successful.
|
||||||
@@ -270,7 +278,7 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat
|
boolean success =
|
||||||
mTab,
|
tabCreator.createTabWithWebContents(
|
||||||
/* shouldPin= */ false,
|
- mTab, webContents, TabLaunchType.FROM_LONGPRESS_FOREGROUND, url);
|
||||||
webContents,
|
+ mTab, webContents, tabLaunchType, url);
|
||||||
- TabLaunchType.FROM_LONGPRESS_FOREGROUND,
|
|
||||||
+ tabLaunchType,
|
if (success) {
|
||||||
targetUrl,
|
if (disposition == WindowOpenDisposition.NEW_FOREGROUND_TAB) {
|
||||||
addTabToModel);
|
|
||||||
if (tab == null) return false;
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java
|
||||||
@@ -20,6 +20,7 @@ import androidx.annotation.Px;
|
@@ -18,6 +18,7 @@ import androidx.annotation.Nullable;
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
|
|
||||||
import org.chromium.base.Callback;
|
import org.chromium.base.Callback;
|
||||||
+import org.chromium.base.ContextUtils;
|
+import org.chromium.base.ContextUtils;
|
||||||
import org.chromium.base.ObserverList;
|
import org.chromium.base.ObserverList;
|
||||||
import org.chromium.base.TraceEvent;
|
import org.chromium.base.TraceEvent;
|
||||||
import org.chromium.base.supplier.MonotonicObservableSupplier;
|
import org.chromium.base.supplier.ObservableSupplier;
|
||||||
@@ -243,11 +244,17 @@ public class LayoutManagerImpl
|
@@ -237,6 +238,13 @@ public class LayoutManagerImpl
|
||||||
boolean willBeSelected = willAddedTabBeSelected(launchType, incognito);
|
!= TabLaunchType
|
||||||
float lastTapX = LocalizationUtils.isLayoutRtl() ? mHost.getWidth() * mPxToDp : 0.f;
|
.FROM_COLLABORATION_BACKGROUND_IN_GROUP)
|
||||||
float lastTapY = 0.f;
|
|| (!getTabModelSelector().isIncognitoSelected() && incognito);
|
||||||
+ boolean selectionPopupTabsForeground =
|
+ boolean selectionPopupTabsForeground =
|
||||||
+ ContextUtils.getAppSharedPreferences().getBoolean(
|
+ ContextUtils.getAppSharedPreferences().getBoolean(
|
||||||
+ "selection_popup_tabs_foreground", false);
|
+ "selection_popup_tabs_foreground", false);
|
||||||
+ if (selectionPopupTabsForeground) {
|
+ if (selectionPopupTabsForeground) {
|
||||||
+ willBeSelected = launchType != TabLaunchType.FROM_RESTORE_TABS_UI
|
+ willBeSelected = launchType != TabLaunchType.FROM_RESTORE_TABS_UI
|
||||||
+ || (!getTabModelSelector().isIncognitoSelected() && incognito);
|
+ || (!getTabModelSelector().isIncognitoSelected() && incognito);
|
||||||
+ }
|
+ }
|
||||||
if (launchType != TabLaunchType.FROM_CHROME_UI) {
|
float lastTapX = LocalizationUtils.isLayoutRtl() ? mHost.getWidth() * mPxToDp : 0.f;
|
||||||
lastTapX = mPxToDp * mLastTapX;
|
float lastTapY = 0.f;
|
||||||
lastTapY = mPxToDp * mLastTapY;
|
if (launchType != TabLaunchType.FROM_CHROME_UI) {
|
||||||
}
|
|
||||||
-
|
|
||||||
tabCreated(
|
|
||||||
tabId,
|
|
||||||
getTabModelSelector().getCurrentTabId(),
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
@@ -404,8 +404,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
@@ -317,8 +317,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||||
public void onOpenImageInNewTab(GURL url, @Nullable Referrer referrer) {
|
public void onOpenImageInNewTab(GURL url, Referrer referrer) {
|
||||||
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
|
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
|
||||||
loadUrlParams.setReferrer(referrer);
|
loadUrlParams.setReferrer(referrer);
|
||||||
+ @TabLaunchType int type = TabLaunchType.FROM_LONGPRESS_BACKGROUND;
|
+ @TabLaunchType int type = TabLaunchType.FROM_LONGPRESS_BACKGROUND;
|
||||||
@@ -181,15 +130,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||||
@@ -34,6 +34,7 @@ import androidx.core.view.WindowInsetsCompat;
|
@@ -28,6 +28,7 @@ import androidx.appcompat.content.res.AppCompatResources;
|
||||||
|
import org.chromium.base.BuildInfo;
|
||||||
import org.chromium.base.Callback;
|
import org.chromium.base.Callback;
|
||||||
import org.chromium.base.CallbackController;
|
import org.chromium.base.CallbackController;
|
||||||
+import org.chromium.base.ContextUtils;
|
+import org.chromium.base.ContextUtils;
|
||||||
import org.chromium.base.DeviceInfo;
|
|
||||||
import org.chromium.base.TraceEvent;
|
import org.chromium.base.TraceEvent;
|
||||||
import org.chromium.base.lifetime.Destroyable;
|
import org.chromium.base.lifetime.Destroyable;
|
||||||
@@ -1083,11 +1084,16 @@ public class RootUiCoordinator
|
import org.chromium.base.metrics.RecordUserAction;
|
||||||
|
@@ -823,11 +824,16 @@ public class RootUiCoordinator
|
||||||
TrackerFactory.getTrackerForProfile(tab.getProfile())
|
TrackerFactory.getTrackerForProfile(tab.getProfile())
|
||||||
.notifyEvent(EventConstants.WEB_SEARCH_PERFORMED);
|
.notifyEvent(EventConstants.WEB_SEARCH_PERFORMED);
|
||||||
|
|
||||||
@@ -246,31 +195,10 @@ new file mode 100644
|
|||||||
+ Smart Text selection automatically augments the selected boundaries and classifies the selected text based on the context by sending selection together with its surrounding text
|
+ Smart Text selection automatically augments the selected boundaries and classifies the selected text based on the context by sending selection together with its surrounding text
|
||||||
+ </message>
|
+ </message>
|
||||||
+</grit-part>
|
+</grit-part>
|
||||||
diff --git a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java
|
|
||||||
--- a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java
|
|
||||||
+++ b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java
|
|
||||||
@@ -39,7 +39,7 @@ public class AutofillSelectionMenuItemHelper {
|
|
||||||
.setGroupId(R.id.select_action_menu_delegate_items)
|
|
||||||
.setOrderAndCategory(
|
|
||||||
Menu.FIRST,
|
|
||||||
- SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS)
|
|
||||||
+ SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS())
|
|
||||||
.setShowAsActionFlags(
|
|
||||||
MenuItem.SHOW_AS_ACTION_ALWAYS
|
|
||||||
| MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
|
||||||
@@ -52,7 +52,7 @@ public class AutofillSelectionMenuItemHelper {
|
|
||||||
.setGroupId(R.id.select_action_menu_delegate_items)
|
|
||||||
.setOrderAndCategory(
|
|
||||||
Menu.CATEGORY_SECONDARY, // Show at end of section.
|
|
||||||
- SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS)
|
|
||||||
+ SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS())
|
|
||||||
.setShowAsActionFlags(
|
|
||||||
MenuItem.SHOW_AS_ACTION_NEVER
|
|
||||||
| MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
|
||||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
@@ -89,4 +89,28 @@ found in the LICENSE file.
|
@@ -73,4 +73,28 @@ found in the LICENSE file.
|
||||||
android:key="disable_toolbar_swipeup"
|
android:key="disable_toolbar_swipeup"
|
||||||
android:title="@string/disable_toolbar_swipe_up" />
|
android:title="@string/disable_toolbar_swipe_up" />
|
||||||
|
|
||||||
@@ -302,178 +230,31 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
|
|||||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
|
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
|
||||||
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
|
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
|
||||||
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
|
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
|
||||||
@@ -169,7 +169,7 @@ public class SelectActionMenuHelper {
|
@@ -27,6 +27,7 @@ import androidx.core.content.ContextCompat;
|
||||||
return new SelectionMenuItem.Builder(primaryAction.getTitle())
|
import org.chromium.base.ApiCompatibilityUtils;
|
||||||
.setId(android.R.id.textAssist)
|
import org.chromium.base.ContextUtils;
|
||||||
.setGroupId(R.id.select_action_menu_assist_items)
|
import org.chromium.base.Log;
|
||||||
- .setOrderAndCategory(0, ItemGroupOffset.ASSIST_ITEMS)
|
|
||||||
+ .setOrderAndCategory(0, ItemGroupOffset.ASSIST_ITEMS())
|
|
||||||
.setIcon(getPrimaryActionIconForClassificationResult(classificationResult, context))
|
|
||||||
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
|
|
||||||
.build();
|
|
||||||
@@ -247,7 +247,7 @@ public class SelectActionMenuHelper {
|
|
||||||
.setGroupId(groupId)
|
|
||||||
.setIcon(icons == null ? null : icons.get(i))
|
|
||||||
.setOrderAndCategory(
|
|
||||||
- i - startIndex, ItemGroupOffset.SECONDARY_ASSIST_ITEMS)
|
|
||||||
+ i - startIndex, ItemGroupOffset.SECONDARY_ASSIST_ITEMS())
|
|
||||||
.setContentDescription(action.getContentDescription())
|
|
||||||
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
|
|
||||||
.build();
|
|
||||||
@@ -296,7 +296,7 @@ public class SelectActionMenuHelper {
|
|
||||||
.setId(Menu.NONE)
|
|
||||||
.setGroupId(R.id.select_action_menu_text_processing_items)
|
|
||||||
.setIcon(icon)
|
|
||||||
- .setOrderAndCategory(i, ItemGroupOffset.TEXT_PROCESSING_ITEMS)
|
|
||||||
+ .setOrderAndCategory(i, ItemGroupOffset.TEXT_PROCESSING_ITEMS())
|
|
||||||
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
|
|
||||||
.setIntent(intent)
|
|
||||||
.build());
|
|
||||||
@@ -341,7 +341,7 @@ public class SelectActionMenuHelper {
|
|
||||||
.setGroupId(R.id.select_action_menu_default_items)
|
|
||||||
.setIconAttr(android.R.attr.actionModeCutDrawable)
|
|
||||||
.setAlphabeticShortcut(ItemKeyShortcuts.CUT)
|
|
||||||
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
|
|
||||||
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
|
|
||||||
.setShowAsActionFlags(
|
|
||||||
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
|
||||||
.setIsEnabled(true)
|
|
||||||
@@ -355,7 +355,7 @@ public class SelectActionMenuHelper {
|
|
||||||
.setGroupId(R.id.select_action_menu_default_items)
|
|
||||||
.setIconAttr(android.R.attr.actionModeCopyDrawable)
|
|
||||||
.setAlphabeticShortcut(ItemKeyShortcuts.COPY)
|
|
||||||
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
|
|
||||||
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
|
|
||||||
.setShowAsActionFlags(
|
|
||||||
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
|
||||||
.setIsEnabled(true)
|
|
||||||
@@ -369,7 +369,7 @@ public class SelectActionMenuHelper {
|
|
||||||
.setGroupId(R.id.select_action_menu_default_items)
|
|
||||||
.setIconAttr(android.R.attr.actionModePasteDrawable)
|
|
||||||
.setAlphabeticShortcut(ItemKeyShortcuts.PASTE)
|
|
||||||
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
|
|
||||||
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
|
|
||||||
.setShowAsActionFlags(
|
|
||||||
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
|
||||||
.setIsEnabled(true)
|
|
||||||
@@ -385,7 +385,7 @@ public class SelectActionMenuHelper {
|
|
||||||
.setId(R.id.select_action_menu_share)
|
|
||||||
.setGroupId(R.id.select_action_menu_default_items)
|
|
||||||
.setIconAttr(android.R.attr.actionModeShareDrawable)
|
|
||||||
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
|
|
||||||
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
|
|
||||||
.setShowAsActionFlags(
|
|
||||||
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
|
||||||
.setIsEnabled(true)
|
|
||||||
@@ -399,7 +399,7 @@ public class SelectActionMenuHelper {
|
|
||||||
.setGroupId(R.id.select_action_menu_default_items)
|
|
||||||
.setIconAttr(android.R.attr.actionModeSelectAllDrawable)
|
|
||||||
.setAlphabeticShortcut(ItemKeyShortcuts.SELECT_ALL)
|
|
||||||
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
|
|
||||||
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
|
|
||||||
.setShowAsActionFlags(
|
|
||||||
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
|
||||||
.setIsEnabled(true)
|
|
||||||
@@ -412,7 +412,7 @@ public class SelectActionMenuHelper {
|
|
||||||
new SelectionMenuItem.Builder(android.R.string.paste_as_plain_text)
|
|
||||||
.setId(android.R.id.pasteAsPlainText)
|
|
||||||
.setGroupId(R.id.select_action_menu_default_items)
|
|
||||||
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
|
|
||||||
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
|
|
||||||
.setShowAsActionFlags(
|
|
||||||
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
|
||||||
.setIsEnabled(true);
|
|
||||||
@@ -432,7 +432,7 @@ public class SelectActionMenuHelper {
|
|
||||||
.setId(R.id.select_action_menu_web_search)
|
|
||||||
.setGroupId(R.id.select_action_menu_default_items)
|
|
||||||
.setIconAttr(android.R.attr.actionModeWebSearchDrawable)
|
|
||||||
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
|
|
||||||
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
|
|
||||||
.setShowAsActionFlags(
|
|
||||||
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
|
||||||
.setIsEnabled(true)
|
|
||||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
|
||||||
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
|
||||||
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
|
||||||
@@ -1149,7 +1149,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
|
||||||
|
|
||||||
private boolean handleAssistMenuItemClick(int order) {
|
|
||||||
// Primary assist action is always the first action in the list so offset by 1.
|
|
||||||
- int index = 1 + order - SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS;
|
|
||||||
+ int index = 1 + order - SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS();
|
|
||||||
if (mClassificationResult == null
|
|
||||||
|| mClassificationResult.textClassification == null
|
|
||||||
|| mClassificationResult.textClassification.getActions().size() <= index) {
|
|
||||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java b/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
|
|
||||||
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
|
|
||||||
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
|
|
||||||
@@ -19,6 +19,7 @@ import org.jni_zero.JNINamespace;
|
|
||||||
import org.jni_zero.JniType;
|
|
||||||
import org.jni_zero.NativeMethods;
|
|
||||||
|
|
||||||
+import org.chromium.base.ContextUtils;
|
|
||||||
import org.chromium.base.ObserverList;
|
|
||||||
import org.chromium.base.UserData;
|
|
||||||
import org.chromium.build.annotations.Initializer;
|
|
||||||
@@ -81,6 +82,9 @@ public class SmartSelectionClient implements SelectionClient, UserData {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (!ContextUtils.getAppSharedPreferences().getBoolean(
|
|
||||||
+ "selection_popup_smart_text", false)) return null;
|
|
||||||
+
|
|
||||||
SmartSelectionClient client =
|
|
||||||
assumeNonNull(
|
|
||||||
webContents.getOrSetUserData(
|
|
||||||
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/PendingSelectionMenu.java b/content/public/android/java/src/org/chromium/content_public/browser/PendingSelectionMenu.java
|
|
||||||
--- a/content/public/android/java/src/org/chromium/content_public/browser/PendingSelectionMenu.java
|
|
||||||
+++ b/content/public/android/java/src/org/chromium/content_public/browser/PendingSelectionMenu.java
|
|
||||||
@@ -165,13 +165,13 @@ public final class PendingSelectionMenu {
|
|
||||||
@VisibleForTesting
|
|
||||||
public @LogicalGroup int determineGroup(SelectionMenuItem item) {
|
|
||||||
int order = item.order;
|
|
||||||
- if (order >= ItemGroupOffset.TEXT_PROCESSING_ITEMS) {
|
|
||||||
+ if (order >= ItemGroupOffset.TEXT_PROCESSING_ITEMS()) {
|
|
||||||
return LogicalGroup.TEXT_PROCESSING_ITEMS;
|
|
||||||
- } else if (order >= ItemGroupOffset.SECONDARY_ASSIST_ITEMS) {
|
|
||||||
+ } else if (order >= ItemGroupOffset.SECONDARY_ASSIST_ITEMS()) {
|
|
||||||
return LogicalGroup.SECONDARY_ASSIST_ITEMS;
|
|
||||||
- } else if (order >= ItemGroupOffset.DEFAULT_ITEMS) {
|
|
||||||
+ } else if (order >= ItemGroupOffset.DEFAULT_ITEMS()) {
|
|
||||||
return LogicalGroup.DEFAULT_ITEMS;
|
|
||||||
- } else if (order >= ItemGroupOffset.ASSIST_ITEMS) {
|
|
||||||
+ } else if (order >= ItemGroupOffset.ASSIST_ITEMS()) {
|
|
||||||
return LogicalGroup.ASSIST_ITEMS;
|
|
||||||
}
|
|
||||||
throw new IllegalStateException("Invalid order. Must be >= 0");
|
|
||||||
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/SelectionMenuItem.java b/content/public/android/java/src/org/chromium/content_public/browser/SelectionMenuItem.java
|
|
||||||
--- a/content/public/android/java/src/org/chromium/content_public/browser/SelectionMenuItem.java
|
|
||||||
+++ b/content/public/android/java/src/org/chromium/content_public/browser/SelectionMenuItem.java
|
|
||||||
@@ -18,6 +18,7 @@ import androidx.annotation.IntDef;
|
|
||||||
import androidx.annotation.StringRes;
|
|
||||||
import androidx.appcompat.content.res.AppCompatResources;
|
|
||||||
|
|
||||||
+import org.chromium.base.ContextUtils;
|
+import org.chromium.base.ContextUtils;
|
||||||
|
import org.chromium.base.PackageManagerUtils;
|
||||||
|
import org.chromium.base.StrictModeContext;
|
||||||
import org.chromium.build.annotations.NullMarked;
|
import org.chromium.build.annotations.NullMarked;
|
||||||
import org.chromium.build.annotations.Nullable;
|
@@ -54,38 +55,84 @@ import java.util.TreeSet;
|
||||||
|
public class SelectActionMenuHelper {
|
||||||
|
private static final String TAG = "SelectActionMenu"; // 20 char limit.
|
||||||
|
|
||||||
@@ -34,18 +35,38 @@ public final class SelectionMenuItem implements Comparable<SelectionMenuItem> {
|
|
||||||
* less than SECONDARY_ASSIST_ITEMS will appear in the default items section. Each section is
|
|
||||||
* separated by a divider in dropdown menus.
|
|
||||||
*/
|
|
||||||
- @Retention(RetentionPolicy.SOURCE)
|
- @Retention(RetentionPolicy.SOURCE)
|
||||||
- @IntDef({
|
- @IntDef({
|
||||||
- ItemGroupOffset.ASSIST_ITEMS,
|
- GroupItemOrder.ASSIST_ITEMS,
|
||||||
- ItemGroupOffset.DEFAULT_ITEMS,
|
- GroupItemOrder.DEFAULT_ITEMS,
|
||||||
- ItemGroupOffset.SECONDARY_ASSIST_ITEMS,
|
- GroupItemOrder.SECONDARY_ASSIST_ITEMS,
|
||||||
- ItemGroupOffset.TEXT_PROCESSING_ITEMS
|
- GroupItemOrder.TEXT_PROCESSING_ITEMS
|
||||||
- })
|
- })
|
||||||
- public @interface ItemGroupOffset {
|
- public @interface GroupItemOrder {
|
||||||
- int ASSIST_ITEMS = 0;
|
- int ASSIST_ITEMS = 1;
|
||||||
- int DEFAULT_ITEMS = 10;
|
- int DEFAULT_ITEMS = 2;
|
||||||
- int SECONDARY_ASSIST_ITEMS = 20;
|
- int SECONDARY_ASSIST_ITEMS = 3;
|
||||||
- int TEXT_PROCESSING_ITEMS = 30;
|
- int TEXT_PROCESSING_ITEMS = 4;
|
||||||
+ public static class ItemGroupOffset {
|
+ private static class GroupItemOrderChromium {
|
||||||
+ static int CHROMIUM_ASSIST_ITEMS = 1;
|
+ static int CHROMIUM_ASSIST_ITEMS = 1;
|
||||||
+ static int CHROMIUM_DEFAULT_ITEMS = 2;
|
+ static int CHROMIUM_DEFAULT_ITEMS = 2;
|
||||||
+ static int CHROMIUM_SECONDARY_ASSIST_ITEMS = 3;
|
+ static int CHROMIUM_SECONDARY_ASSIST_ITEMS = 3;
|
||||||
@@ -507,93 +288,189 @@ diff --git a/content/public/android/java/src/org/chromium/content_public/browser
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
private final @AttrRes int mIconAttr;
|
- @Retention(RetentionPolicy.SOURCE)
|
||||||
@@ -210,25 +231,23 @@ public final class SelectionMenuItem implements Comparable<SelectionMenuItem> {
|
- @IntDef({
|
||||||
* @param order the order, must be >= 0.
|
- DefaultItemOrder.CUT,
|
||||||
* @param category the section of the menu in which this item should appear.
|
- DefaultItemOrder.COPY,
|
||||||
*/
|
- DefaultItemOrder.PASTE,
|
||||||
- public Builder setOrderAndCategory(int order, @ItemGroupOffset int category) {
|
- DefaultItemOrder.PASTE_AS_PLAIN_TEXT,
|
||||||
+ public Builder setOrderAndCategory(int order, int category) {
|
- DefaultItemOrder.SHARE,
|
||||||
if (order < 0) {
|
- DefaultItemOrder.SELECT_ALL,
|
||||||
throw new IllegalArgumentException("Invalid order. Must be >= 0");
|
- DefaultItemOrder.WEB_SEARCH
|
||||||
}
|
- })
|
||||||
// Make sure items don't spill over into the next category.
|
- public @interface DefaultItemOrder {
|
||||||
- mOrder =
|
- int CUT = 1;
|
||||||
- switch (category) {
|
- int COPY = 2;
|
||||||
- case ItemGroupOffset.ASSIST_ITEMS ->
|
- int PASTE = 3;
|
||||||
- Math.min(order + category, ItemGroupOffset.DEFAULT_ITEMS - 1);
|
- int PASTE_AS_PLAIN_TEXT = 4;
|
||||||
- case ItemGroupOffset.DEFAULT_ITEMS ->
|
- int SHARE = 5;
|
||||||
- Math.min(
|
- int SELECT_ALL = 6;
|
||||||
- order + category,
|
- int WEB_SEARCH = 7;
|
||||||
- ItemGroupOffset.SECONDARY_ASSIST_ITEMS - 1);
|
+ private static class DefaultItemOrderChromium {
|
||||||
- case ItemGroupOffset.SECONDARY_ASSIST_ITEMS ->
|
+ static int CHROMIUM_CUT = 1;
|
||||||
- Math.min(
|
+ static int CHROMIUM_COPY = 2;
|
||||||
- order + category,
|
+ static int CHROMIUM_PASTE = 3;
|
||||||
- ItemGroupOffset.TEXT_PROCESSING_ITEMS - 1);
|
+ static int CHROMIUM_SHARE = 4;
|
||||||
- default -> order + category;
|
+ static int CHROMIUM_SELECT_ALL = 5;
|
||||||
- };
|
+ static int CHROMIUM_PASTE_AS_PLAIN_TEXT = 6;
|
||||||
+ if (category == ItemGroupOffset.ASSIST_ITEMS())
|
+ static int CHROMIUM_WEB_SEARCH = 7;
|
||||||
+ mOrder = Math.min(order + category, ItemGroupOffset.DEFAULT_ITEMS() - 1);
|
+
|
||||||
+ else if (category == ItemGroupOffset.DEFAULT_ITEMS())
|
+ static int CROMITE_WEB_SEARCH = 1;
|
||||||
+ mOrder = Math.min(
|
+ static int CROMITE_CUT = 2;
|
||||||
+ order + category,
|
+ static int CROMITE_COPY = 3;
|
||||||
+ ItemGroupOffset.SECONDARY_ASSIST_ITEMS() - 1);
|
+ static int CROMITE_PASTE = 4;
|
||||||
+ else if (category == ItemGroupOffset.SECONDARY_ASSIST_ITEMS())
|
+ static int CROMITE_SHARE = 5;
|
||||||
+ mOrder = Math.min(
|
+ static int CROMITE_SELECT_ALL = 6;
|
||||||
+ order + category,
|
+ static int CROMITE_PASTE_AS_PLAIN_TEXT = 7;
|
||||||
+ ItemGroupOffset.TEXT_PROCESSING_ITEMS() - 1);
|
+
|
||||||
+ else
|
+ private static int GetValue(int a, int b) {
|
||||||
+ mOrder = order + category;
|
+ return !ContextUtils.getAppSharedPreferences().getBoolean(
|
||||||
return this;
|
+ "selection_popup_web_search_to_top", false)
|
||||||
}
|
+ ? a : b;
|
||||||
|
+ }
|
||||||
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/selection/SelectionActionMenuDelegate.java b/content/public/android/java/src/org/chromium/content_public/browser/selection/SelectionActionMenuDelegate.java
|
+
|
||||||
--- a/content/public/android/java/src/org/chromium/content_public/browser/selection/SelectionActionMenuDelegate.java
|
+ public static int CUT() {
|
||||||
+++ b/content/public/android/java/src/org/chromium/content_public/browser/selection/SelectionActionMenuDelegate.java
|
+ return GetValue(CHROMIUM_CUT, CROMITE_CUT);
|
||||||
@@ -7,6 +7,7 @@ package org.chromium.content_public.browser.selection;
|
+ }
|
||||||
import android.content.pm.ResolveInfo;
|
+ public static int COPY() {
|
||||||
import android.view.View;
|
+ return GetValue(CHROMIUM_COPY, CROMITE_COPY);
|
||||||
|
+ }
|
||||||
+import org.chromium.base.ContextUtils;
|
+ public static int PASTE() {
|
||||||
import org.chromium.base.SelectionActionMenuClientWrapper.DefaultItem;
|
+ return GetValue(CHROMIUM_PASTE, CROMITE_PASTE);
|
||||||
import org.chromium.base.SelectionActionMenuClientWrapper.MenuType;
|
+ }
|
||||||
import org.chromium.build.annotations.NullMarked;
|
+ public static int SHARE() {
|
||||||
@@ -23,15 +24,28 @@ import java.util.List;
|
+ return GetValue(CHROMIUM_SHARE, CROMITE_SHARE);
|
||||||
@NullMarked
|
+ }
|
||||||
public interface SelectionActionMenuDelegate {
|
+ public static int SELECT_ALL() {
|
||||||
static @DefaultItem int[] getDefaultMenuItemOrder() {
|
+ return GetValue(CHROMIUM_SELECT_ALL, CROMITE_SELECT_ALL);
|
||||||
- return new @DefaultItem int[] {
|
+ }
|
||||||
- DefaultItem.CUT,
|
+ public static int PASTE_AS_PLAIN_TEXT() {
|
||||||
- DefaultItem.COPY,
|
+ return GetValue(CHROMIUM_PASTE_AS_PLAIN_TEXT, CROMITE_PASTE_AS_PLAIN_TEXT);
|
||||||
- DefaultItem.PASTE,
|
+ }
|
||||||
- DefaultItem.PASTE_AS_PLAIN_TEXT,
|
+ public static int WEB_SEARCH() {
|
||||||
- DefaultItem.SHARE,
|
+ return GetValue(CHROMIUM_WEB_SEARCH, CROMITE_WEB_SEARCH);
|
||||||
- DefaultItem.SELECT_ALL,
|
|
||||||
- DefaultItem.WEB_SEARCH
|
|
||||||
- };
|
|
||||||
+ if (!ContextUtils.getAppSharedPreferences().getBoolean(
|
|
||||||
+ "selection_popup_web_search_to_top", false)) {
|
|
||||||
+ return new @DefaultItem int[] {
|
|
||||||
+ DefaultItem.CUT,
|
|
||||||
+ DefaultItem.COPY,
|
|
||||||
+ DefaultItem.PASTE,
|
|
||||||
+ DefaultItem.PASTE_AS_PLAIN_TEXT,
|
|
||||||
+ DefaultItem.SHARE,
|
|
||||||
+ DefaultItem.SELECT_ALL,
|
|
||||||
+ DefaultItem.WEB_SEARCH
|
|
||||||
+ };
|
|
||||||
+ } else {
|
|
||||||
+ return new @DefaultItem int[] {
|
|
||||||
+ DefaultItem.WEB_SEARCH,
|
|
||||||
+ DefaultItem.CUT,
|
|
||||||
+ DefaultItem.COPY,
|
|
||||||
+ DefaultItem.PASTE,
|
|
||||||
+ DefaultItem.PASTE_AS_PLAIN_TEXT,
|
|
||||||
+ DefaultItem.SHARE,
|
|
||||||
+ DefaultItem.SELECT_ALL
|
|
||||||
+ };
|
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
|
@@ -196,7 +243,7 @@ public class SelectActionMenuHelper {
|
||||||
|
}
|
||||||
|
SelectionMenuGroup primaryAssistGroup =
|
||||||
|
new SelectionMenuGroup(
|
||||||
|
- R.id.select_action_menu_assist_items, GroupItemOrder.ASSIST_ITEMS);
|
||||||
|
+ R.id.select_action_menu_assist_items, GroupItemOrderChromium.ASSIST_ITEMS());
|
||||||
|
View.OnClickListener clickListener = null;
|
||||||
|
if (classificationResult.onClickListener != null) {
|
||||||
|
clickListener = classificationResult.onClickListener;
|
||||||
|
@@ -223,7 +270,7 @@ public class SelectActionMenuHelper {
|
||||||
|
String selectedText) {
|
||||||
|
SelectionMenuGroup defaultGroup =
|
||||||
|
new SelectionMenuGroup(
|
||||||
|
- R.id.select_action_menu_default_items, GroupItemOrder.DEFAULT_ITEMS);
|
||||||
|
+ R.id.select_action_menu_default_items, GroupItemOrderChromium.DEFAULT_ITEMS());
|
||||||
|
List<SelectionMenuItem.Builder> menuItemBuilders = new ArrayList<>();
|
||||||
|
menuItemBuilders.add(cut(delegate.canCut()));
|
||||||
|
menuItemBuilders.add(copy(delegate.canCopy()));
|
||||||
|
@@ -251,7 +298,7 @@ public class SelectActionMenuHelper {
|
||||||
|
// menu items if there is selected text.
|
||||||
|
@IdRes int groupId = selectedText.isEmpty() ? Menu.NONE : android.R.id.textAssist;
|
||||||
|
SelectionMenuGroup secondaryAssistItems =
|
||||||
|
- new SelectionMenuGroup(groupId, GroupItemOrder.SECONDARY_ASSIST_ITEMS);
|
||||||
|
+ new SelectionMenuGroup(groupId, GroupItemOrderChromium.SECONDARY_ASSIST_ITEMS());
|
||||||
|
|
||||||
|
if (selectedText.isEmpty() && selectionActionMenuDelegate != null) {
|
||||||
|
List<SelectionMenuItem> additionalMenuItems =
|
||||||
|
@@ -313,7 +360,7 @@ public class SelectActionMenuHelper {
|
||||||
|
SelectionMenuGroup textProcessingItems =
|
||||||
|
new SelectionMenuGroup(
|
||||||
|
R.id.select_action_menu_text_processing_items,
|
||||||
|
- GroupItemOrder.TEXT_PROCESSING_ITEMS);
|
||||||
|
+ GroupItemOrderChromium.TEXT_PROCESSING_ITEMS());
|
||||||
|
if (isSelectionPassword || intentHandler == null) {
|
||||||
|
addAdditionalTextProcessingItems(textProcessingItems, selectionActionMenuDelegate);
|
||||||
|
return textProcessingItems;
|
||||||
|
@@ -415,7 +462,7 @@ public class SelectActionMenuHelper {
|
||||||
|
.setId(R.id.select_action_menu_cut)
|
||||||
|
.setIconAttr(android.R.attr.actionModeCutDrawable)
|
||||||
|
.setAlphabeticShortcut(ItemKeyShortcuts.CUT)
|
||||||
|
- .setOrderInCategory(DefaultItemOrder.CUT)
|
||||||
|
+ .setOrderInCategory(DefaultItemOrderChromium.CUT())
|
||||||
|
.setShowAsActionFlags(
|
||||||
|
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
||||||
|
.setIsEnabled(isEnabled)
|
||||||
|
@@ -427,7 +474,7 @@ public class SelectActionMenuHelper {
|
||||||
|
.setId(R.id.select_action_menu_copy)
|
||||||
|
.setIconAttr(android.R.attr.actionModeCopyDrawable)
|
||||||
|
.setAlphabeticShortcut(ItemKeyShortcuts.COPY)
|
||||||
|
- .setOrderInCategory(DefaultItemOrder.COPY)
|
||||||
|
+ .setOrderInCategory(DefaultItemOrderChromium.COPY())
|
||||||
|
.setShowAsActionFlags(
|
||||||
|
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
||||||
|
.setIsEnabled(isEnabled)
|
||||||
|
@@ -439,7 +486,7 @@ public class SelectActionMenuHelper {
|
||||||
|
.setId(R.id.select_action_menu_paste)
|
||||||
|
.setIconAttr(android.R.attr.actionModePasteDrawable)
|
||||||
|
.setAlphabeticShortcut(ItemKeyShortcuts.PASTE)
|
||||||
|
- .setOrderInCategory(DefaultItemOrder.PASTE)
|
||||||
|
+ .setOrderInCategory(DefaultItemOrderChromium.PASTE())
|
||||||
|
.setShowAsActionFlags(
|
||||||
|
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
||||||
|
.setIsEnabled(isEnabled)
|
||||||
|
@@ -453,7 +500,7 @@ public class SelectActionMenuHelper {
|
||||||
|
return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_share))
|
||||||
|
.setId(R.id.select_action_menu_share)
|
||||||
|
.setIconAttr(android.R.attr.actionModeShareDrawable)
|
||||||
|
- .setOrderInCategory(DefaultItemOrder.SHARE)
|
||||||
|
+ .setOrderInCategory(DefaultItemOrderChromium.SHARE())
|
||||||
|
.setShowAsActionFlags(
|
||||||
|
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
||||||
|
.setIsEnabled(isEnabled)
|
||||||
|
@@ -465,7 +512,7 @@ public class SelectActionMenuHelper {
|
||||||
|
.setId(R.id.select_action_menu_select_all)
|
||||||
|
.setIconAttr(android.R.attr.actionModeSelectAllDrawable)
|
||||||
|
.setAlphabeticShortcut(ItemKeyShortcuts.SELECT_ALL)
|
||||||
|
- .setOrderInCategory(DefaultItemOrder.SELECT_ALL)
|
||||||
|
+ .setOrderInCategory(DefaultItemOrderChromium.SELECT_ALL())
|
||||||
|
.setShowAsActionFlags(
|
||||||
|
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
||||||
|
.setIsEnabled(isEnabled)
|
||||||
|
@@ -477,7 +524,7 @@ public class SelectActionMenuHelper {
|
||||||
|
SelectionMenuItem.Builder builder =
|
||||||
|
new SelectionMenuItem.Builder(android.R.string.paste_as_plain_text)
|
||||||
|
.setId(R.id.select_action_menu_paste_as_plain_text)
|
||||||
|
- .setOrderInCategory(DefaultItemOrder.PASTE_AS_PLAIN_TEXT)
|
||||||
|
+ .setOrderInCategory(DefaultItemOrderChromium.PASTE_AS_PLAIN_TEXT())
|
||||||
|
.setShowAsActionFlags(
|
||||||
|
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
||||||
|
.setIsEnabled(isEnabled);
|
||||||
|
@@ -497,7 +544,7 @@ public class SelectActionMenuHelper {
|
||||||
|
return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_web_search))
|
||||||
|
.setId(R.id.select_action_menu_web_search)
|
||||||
|
.setIconAttr(android.R.attr.actionModeWebSearchDrawable)
|
||||||
|
- .setOrderInCategory(DefaultItemOrder.WEB_SEARCH)
|
||||||
|
+ .setOrderInCategory(DefaultItemOrderChromium.WEB_SEARCH())
|
||||||
|
.setShowAsActionFlags(
|
||||||
|
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
||||||
|
.setIsEnabled(isEnabled)
|
||||||
|
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java b/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
|
||||||
|
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
|
||||||
|
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
|
||||||
|
@@ -18,6 +18,7 @@ import org.jni_zero.CalledByNative;
|
||||||
|
import org.jni_zero.JNINamespace;
|
||||||
|
import org.jni_zero.NativeMethods;
|
||||||
|
|
||||||
|
+import org.chromium.base.ContextUtils;
|
||||||
|
import org.chromium.base.ObserverList;
|
||||||
|
import org.chromium.base.UserData;
|
||||||
|
import org.chromium.build.annotations.Initializer;
|
||||||
|
@@ -85,6 +86,9 @@ public class SmartSelectionClient implements SelectionClient, UserData {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (!ContextUtils.getAppSharedPreferences().getBoolean(
|
||||||
|
+ "selection_popup_smart_text", false)) return null;
|
||||||
|
+
|
||||||
|
SmartSelectionClient client =
|
||||||
|
assumeNonNull(
|
||||||
|
((WebContentsImpl) webContents)
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -10,85 +10,47 @@ Original License: BSD-3-Clause - https://spdx.org/licenses/BSD-3-Clause.html
|
|||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/android/java/res/layout/url_bar.xml | 1 +
|
chrome/android/java/res/layout/url_bar.xml | 1 +
|
||||||
.../browser/omnibox/LocationBarMediator.java | 21 ++++++++++++---
|
.../browser/omnibox/LocationBarMediator.java | 13 ++++++++--
|
||||||
.../chrome/browser/omnibox/UrlBar.java | 26 +++++++++++++++++++
|
.../chrome/browser/omnibox/UrlBar.java | 24 +++++++++++++++++++
|
||||||
.../browser/omnibox/UrlBarViewBinder.java | 1 +
|
3 files changed, 36 insertions(+), 2 deletions(-)
|
||||||
4 files changed, 45 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/res/layout/url_bar.xml
|
diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/res/layout/url_bar.xml
|
||||||
--- a/chrome/android/java/res/layout/url_bar.xml
|
--- a/chrome/android/java/res/layout/url_bar.xml
|
||||||
+++ b/chrome/android/java/res/layout/url_bar.xml
|
+++ b/chrome/android/java/res/layout/url_bar.xml
|
||||||
@@ -16,6 +16,7 @@ found in the LICENSE file.
|
@@ -15,5 +15,6 @@ found in the LICENSE file.
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:imeOptions="actionGo|flagNoExtractUi|flagNoFullscreen"
|
android:imeOptions="actionGo|flagNoExtractUi|flagNoFullscreen"
|
||||||
android:textAppearance="@style/TextAppearance.SearchBoxText"
|
android:textAppearance="@style/TextAppearance.SearchBoxText"
|
||||||
+ android:inputType="textUri"
|
+ android:inputType="textUri"
|
||||||
android:hint="@string/omnibox_empty_hint"
|
android:hint="@string/omnibox_empty_hint"
|
||||||
android:textAlignment="viewStart"
|
android:importantForAutofill="no" />
|
||||||
android:importantForAutofill="no"
|
|
||||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||||
@@ -1007,7 +1007,7 @@ class LocationBarMediator
|
@@ -297,8 +297,17 @@ class LocationBarMediator
|
||||||
// Existing text (e.g. if the user pasted via the fakebox) from the fake box
|
if (!mUrlFocusedWithPastedText
|
||||||
// should be restored after toggling the focus.
|
&& !shouldRetainOmniboxOnFocus
|
||||||
if (mCurrentInput != null && !mCurrentInput.getUserText().isEmpty()) {
|
&& mLocationBarLayout.shouldClearTextOnFocus()) {
|
||||||
- beginOrResumeInput(/* activateNewSession= */ false);
|
- setUrlBarText(
|
||||||
+ beginOrResumeInput(/* activateNewSession= */ false, /* wasFocus */ false);
|
- UrlBarData.EMPTY, UrlBar.ScrollType.NO_SCROLL, SelectionState.SELECT_END);
|
||||||
}
|
+ UrlBarData data = mLocationBarDataProvider.getUrlBarData();
|
||||||
}
|
+ @SelectionState int selectionState = SelectionState.SELECT_ALL;
|
||||||
|
+ GURL url = mLocationBarDataProvider.getUrlBarData().url;
|
||||||
@@ -1052,7 +1052,7 @@ class LocationBarMediator
|
+ if (url != null && mTemplateUrlServiceSupplier.hasValue()) {
|
||||||
*/
|
+ String searchParams =
|
||||||
@EnsuresNonNullIf("mCurrentInput")
|
+ mTemplateUrlServiceSupplier.get().getSearchQueryForUrl(url);
|
||||||
@VisibleForTesting
|
+ if (searchParams != null && !searchParams.isEmpty()) {
|
||||||
- void beginOrResumeInput(boolean activateNewSession) {
|
+ data = UrlBarData.forUrlAndText(data.url, data.displayText, searchParams);
|
||||||
+ void beginOrResumeInput(boolean activateNewSession, boolean wasFocus) {
|
+ }
|
||||||
// Do not instantiate a new ephemeral session unless we're activating it as well.
|
|
||||||
var session = FuseboxSessionState.from(mLocationBarDataProvider);
|
|
||||||
|
|
||||||
@@ -1087,6 +1087,19 @@ class LocationBarMediator
|
|
||||||
mStatusCoordinator.setSiteSearchDataSupplier(mCurrentInput.getSiteSearchDataSupplier());
|
|
||||||
|
|
||||||
UrlBarData data = UrlBarData.forNonUrlText(mCurrentInput.getUserText());
|
|
||||||
+ if (wasFocus) {
|
|
||||||
+ data = mLocationBarDataProvider.getUrlBarData();
|
|
||||||
+ GURL url = mLocationBarDataProvider.getUrlBarData().url;
|
|
||||||
+ if (url != null && mTemplateUrlServiceSupplier.get() != null) {
|
|
||||||
+ String searchParams =
|
|
||||||
+ mTemplateUrlServiceSupplier.get().getSearchQueryForUrl(url);
|
|
||||||
+ if (searchParams != null && !searchParams.isEmpty()) {
|
|
||||||
+ mCurrentInput.setUserText(searchParams);
|
|
||||||
+ data = UrlBarData.forUrlAndText(data.url, data.displayText, searchParams);
|
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ setUrlBarText(data, UrlBar.ScrollType.NO_SCROLL, selectionState);
|
||||||
+ mCurrentInput.setSelection(0, Integer.MAX_VALUE);
|
} else if (shouldRetainOmniboxOnFocus) {
|
||||||
+ }
|
mUrlCoordinator.setSelectAllOnFocus(true);
|
||||||
mUrlCoordinator.setUrlBarData(
|
}
|
||||||
data, UrlBar.ScrollType.NO_SCROLL, mCurrentInput.getSelection());
|
|
||||||
|
|
||||||
@@ -1162,7 +1175,7 @@ class LocationBarMediator
|
|
||||||
// This call is permitted to happen before anyone else is activated, and
|
|
||||||
// must be called before everyone else cleans up.
|
|
||||||
if (hasFocus) {
|
|
||||||
- beginOrResumeInput(/* activateNewSession= */ true);
|
|
||||||
+ beginOrResumeInput(/* activateNewSession= */ true, /* wasFocus */ true);
|
|
||||||
} else {
|
|
||||||
endInputInternal();
|
|
||||||
}
|
|
||||||
@@ -2065,7 +2078,7 @@ class LocationBarMediator
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wait for the Url focus change before refreshing autocomplete.
|
|
||||||
- beginOrResumeInput(/* activateNewSession= */ true);
|
|
||||||
+ beginOrResumeInput(/* activateNewSession= */ true, /* wasFocus */ false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
|
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
|
||||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
|
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
|
||||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
|
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
|
||||||
@@ -11,6 +11,7 @@ import android.graphics.Canvas;
|
@@ -9,6 +9,7 @@ import android.graphics.Canvas;
|
||||||
import android.graphics.Paint;
|
import android.graphics.Paint;
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
@@ -96,26 +58,18 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.InputType;
|
import android.text.InputType;
|
||||||
@@ -57,6 +58,7 @@ import org.chromium.components.browser_ui.util.FirstDrawDetector;
|
@@ -110,6 +111,7 @@ public class UrlBar extends AutocompleteEditText {
|
||||||
import org.chromium.components.omnibox.OmniboxFeatures;
|
|
||||||
import org.chromium.ui.KeyboardVisibilityDelegate;
|
|
||||||
import org.chromium.ui.base.KeyNavigationUtil;
|
|
||||||
+import org.chromium.ui.base.DeviceFormFactor;
|
|
||||||
import org.chromium.ui.display.DisplayAndroid;
|
|
||||||
import org.chromium.ui.display.DisplayUtil;
|
|
||||||
|
|
||||||
@@ -112,6 +114,7 @@ public class UrlBar extends AutocompleteEditText {
|
|
||||||
private boolean mFocusEventEmitted;
|
|
||||||
private boolean mAllowFocus = true;
|
private boolean mAllowFocus = true;
|
||||||
private boolean mAllowMultilineInput;
|
private boolean mShouldSendTypingStartedEvent;
|
||||||
+ private boolean mPendingSelectAll;
|
|
||||||
private boolean mCurrentInputCanBeWrapped;
|
|
||||||
|
|
||||||
|
+ private boolean mPendingSelectAll;
|
||||||
private boolean mPendingScroll;
|
private boolean mPendingScroll;
|
||||||
@@ -335,6 +338,29 @@ public class UrlBar extends AutocompleteEditText {
|
private boolean mIsInCct;
|
||||||
mPendingScroll = false;
|
|
||||||
}
|
@@ -336,6 +338,28 @@ public class UrlBar extends AutocompleteEditText {
|
||||||
fixupTextDirection();
|
fixupTextDirection();
|
||||||
|
|
||||||
|
mShouldSendTypingStartedEvent = focused;
|
||||||
+
|
+
|
||||||
+ if (mPendingSelectAll) {
|
+ if (mPendingSelectAll) {
|
||||||
+ UrlBar sender = this;
|
+ UrlBar sender = this;
|
||||||
@@ -131,8 +85,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void selectAll() {
|
+ public void selectAll() {
|
||||||
+ if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(getContext()))
|
+ mPendingSelectAll = true;
|
||||||
+ mPendingSelectAll = true;
|
|
||||||
+ super.selectAll();
|
+ super.selectAll();
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -142,15 +95,4 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java
|
|
||||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java
|
|
||||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java
|
|
||||||
@@ -100,6 +100,7 @@ class UrlBarViewBinder {
|
|
||||||
selectionRange = Range.create(textLength, textLength);
|
|
||||||
}
|
|
||||||
view.setSelection(selectionRange.getLower(), selectionRange.getUpper());
|
|
||||||
+ view.selectAll();
|
|
||||||
view.requestAccessibilityFocus();
|
|
||||||
}
|
|
||||||
} else if (UrlBarProperties.TEXT_COLOR.equals(propertyKey)) {
|
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -27,22 +27,22 @@ new file mode 100644
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
@@ -11,6 +11,11 @@ found in the LICENSE file.
|
@@ -8,6 +8,11 @@ found in the LICENSE file.
|
||||||
android:key="zoom_info"
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:title="@string/zoom_info_preference_title"/>
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||||
+ android:key="enable_accessibility"
|
+ android:key="enable_accessibility"
|
||||||
+ android:summary="@string/enable_accessibility_summary"
|
+ android:summary="@string/enable_accessibility_summary"
|
||||||
+ android:title="@string/enable_accessibility_title" />
|
+ android:title="@string/enable_accessibility_title" />
|
||||||
+
|
+
|
||||||
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
<org.chromium.components.browser_ui.accessibility.PageZoomPreference
|
||||||
android:key="page_zoom_include_os_adjustment"
|
android:key="page_zoom_default_zoom"
|
||||||
android:summary="@string/page_zoom_include_os_adjustment_summary"
|
android:selectable="false" />
|
||||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
||||||
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
||||||
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
||||||
@@ -1380,6 +1380,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
|
@@ -1095,6 +1095,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
|
||||||
structure.setChildCount(0);
|
structure.setChildCount(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ Subject: Disable Android AppRestrictions
|
|||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
.../org/chromium/chrome/browser/AppHooks.java | 4 +-
|
|
||||||
chrome/browser/enterprise/util/BUILD.gn | 1 +
|
chrome/browser/enterprise/util/BUILD.gn | 1 +
|
||||||
.../enterprise/util/EnterpriseInfoImpl.java | 5 +++
|
.../enterprise/util/EnterpriseInfoImpl.java | 5 +++
|
||||||
chrome/browser/flags/BUILD.gn | 1 +
|
chrome/browser/flags/BUILD.gn | 1 +
|
||||||
@@ -13,49 +12,35 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
.../DisableAndroidAppRestriction.inc | 13 +++++++
|
.../DisableAndroidAppRestriction.inc | 13 +++++++
|
||||||
.../disable-android-app-restriction.inc | 3 ++
|
.../disable-android-app-restriction.inc | 3 ++
|
||||||
.../disable-android-app-restriction.inc | 1 +
|
.../disable-android-app-restriction.inc | 1 +
|
||||||
9 files changed, 77 insertions(+), 2 deletions(-)
|
8 files changed, 75 insertions(+)
|
||||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableAndroidAppRestriction.java
|
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableAndroidAppRestriction.java
|
||||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/DisableAndroidAppRestriction.inc
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/DisableAndroidAppRestriction.inc
|
||||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-android-app-restriction.inc
|
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-android-app-restriction.inc
|
||||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/disable-android-app-restriction.inc
|
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/disable-android-app-restriction.inc
|
||||||
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
|
|
||||||
@@ -43,8 +43,8 @@ public class AppHooks {
|
|
||||||
}
|
|
||||||
|
|
||||||
public void registerPolicyProviders(CombinedPolicyProvider combinedProvider) {
|
|
||||||
- combinedProvider.registerProvider(
|
|
||||||
- new AppRestrictionsProvider(ContextUtils.getApplicationContext()));
|
|
||||||
+ // combinedProvider.registerProvider(
|
|
||||||
+ // new AppRestrictionsProvider(ContextUtils.getApplicationContext()));
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Async fetch the iterator of partner bookmarks (or null if not available). */
|
|
||||||
diff --git a/chrome/browser/enterprise/util/BUILD.gn b/chrome/browser/enterprise/util/BUILD.gn
|
diff --git a/chrome/browser/enterprise/util/BUILD.gn b/chrome/browser/enterprise/util/BUILD.gn
|
||||||
--- a/chrome/browser/enterprise/util/BUILD.gn
|
--- a/chrome/browser/enterprise/util/BUILD.gn
|
||||||
+++ b/chrome/browser/enterprise/util/BUILD.gn
|
+++ b/chrome/browser/enterprise/util/BUILD.gn
|
||||||
@@ -21,6 +21,7 @@ android_library("java") {
|
@@ -20,6 +20,7 @@ android_library("java") {
|
||||||
"//build/android:build_java",
|
"//build/android:build_java",
|
||||||
"//chrome/browser/flags:java",
|
"//chrome/browser/flags:java",
|
||||||
"//chrome/browser/profiles/android:java",
|
"//chrome/browser/profiles/android:java",
|
||||||
+ "//components/policy/android:policy_java",
|
+ "//components/policy/android:policy_java",
|
||||||
"//content/public/android:content_java",
|
|
||||||
"//third_party/androidx:androidx_annotation_annotation_java",
|
"//third_party/androidx:androidx_annotation_annotation_java",
|
||||||
"//third_party/jni_zero:jni_zero_java",
|
"//third_party/jni_zero:jni_zero_java",
|
||||||
|
]
|
||||||
diff --git a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java
|
diff --git a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java
|
||||||
--- a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java
|
--- a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java
|
||||||
+++ b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java
|
+++ b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java
|
||||||
@@ -31,6 +31,7 @@ import org.chromium.build.annotations.NullMarked;
|
@@ -23,6 +23,7 @@ import org.chromium.base.metrics.RecordHistogram;
|
||||||
import org.chromium.build.annotations.Nullable;
|
import org.chromium.base.task.AsyncTask;
|
||||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
import org.chromium.base.task.TaskTraits;
|
||||||
import org.chromium.chrome.browser.flags.ChromeSwitches;
|
import org.chromium.chrome.browser.flags.ChromeSwitches;
|
||||||
+import org.chromium.components.policy.AppRestrictionsProvider;
|
+import org.chromium.components.policy.AppRestrictionsProvider;
|
||||||
|
|
||||||
import java.util.ArrayDeque;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.Queue;
|
||||||
@@ -113,6 +114,10 @@ public class EnterpriseInfoImpl extends EnterpriseInfo {
|
@@ -104,6 +105,10 @@ public class EnterpriseInfoImpl extends EnterpriseInfo {
|
||||||
new AsyncTask<OwnedState>() {
|
new AsyncTask<OwnedState>() {
|
||||||
// TODO: Unit test this function. https://crbug.com/1099262
|
// TODO: Unit test this function. https://crbug.com/1099262
|
||||||
private OwnedState calculateIsRunningOnManagedProfile(Context context) {
|
private OwnedState calculateIsRunningOnManagedProfile(Context context) {
|
||||||
@@ -63,16 +48,16 @@ diff --git a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome
|
|||||||
+ return new OwnedState(/*hasDeviceOwnerApp*/false,
|
+ return new OwnedState(/*hasDeviceOwnerApp*/false,
|
||||||
+ /*hasProfileOwnerApp*/false);
|
+ /*hasProfileOwnerApp*/false);
|
||||||
+ }
|
+ }
|
||||||
long startTime = SystemClock.elapsedRealtime();
|
|
||||||
boolean hasProfileOwnerApp = false;
|
boolean hasProfileOwnerApp = false;
|
||||||
boolean hasDeviceOwnerApp = false;
|
boolean hasDeviceOwnerApp = false;
|
||||||
|
PackageManager packageManager = context.getPackageManager();
|
||||||
diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||||
--- a/chrome/browser/flags/BUILD.gn
|
--- a/chrome/browser/flags/BUILD.gn
|
||||||
+++ b/chrome/browser/flags/BUILD.gn
|
+++ b/chrome/browser/flags/BUILD.gn
|
||||||
@@ -28,6 +28,7 @@ android_library("java") {
|
@@ -26,6 +26,7 @@ android_library("java") {
|
||||||
|
"//build:chromeos_buildflags",
|
||||||
"//build/android:build_java",
|
"//build/android:build_java",
|
||||||
"//chrome/browser/preferences:java",
|
"//chrome/browser/preferences:java",
|
||||||
"//content/public/android:content_main_dex_java",
|
|
||||||
+ "//components/policy/android:policy_java",
|
+ "//components/policy/android:policy_java",
|
||||||
"//third_party/android_deps:guava_android_java",
|
"//third_party/android_deps:guava_android_java",
|
||||||
"//third_party/androidx:androidx_annotation_annotation_java",
|
"//third_party/androidx:androidx_annotation_annotation_java",
|
||||||
|
|||||||
@@ -1,50 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Tue, 1 Apr 2025 11:37:52 +0000
|
|
||||||
Subject: Disable Android Tab Declutter
|
|
||||||
|
|
||||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|
||||||
---
|
|
||||||
chrome/android/java/res/xml/main_preferences.xml | 3 ++-
|
|
||||||
.../org/chromium/chrome/browser/tab/TabArchiveSettings.java | 3 ++-
|
|
||||||
.../chrome_feature_list_cc/Disable-Android-Tab-Declutter.inc | 1 +
|
|
||||||
3 files changed, 5 insertions(+), 2 deletions(-)
|
|
||||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Tab-Declutter.inc
|
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
|
||||||
--- a/chrome/android/java/res/xml/main_preferences.xml
|
|
||||||
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
|
||||||
@@ -104,7 +104,8 @@ found in the LICENSE file.
|
|
||||||
android:fragment="org.chromium.chrome.browser.tasks.tab_management.TabsSettings"
|
|
||||||
android:key="tabs"
|
|
||||||
android:order="19"
|
|
||||||
- android:title="@string/tabs_settings_title"/>
|
|
||||||
+ android:title="@string/tabs_settings_title"
|
|
||||||
+ app:isPreferenceVisible="false"/>
|
|
||||||
<Preference
|
|
||||||
android:fragment="org.chromium.chrome.browser.glic.GlicSettings"
|
|
||||||
android:key="glic"
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabArchiveSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabArchiveSettings.java
|
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabArchiveSettings.java
|
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabArchiveSettings.java
|
|
||||||
@@ -105,11 +105,12 @@ public class TabArchiveSettings {
|
|
||||||
// are created, and tabs disappearing from tests is very unexpected. For archive tests,
|
|
||||||
// this will need to be turned on manually.
|
|
||||||
return mPrefsManager.readBoolean(
|
|
||||||
- ChromePreferenceKeys.TAB_DECLUTTER_ARCHIVE_ENABLED, !BuildConfig.IS_FOR_TEST);
|
|
||||||
+ ChromePreferenceKeys.TAB_DECLUTTER_ARCHIVE_ENABLED, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Sets whether archive is enabled in settings. */
|
|
||||||
public void setArchiveEnabled(boolean enabled) {
|
|
||||||
+ enabled = false;
|
|
||||||
mPrefsManager.writeBoolean(ChromePreferenceKeys.TAB_DECLUTTER_ARCHIVE_ENABLED, enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Tab-Declutter.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Tab-Declutter.inc
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Tab-Declutter.inc
|
|
||||||
@@ -0,0 +1 @@
|
|
||||||
+// empty
|
|
||||||
--
|
|
||||||
@@ -1,89 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Mon, 18 May 2026 15:44:56 +0000
|
|
||||||
Subject: Disable AppRating
|
|
||||||
|
|
||||||
Chromium Android includes an AppRating promo path that can trigger user-facing
|
|
||||||
review prompts through the Android app-rating integration. The implementation
|
|
||||||
depends on Google Play Review APIs provided by Google Play Services. Those
|
|
||||||
dependencies are already excluded by default in this fork through a separate
|
|
||||||
patch, making the AppRating feature non-functional and unnecessary.
|
|
||||||
|
|
||||||
Change:
|
|
||||||
Remove AppRatingPromoController from the optional promo selection flow and
|
|
||||||
exclude the app_rating Java and junit targets from the Android build graph.
|
|
||||||
|
|
||||||
Privacy/Security Impact:
|
|
||||||
Removes an unused user-engagement surface and avoids invoking review-related
|
|
||||||
logic tied to Google Play Services. No browser engine, network, Blink, V8,
|
|
||||||
storage, or process-isolation behavior is changed.
|
|
||||||
|
|
||||||
Notes:
|
|
||||||
AppRating depends on Google Play Review APIs from Google Play Services.
|
|
||||||
Since Google Play Services support is already excluded by default through a
|
|
||||||
separate patch, this change removes the now-unused integration and prevents
|
|
||||||
accidental reintroduction of the feature.
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|
||||||
---
|
|
||||||
chrome/android/BUILD.gn | 4 ++--
|
|
||||||
.../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 6 ------
|
|
||||||
chrome/browser/ui/android/app_rating/BUILD.gn | 2 ++
|
|
||||||
3 files changed, 4 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|
||||||
--- a/chrome/android/BUILD.gn
|
|
||||||
+++ b/chrome/android/BUILD.gn
|
|
||||||
@@ -506,7 +506,7 @@ if (_is_default_toolchain) {
|
|
||||||
"//chrome/browser/touch_to_fill/common/android:java",
|
|
||||||
"//chrome/browser/translate/android:java",
|
|
||||||
"//chrome/browser/ui/android/actions:java",
|
|
||||||
- "//chrome/browser/ui/android/app_rating:java",
|
|
||||||
+ #"//chrome/browser/ui/android/app_rating:java",
|
|
||||||
"//chrome/browser/ui/android/appmenu:factory_java",
|
|
||||||
"//chrome/browser/ui/android/appmenu:java",
|
|
||||||
"//chrome/browser/ui/android/bottombar:java",
|
|
||||||
@@ -1189,7 +1189,7 @@ if (_is_default_toolchain) {
|
|
||||||
"//chrome/browser/touch_to_fill/password_manager/password_generation/android/internal:junit",
|
|
||||||
"//chrome/browser/translate/android:junit",
|
|
||||||
"//chrome/browser/ui/android/actions:junit",
|
|
||||||
- "//chrome/browser/ui/android/app_rating:junit",
|
|
||||||
+ #"//chrome/browser/ui/android/app_rating:junit",
|
|
||||||
"//chrome/browser/ui/android/appmenu/internal:junit",
|
|
||||||
"//chrome/browser/ui/android/autofill/internal:junit",
|
|
||||||
"//chrome/browser/ui/android/bottombar:junit",
|
|
||||||
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
|
|
||||||
@@ -201,7 +201,6 @@ import org.chromium.chrome.browser.toolbar.ToolbarFeatures;
|
|
||||||
import org.chromium.chrome.browser.toolbar.ToolbarIntentMetadata;
|
|
||||||
import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarBehavior;
|
|
||||||
import org.chromium.chrome.browser.ui.RootUiCoordinator;
|
|
||||||
-import org.chromium.chrome.browser.ui.app_rating.AppRatingPromoController;
|
|
||||||
import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker;
|
|
||||||
import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate;
|
|
||||||
import org.chromium.chrome.browser.ui.bottombar.BottomBarHostManager;
|
|
||||||
@@ -2237,11 +2236,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (AppRatingPromoController.maybeShowPromo(profile, mActivity)) {
|
|
||||||
- UserEducationUtils.recordOptionalPromoType(OptionalPromoType.APP_RATING_PROMPT);
|
|
||||||
- return true;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
UserEducationUtils.recordOptionalPromoType(OptionalPromoType.NONE_SHOWN);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
diff --git a/chrome/browser/ui/android/app_rating/BUILD.gn b/chrome/browser/ui/android/app_rating/BUILD.gn
|
|
||||||
--- a/chrome/browser/ui/android/app_rating/BUILD.gn
|
|
||||||
+++ b/chrome/browser/ui/android/app_rating/BUILD.gn
|
|
||||||
@@ -5,6 +5,8 @@
|
|
||||||
import("//build/config/android/config.gni")
|
|
||||||
import("//build/config/android/rules.gni")
|
|
||||||
|
|
||||||
+assert(false)
|
|
||||||
+
|
|
||||||
if (enable_chrome_android_internal) {
|
|
||||||
android_aar_prebuilt("play_review_aar_internal_java") {
|
|
||||||
aar_path = "//third_party/android_deps/autorolled/cipd/libs/com_google_android_play_review/review.aar"
|
|
||||||
--
|
|
||||||
@@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/third_party/blink/renderer/core/css/parser/css_supports_parser.cc b/third_party/blink/renderer/core/css/parser/css_supports_parser.cc
|
diff --git a/third_party/blink/renderer/core/css/parser/css_supports_parser.cc b/third_party/blink/renderer/core/css/parser/css_supports_parser.cc
|
||||||
--- a/third_party/blink/renderer/core/css/parser/css_supports_parser.cc
|
--- a/third_party/blink/renderer/core/css/parser/css_supports_parser.cc
|
||||||
+++ b/third_party/blink/renderer/core/css/parser/css_supports_parser.cc
|
+++ b/third_party/blink/renderer/core/css/parser/css_supports_parser.cc
|
||||||
@@ -302,7 +302,7 @@ bool CSSSupportsParser::ConsumeBlinkFeatureFn(CSSParserTokenStream& stream) {
|
@@ -393,7 +393,7 @@ bool CSSSupportsParser::ConsumeBlinkFeatureFn(CSSParserTokenStream& stream) {
|
||||||
feature_name.Value().Utf8()) &&
|
feature_name.Value().Utf8()) &&
|
||||||
guard.Release()) {
|
guard.Release()) {
|
||||||
stream.ConsumeWhitespace();
|
stream.ConsumeWhitespace();
|
||||||
@@ -28,7 +28,7 @@ diff --git a/third_party/blink/renderer/core/css/parser/css_supports_parser.cc b
|
|||||||
diff --git a/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc b/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc
|
diff --git a/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc b/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc
|
||||||
--- a/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc
|
--- a/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc
|
||||||
+++ b/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc
|
+++ b/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc
|
||||||
@@ -521,7 +521,7 @@ DocumentRulePredicate* DocumentRulePredicate::Parse(
|
@@ -585,7 +585,7 @@ DocumentRulePredicate* DocumentRulePredicate::Parse(
|
||||||
HeapVector<CSSSelector> arena;
|
HeapVector<CSSSelector> arena;
|
||||||
CSSPropertyValueSet* empty_properties =
|
CSSPropertyValueSet* empty_properties =
|
||||||
ImmutableCSSPropertyValueSet::Create(base::span<CSSPropertyValue>(),
|
ImmutableCSSPropertyValueSet::Create(base::span<CSSPropertyValue>(),
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Fri, 2 May 2025 14:20:38 +0000
|
|
||||||
Subject: Disable CSSDynamicRangeLimit
|
|
||||||
|
|
||||||
Disables the ability for pages to limit the maximum brightness of HDR content
|
|
||||||
since use as screen fingerprinting is possible.
|
|
||||||
|
|
||||||
see https://www.github.com/w3ctag/design-reviews/issues/1027
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|
||||||
---
|
|
||||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -1578,7 +1578,7 @@
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "CSSDynamicRangeLimit",
|
|
||||||
- status: "stable",
|
|
||||||
+ status: "experimental",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// Include custom properties in CSSComputedStyleDeclaration::item/length.
|
|
||||||
--
|
|
||||||
@@ -4,56 +4,50 @@ Subject: Disable Compose feature
|
|||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
chrome/browser/renderer_context_menu/BUILD.gn | 6 +++---
|
chrome/browser/BUILD.gn | 9 +++++++--
|
||||||
chrome/browser/ui/webui/settings/settings_ui.cc | 4 ++--
|
chrome/browser/ui/webui/settings/settings_ui.cc | 2 +-
|
||||||
components/compose/core/browser/compose_features.cc | 2 ++
|
components/compose/core/browser/compose_features.cc | 2 ++
|
||||||
components/compose/features.gni | 2 +-
|
components/compose/features.gni | 2 +-
|
||||||
4 files changed, 8 insertions(+), 6 deletions(-)
|
4 files changed, 11 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/chrome/browser/renderer_context_menu/BUILD.gn b/chrome/browser/renderer_context_menu/BUILD.gn
|
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||||
--- a/chrome/browser/renderer_context_menu/BUILD.gn
|
--- a/chrome/browser/BUILD.gn
|
||||||
+++ b/chrome/browser/renderer_context_menu/BUILD.gn
|
+++ b/chrome/browser/BUILD.gn
|
||||||
@@ -89,7 +89,7 @@ source_set("impl") {
|
@@ -8151,6 +8151,12 @@ static_library("browser") {
|
||||||
"//chrome/browser/apps/app_service",
|
deps += [ "//components/segmentation_platform/internal:optimization_guide_segmentation_handler" ]
|
||||||
"//chrome/browser/apps/platform_apps",
|
|
||||||
"//chrome/browser/autocomplete",
|
|
||||||
- "//chrome/browser/compose",
|
|
||||||
+ #"//chrome/browser/compose",
|
|
||||||
"//chrome/browser/custom_handlers",
|
|
||||||
"//chrome/browser/devtools",
|
|
||||||
"//chrome/browser/glic",
|
|
||||||
@@ -232,7 +232,7 @@ static_library("test_support") {
|
|
||||||
"render_view_context_menu_test_util.cc",
|
|
||||||
]
|
|
||||||
public_deps += [ "//extensions/buildflags" ]
|
|
||||||
- deps += [ "//chrome/browser/compose" ]
|
|
||||||
+ #deps += [ "//chrome/browser/compose" ]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_chromeos) {
|
+ if (!is_android) {
|
||||||
@@ -325,7 +325,7 @@ if (!is_android) {
|
+ deps += [
|
||||||
":test_support",
|
+ ":compose_optimization_guide_proto",
|
||||||
"//base/test:test_support",
|
+ ]
|
||||||
"//chrome/browser",
|
+ }
|
||||||
- "//chrome/browser/compose:test_support",
|
+
|
||||||
+ #"//chrome/browser/compose:test_support",
|
if (enable_compose) {
|
||||||
"//chrome/browser/devtools",
|
sources += [
|
||||||
"//chrome/browser/pdf:pdf_extension_test_utils",
|
"compose/chrome_compose_client.cc",
|
||||||
"//chrome/browser/search_engines",
|
@@ -8166,7 +8172,6 @@ static_library("browser") {
|
||||||
|
]
|
||||||
|
|
||||||
|
deps += [
|
||||||
|
- ":compose_optimization_guide_proto",
|
||||||
|
"//chrome/common/compose",
|
||||||
|
"//chrome/common/compose:mojo_bindings",
|
||||||
|
"//components/autofill/content/browser:browser",
|
||||||
|
@@ -8609,7 +8614,7 @@ source_set("font_pref") {
|
||||||
|
deps = [ "//chrome/common" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
-if (enable_compose) {
|
||||||
|
+if (!is_android) {
|
||||||
|
proto_library("compose_optimization_guide_proto") {
|
||||||
|
sources = [ "compose/proto/compose_optimization_guide.proto" ]
|
||||||
|
cc_generator_options = "lite=true:"
|
||||||
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
|
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||||
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
|
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||||
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
|
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||||
@@ -21,7 +21,7 @@
|
@@ -382,7 +382,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
|
||||||
#include "chrome/browser/browser_features.h"
|
base::FeatureList::IsEnabled(features::kLinkedServicesSetting));
|
||||||
#include "chrome/browser/browser_process.h"
|
|
||||||
#include "chrome/browser/commerce/shopping_service_factory.h"
|
|
||||||
-#include "chrome/browser/compose/compose_enabling.h"
|
|
||||||
+// #include "chrome/browser/compose/compose_enabling.h"
|
|
||||||
#include "chrome/browser/glic/public/glic_enabling.h"
|
|
||||||
#include "chrome/browser/glic/public/glic_keyed_service.h"
|
|
||||||
#include "chrome/browser/history_embeddings/history_embeddings_utils.h"
|
|
||||||
@@ -367,7 +367,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
|
|
||||||
base::FeatureList::IsEnabled(permissions::features::kKeyboardLockPrompt));
|
|
||||||
|
|
||||||
#if BUILDFLAG(ENABLE_COMPOSE)
|
#if BUILDFLAG(ENABLE_COMPOSE)
|
||||||
- const bool compose_enabled = ComposeEnabling::IsEnabledForProfile(profile);
|
- const bool compose_enabled = ComposeEnabling::IsEnabledForProfile(profile);
|
||||||
@@ -64,9 +58,9 @@ diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui
|
|||||||
diff --git a/components/compose/core/browser/compose_features.cc b/components/compose/core/browser/compose_features.cc
|
diff --git a/components/compose/core/browser/compose_features.cc b/components/compose/core/browser/compose_features.cc
|
||||||
--- a/components/compose/core/browser/compose_features.cc
|
--- a/components/compose/core/browser/compose_features.cc
|
||||||
+++ b/components/compose/core/browser/compose_features.cc
|
+++ b/components/compose/core/browser/compose_features.cc
|
||||||
@@ -73,4 +73,6 @@ BASE_FEATURE(kComposeAllowOnDeviceExecution, base::FEATURE_DISABLED_BY_DEFAULT);
|
@@ -104,4 +104,6 @@ BASE_FEATURE(kComposeUpfrontInputModes,
|
||||||
|
"ComposeUpfrontInputModes",
|
||||||
BASE_FEATURE(kComposeUpfrontInputModes, base::FEATURE_ENABLED_BY_DEFAULT);
|
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
|
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kEnableCompose);
|
+SET_CROMITE_FEATURE_DISABLED(kEnableCompose);
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kComposeEligible);
|
+SET_CROMITE_FEATURE_DISABLED(kComposeEligible);
|
||||||
|
|||||||
@@ -4,28 +4,27 @@ Subject: Disable Compression Dictionary Transport
|
|||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
chrome/browser/chrome_content_browser_client.cc | 3 +--
|
.../blink/renderer/platform/runtime_enabled_features.json5 | 6 ++++--
|
||||||
.../features_cc/Disable-Compression-Dictionary-Transport.inc | 1 +
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-Compression-Dictionary-Transport.inc
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
@@ -1569,8 +1569,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
|
@@ -878,12 +878,14 @@
|
||||||
registry->RegisterBooleanPref(prefs::kSandboxExternalProtocolBlocked, true);
|
}
|
||||||
registry->RegisterBooleanPref(prefs::kSSLErrorOverrideAllowed, true);
|
},
|
||||||
registry->RegisterListPref(prefs::kSSLErrorOverrideAllowedForOrigins);
|
{
|
||||||
- registry->RegisterBooleanPref(prefs::kCompressionDictionaryTransportEnabled,
|
- name: "CompressionDictionaryTransport",
|
||||||
- true);
|
+ name: "CompressionDictionaryTransport", // need to be disabled
|
||||||
+ registry->RegisterBooleanPref(prefs::kCompressionDictionaryTransportEnabled, false);
|
+ status: "experimental",
|
||||||
registry->RegisterBooleanPref(
|
base_feature: "none",
|
||||||
prefs::kSuppressDifferentOriginSubframeJSDialogs, true);
|
public: true,
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
},
|
||||||
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Disable-Compression-Dictionary-Transport.inc b/cromite_flags/services/network/public/cpp/features_cc/Disable-Compression-Dictionary-Transport.inc
|
{
|
||||||
new file mode 100644
|
- name: "CompressionDictionaryTransportBackend",
|
||||||
--- /dev/null
|
+ name: "CompressionDictionaryTransportBackend", // need to be disabled
|
||||||
+++ b/cromite_flags/services/network/public/cpp/features_cc/Disable-Compression-Dictionary-Transport.inc
|
+ status: "experimental",
|
||||||
@@ -0,0 +1 @@
|
base_feature: "none",
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kCompressionDictionaryTransport);
|
public: true,
|
||||||
|
},
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Wed, 10 Sep 2025 07:46:17 +0000
|
|
||||||
Subject: Disable Device Attributes API
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|
||||||
---
|
|
||||||
chrome/browser/device_api/device_service_impl.cc | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/device_api/device_service_impl.cc b/chrome/browser/device_api/device_service_impl.cc
|
|
||||||
--- a/chrome/browser/device_api/device_service_impl.cc
|
|
||||||
+++ b/chrome/browser/device_api/device_service_impl.cc
|
|
||||||
@@ -147,6 +147,7 @@ bool IsAffiliatedUser() {
|
|
||||||
|
|
||||||
bool IsTrustedContext(content::RenderFrameHost& host,
|
|
||||||
const url::Origin& origin) {
|
|
||||||
+ if ((true)) return false;
|
|
||||||
// Do not create the service for the incognito mode.
|
|
||||||
if (GetProfile(host)->IsIncognitoProfile()) {
|
|
||||||
return false;
|
|
||||||
@@ -323,6 +324,10 @@ void DeviceServiceImpl::GetAnnotatedLocation(
|
|
||||||
void DeviceServiceImpl::GetDeviceAttribute(
|
|
||||||
void (DeviceAttributeApi::*method)(DeviceAttributeCallback callback),
|
|
||||||
DeviceAttributeCallback callback) {
|
|
||||||
+ if ((true)) {
|
|
||||||
+ device_attribute_api_->ReportNotAllowedError(std::move(callback));
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
if (!IsAffiliatedUser() &&
|
|
||||||
!IsDevModeInstalledIwaOrigin(render_frame_host(), origin())) {
|
|
||||||
device_attribute_api_->ReportNotAffiliatedError(std::move(callback));
|
|
||||||
--
|
|
||||||
@@ -4,50 +4,29 @@ Subject: Disable FedCm
|
|||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
.../content_settings/core/browser/content_settings_registry.cc | 2 +-
|
|
||||||
.../content/public/common/content_features_cc/Disable-FedCm.inc | 1 +
|
.../content/public/common/content_features_cc/Disable-FedCm.inc | 1 +
|
||||||
.../services/network/public/cpp/features_cc/Disable-FedCm.inc | 1 +
|
|
||||||
.../third_party/blink/common/features_cc/Disable-FedCm.inc | 1 +
|
.../third_party/blink/common/features_cc/Disable-FedCm.inc | 1 +
|
||||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 2 +-
|
.../blink/renderer/platform/runtime_enabled_features.json5 | 2 +-
|
||||||
5 files changed, 5 insertions(+), 2 deletions(-)
|
3 files changed, 3 insertions(+), 1 deletion(-)
|
||||||
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc
|
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc
|
||||||
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-FedCm.inc
|
|
||||||
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-FedCm.inc
|
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-FedCm.inc
|
||||||
|
|
||||||
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
|
|
||||||
@@ -640,7 +640,7 @@ void ContentSettingsRegistry::Init() {
|
|
||||||
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
|
||||||
|
|
||||||
Register(ContentSettingsType::FEDERATED_IDENTITY_AUTO_REAUTHN_PERMISSION,
|
|
||||||
- "webid-auto-reauthn", CONTENT_SETTING_ALLOW,
|
|
||||||
+ "webid-auto-reauthn", CONTENT_SETTING_BLOCK, // requires user mediation
|
|
||||||
WebsiteSettingsInfo::UNSYNCABLE,
|
|
||||||
/*allowlisted_primary_schemes=*/{},
|
|
||||||
/*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
|
|
||||||
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc b/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc
|
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc b/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc
|
+++ b/cromite_flags/content/public/common/content_features_cc/Disable-FedCm.inc
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kFedCm);
|
+SET_CROMITE_FEATURE_DISABLED(kFedCm);
|
||||||
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Disable-FedCm.inc b/cromite_flags/services/network/public/cpp/features_cc/Disable-FedCm.inc
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/cromite_flags/services/network/public/cpp/features_cc/Disable-FedCm.inc
|
|
||||||
@@ -0,0 +1 @@
|
|
||||||
+SET_CROMITE_FEATURE_ENABLED(kSendSameSiteLaxForFedCM);
|
|
||||||
diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-FedCm.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-FedCm.inc
|
diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-FedCm.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-FedCm.inc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/cromite_flags/third_party/blink/common/features_cc/Disable-FedCm.inc
|
+++ b/cromite_flags/third_party/blink/common/features_cc/Disable-FedCm.inc
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+// empty
|
+SET_CROMITE_FEATURE_DISABLED(kFedCmWithStorageAccessAPI);
|
||||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
@@ -2544,7 +2544,7 @@
|
@@ -1833,7 +1833,7 @@
|
||||||
{
|
{
|
||||||
name: "FedCm",
|
name: "FedCm",
|
||||||
public: true,
|
public: true,
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/feedback/BUILD.gn b/chrome/browser/feedback/BUILD.gn
|
|||||||
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
|
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
|
--- 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
|
+++ b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
|
||||||
@@ -29,6 +29,7 @@ import org.chromium.components.signin.identitymanager.ConsentLevel;
|
@@ -28,6 +28,7 @@ import org.chromium.components.signin.identitymanager.ConsentLevel;
|
||||||
import org.chromium.components.signin.identitymanager.IdentityManager;
|
import org.chromium.components.signin.identitymanager.IdentityManager;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -37,7 +37,7 @@ diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browse
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -73,31 +74,8 @@ public abstract class FeedbackCollector<T> implements Runnable {
|
@@ -69,31 +70,8 @@ public abstract class FeedbackCollector<T> implements Runnable {
|
||||||
@Nullable ScreenshotSource screenshotTask,
|
@Nullable ScreenshotSource screenshotTask,
|
||||||
T initParams,
|
T initParams,
|
||||||
Profile profile) {
|
Profile profile) {
|
||||||
|
|||||||
@@ -4,62 +4,74 @@ Subject: Disable GSA by default
|
|||||||
|
|
||||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
.../src/org/chromium/base/PackageUtils.java | 1 +
|
.../chrome/browser/IntentHandler.java | 6 ------
|
||||||
.../chrome/browser/IntentHandler.java | 6 ----
|
.../provider/PageContentProviderImpl.java | 6 ------
|
||||||
.../chrome/browser/share/LensUtils.java | 14 ++------
|
.../chrome/browser/share/LensUtils.java | 14 ++------------
|
||||||
.../chromium/chrome/browser/gsa/GSAUtils.java | 34 +++----------------
|
.../chromium/chrome/browser/gsa/GSAUtils.java | 10 +++-------
|
||||||
.../GoogleBottomBarActionsHandler.java | 19 ++---------
|
.../GoogleBottomBarActionsHandler.java | 19 ++-----------------
|
||||||
.../chrome/browser/pdf/PdfCoordinator.java | 2 +-
|
.../chrome/browser/pdf/PdfCoordinator.java | 4 +---
|
||||||
.../Disable-GSA-by-default.inc | 1 +
|
.../Disable-GSA-by-default.inc | 1 +
|
||||||
7 files changed, 12 insertions(+), 65 deletions(-)
|
7 files changed, 9 insertions(+), 51 deletions(-)
|
||||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
|
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
|
||||||
|
|
||||||
diff --git a/base/android/java/src/org/chromium/base/PackageUtils.java b/base/android/java/src/org/chromium/base/PackageUtils.java
|
|
||||||
--- a/base/android/java/src/org/chromium/base/PackageUtils.java
|
|
||||||
+++ b/base/android/java/src/org/chromium/base/PackageUtils.java
|
|
||||||
@@ -185,6 +185,7 @@ public class PackageUtils {
|
|
||||||
* @return Package name of assistant app, or null if unable to get.
|
|
||||||
*/
|
|
||||||
public static @Nullable String getDefaultAssistantPackageName(Context context) {
|
|
||||||
+ if ((true)) return null;
|
|
||||||
@Nullable String defaultAssistantSetting =
|
|
||||||
Settings.Secure.getString(context.getContentResolver(), DEFAULT_ASSISTANT_SETTING);
|
|
||||||
if (defaultAssistantSetting == null || defaultAssistantSetting.isBlank()) {
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
||||||
@@ -52,7 +52,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity;
|
@@ -45,7 +45,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity;
|
||||||
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler;
|
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler;
|
||||||
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler.RequestMetadata;
|
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler.RequestMetadata;
|
||||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||||
-import org.chromium.chrome.browser.gsa.GSAUtils;
|
-import org.chromium.chrome.browser.gsa.GSAUtils;
|
||||||
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
|
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
|
||||||
import org.chromium.chrome.browser.pdf.PdfUtils;
|
|
||||||
import org.chromium.chrome.browser.profiles.Profile;
|
import org.chromium.chrome.browser.profiles.Profile;
|
||||||
@@ -321,9 +320,6 @@ public class IntentHandler {
|
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||||
public static final String EXTRA_TIPS_NOTIFICATION_FEATURE_TYPE =
|
@@ -263,9 +262,6 @@ public class IntentHandler {
|
||||||
"org.chromium.chrome.browser.tips_notification_feature_type";
|
public static final String EXTRA_SKIP_PRECONNECT =
|
||||||
|
"org.chromium.chrome.browser.skip_preconnect";
|
||||||
|
|
||||||
- /** The package name for the Google Search App. */
|
- /** The package name for the Google Search App. */
|
||||||
- public static final String PACKAGE_GSA = GSAUtils.GSA_PACKAGE_NAME;
|
- public static final String PACKAGE_GSA = GSAUtils.GSA_PACKAGE_NAME;
|
||||||
-
|
-
|
||||||
/** Action to launch the Chrome Item Picker UI, e.g.: tabs. */
|
private static Pair<Integer, String> sPendingReferrer;
|
||||||
public static final String EXTRA_OPEN_CHROME_ITEM_PICKER =
|
private static int sReferrerId;
|
||||||
"org.chromium.chrome.browser.actions.open_chrome_item_picker";
|
private static String sPendingIncognitoUrl;
|
||||||
@@ -584,8 +580,6 @@ public class IntentHandler {
|
@@ -539,8 +535,6 @@ public class IntentHandler {
|
||||||
return ExternalAppId.LINE;
|
return ExternalAppId.LINE;
|
||||||
} else if (PACKAGE_WHATSAPP.equals(packageName)) {
|
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
|
||||||
return ExternalAppId.WHATSAPP;
|
return ExternalAppId.WHATSAPP;
|
||||||
- } else if (PACKAGE_GSA.equals(packageName)) {
|
- } else if (packageName.equals(PACKAGE_GSA)) {
|
||||||
- return ExternalAppId.GSA;
|
- return ExternalAppId.GSA;
|
||||||
} else if (ContextUtils.getApplicationContext().getPackageName().equals(packageName)) {
|
} else if (packageName.equals(ContextUtils.getApplicationContext().getPackageName())) {
|
||||||
return ExternalAppId.CHROME;
|
return ExternalAppId.CHROME;
|
||||||
} else if (assumeNonNull(packageName).startsWith(WEBAPK_PACKAGE_PREFIX)) {
|
} else if (packageName.startsWith(WEBAPK_PACKAGE_PREFIX)) {
|
||||||
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java
|
||||||
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java
|
||||||
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java
|
||||||
|
@@ -57,8 +57,6 @@ public class PageContentProviderImpl extends SplitCompatContentProvider.Impl {
|
||||||
|
|
||||||
|
private static final int INVALIDATE_URI_DELAY_MS = 60_000;
|
||||||
|
private static final int PAGE_EXTRACTION_TIMEOUT_MS = 30_000;
|
||||||
|
- private static final String[] AUTHORIZED_PACKAGE_NAMES =
|
||||||
|
- new String[] {GSAUtils.GSA_PACKAGE_NAME};
|
||||||
|
|
||||||
|
static final class PageContentInvocationState {
|
||||||
|
|
||||||
|
@@ -354,10 +352,6 @@ public class PageContentProviderImpl extends SplitCompatContentProvider.Impl {
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void grantAccessToUri(Uri uri) {
|
||||||
|
- for (String packageName : AUTHORIZED_PACKAGE_NAMES) {
|
||||||
|
- ContextUtils.getApplicationContext()
|
||||||
|
- .grantUriPermission(packageName, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||||
|
- }
|
||||||
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
|
||||||
@@ -10,7 +10,6 @@ import org.chromium.base.ResettersForTesting;
|
@@ -10,7 +10,6 @@ import android.os.Build;
|
||||||
import org.chromium.build.annotations.NullMarked;
|
import org.chromium.base.ResettersForTesting;
|
||||||
import org.chromium.chrome.browser.IntentHandler;
|
import org.chromium.chrome.browser.IntentHandler;
|
||||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||||
-import org.chromium.chrome.browser.gsa.GSAUtils;
|
-import org.chromium.chrome.browser.gsa.GSAUtils;
|
||||||
@@ -79,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,15 +71,11 @@ public class LensUtils {
|
@@ -92,15 +86,11 @@ public class LensUtils {
|
||||||
* @return Whether the package is valid.
|
* @return Whether the package is valid.
|
||||||
*/
|
*/
|
||||||
public static boolean isValidAgsaPackage() {
|
public static boolean isValidAgsaPackage() {
|
||||||
@@ -100,18 +112,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
|
|||||||
diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java
|
diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java
|
||||||
--- a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java
|
--- a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java
|
||||||
+++ b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java
|
+++ b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java
|
||||||
@@ -15,19 +15,12 @@ import org.chromium.build.annotations.Nullable;
|
@@ -14,16 +14,11 @@ import org.chromium.build.annotations.Nullable;
|
||||||
/** This class provides utilities for the state of Google Search App. */
|
/** This class provides utilities for the state of Google Search App. */
|
||||||
@NullMarked
|
@NullMarked
|
||||||
public class GSAUtils {
|
public class GSAUtils {
|
||||||
- private static final Object sPackageInfoLock = new Object();
|
|
||||||
- @Nullable private static volatile PackageInfo sPackageInfo;
|
|
||||||
-
|
|
||||||
- public static final String GSA_PACKAGE_NAME = "com.google.android.googlequicksearchbox";
|
- public static final String GSA_PACKAGE_NAME = "com.google.android.googlequicksearchbox";
|
||||||
- public static final String GSA_CLASS_NAME =
|
- public static final String GSA_CLASS_NAME =
|
||||||
- "com.google.android.apps.search.googleapp.activity.GoogleAppActivity";
|
- "com.google.android.apps.search.googleapp.activity.GoogleAppActivity";
|
||||||
- public static final String VOICE_SEARCH_INTENT_ACTION = "android.intent.action.VOICE_ASSIST";
|
- public static final String VOICE_SEARCH_INTENT_ACTION = "android.intent.action.VOICE_ASSIST";
|
||||||
|
-
|
||||||
/**
|
/**
|
||||||
* @return Whether the given package name is the package name for Google Search App.
|
* @return Whether the given package name is the package name for Google Search App.
|
||||||
*/
|
*/
|
||||||
@@ -121,7 +130,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtil
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -39,6 +32,7 @@ public class GSAUtils {
|
@@ -35,6 +30,7 @@ public class GSAUtils {
|
||||||
*/
|
*/
|
||||||
public static boolean isAgsaVersionBelowMinimum(
|
public static boolean isAgsaVersionBelowMinimum(
|
||||||
@Nullable String installedVersionName, @Nullable String minimumVersionName) {
|
@Nullable String installedVersionName, @Nullable String minimumVersionName) {
|
||||||
@@ -129,48 +138,13 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtil
|
|||||||
if (TextUtils.isEmpty(installedVersionName) || TextUtils.isEmpty(minimumVersionName)) {
|
if (TextUtils.isEmpty(installedVersionName) || TextUtils.isEmpty(minimumVersionName)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -69,8 +63,8 @@ public class GSAUtils {
|
@@ -65,7 +61,7 @@ public class GSAUtils {
|
||||||
* @return The version name of the Agsa package or null if it can't be found.
|
* @return The version name of the Agsa package or null if it can't be found.
|
||||||
*/
|
*/
|
||||||
public static @Nullable String getAgsaVersionName() {
|
public static @Nullable String getAgsaVersionName() {
|
||||||
- PackageInfo info = getAgsaPackageInfo();
|
- PackageInfo packageInfo = PackageUtils.getPackageInfo(GSA_PACKAGE_NAME, 0);
|
||||||
- return info == null ? null : info.versionName;
|
|
||||||
+ PackageInfo packageInfo = null;
|
+ PackageInfo packageInfo = null;
|
||||||
+ return packageInfo == null ? null : packageInfo.versionName;
|
return packageInfo == null ? null : packageInfo.versionName;
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@@ -79,20 +73,7 @@ public class GSAUtils {
|
|
||||||
* @return Whether the AGSA is enabled
|
|
||||||
*/
|
|
||||||
public static boolean isAgsaEnabled() {
|
|
||||||
- PackageInfo info = getAgsaPackageInfo();
|
|
||||||
- return info != null && info.applicationInfo != null && info.applicationInfo.enabled;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- @Nullable
|
|
||||||
- private static PackageInfo getAgsaPackageInfo() {
|
|
||||||
- if (sPackageInfo == null) {
|
|
||||||
- synchronized (sPackageInfoLock) {
|
|
||||||
- if (sPackageInfo == null) {
|
|
||||||
- sPackageInfo = PackageUtils.getPackageInfo(GSA_PACKAGE_NAME, 0);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- return sPackageInfo;
|
|
||||||
+ return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@@ -101,10 +82,5 @@ public class GSAUtils {
|
|
||||||
* @param packageInfo The package info to set for AGSA.
|
|
||||||
*/
|
|
||||||
public static void setAgsaPackageInfoForTesting(@Nullable PackageInfo packageInfo) {
|
|
||||||
- sPackageInfo = packageInfo;
|
|
||||||
- ResettersForTesting.register(
|
|
||||||
- () -> {
|
|
||||||
- sPackageInfo = null;
|
|
||||||
- });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java b/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java
|
diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java b/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java
|
||||||
@@ -186,7 +160,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c
|
|||||||
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_HOME;
|
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_HOME;
|
||||||
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_LENS;
|
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_LENS;
|
||||||
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_SEARCH;
|
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_SEARCH;
|
||||||
@@ -106,11 +103,6 @@ class GoogleBottomBarActionsHandler {
|
@@ -102,11 +99,6 @@ class GoogleBottomBarActionsHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
void onSearchboxMicTap() {
|
void onSearchboxMicTap() {
|
||||||
@@ -198,7 +172,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c
|
|||||||
}
|
}
|
||||||
|
|
||||||
void onSearchboxLensTap(View buttonView) {
|
void onSearchboxLensTap(View buttonView) {
|
||||||
@@ -149,21 +141,13 @@ class GoogleBottomBarActionsHandler {
|
@@ -145,21 +137,13 @@ class GoogleBottomBarActionsHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void openGoogleAppSearch() {
|
private void openGoogleAppSearch() {
|
||||||
@@ -221,7 +195,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c
|
|||||||
intent.putExtra(EXTRA_IS_LAUNCHED_FROM_CHROME_SEARCH_ENTRYPOINT, true);
|
intent.putExtra(EXTRA_IS_LAUNCHED_FROM_CHROME_SEARCH_ENTRYPOINT, true);
|
||||||
|
|
||||||
if (PackageManagerUtils.canResolveActivity(intent)) {
|
if (PackageManagerUtils.canResolveActivity(intent)) {
|
||||||
@@ -275,6 +259,7 @@ class GoogleBottomBarActionsHandler {
|
@@ -271,6 +255,7 @@ class GoogleBottomBarActionsHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendPendingIntentWithUrl(PendingIntent pendingIntent) {
|
private void sendPendingIntentWithUrl(PendingIntent pendingIntent) {
|
||||||
@@ -232,15 +206,24 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c
|
|||||||
diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
|
diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
|
||||||
--- a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
|
--- a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
|
||||||
+++ b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
|
+++ b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
|
||||||
@@ -396,7 +396,7 @@ public class PdfCoordinator implements PdfActionsDelegate, PdfToolbarActionsDele
|
@@ -246,7 +246,7 @@ public class PdfCoordinator {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable String requestAssistContent(String filename, boolean isWorkProfile) {
|
String requestAssistContent(String filename, boolean isWorkProfile) {
|
||||||
- if (mUri == null) {
|
- if (mUri == null) {
|
||||||
+ if ((true)) {
|
+ if ((true)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
String structuredData;
|
String structuredData;
|
||||||
|
@@ -264,8 +264,6 @@ public class PdfCoordinator {
|
||||||
|
} catch (JSONException e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
- mActivity.grantUriPermission(
|
||||||
|
- GSAUtils.GSA_PACKAGE_NAME, mUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||||
|
PdfUtils.recordIsWorkProfile(isWorkProfile);
|
||||||
|
return structuredData;
|
||||||
|
}
|
||||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
|
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java
|
diff --git a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java
|
||||||
--- a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java
|
--- a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java
|
||||||
+++ b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java
|
+++ b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java
|
||||||
@@ -137,6 +137,7 @@ public class InstalledAppProviderImpl implements InstalledAppProvider {
|
@@ -153,6 +153,7 @@ public class InstalledAppProviderImpl implements InstalledAppProvider {
|
||||||
|
final RelatedApplication[] relatedApps,
|
||||||
final Url manifestUrl,
|
final Url manifestUrl,
|
||||||
final boolean addSavedRelatedApplications,
|
|
||||||
final FilterInstalledApps_Response callback) {
|
final FilterInstalledApps_Response callback) {
|
||||||
+ assert false;
|
+ assert false;
|
||||||
GURL url = mRenderFrameHost.getLastCommittedURL();
|
GURL url = mRenderFrameHost.getLastCommittedURL();
|
||||||
@@ -27,8 +27,8 @@ diff --git a/components/installedapp/android/java/src/org/chromium/components/in
|
|||||||
diff --git a/content/browser/installedapp/installed_app_provider_impl.cc b/content/browser/installedapp/installed_app_provider_impl.cc
|
diff --git a/content/browser/installedapp/installed_app_provider_impl.cc b/content/browser/installedapp/installed_app_provider_impl.cc
|
||||||
--- a/content/browser/installedapp/installed_app_provider_impl.cc
|
--- a/content/browser/installedapp/installed_app_provider_impl.cc
|
||||||
+++ b/content/browser/installedapp/installed_app_provider_impl.cc
|
+++ b/content/browser/installedapp/installed_app_provider_impl.cc
|
||||||
@@ -62,7 +62,7 @@ void InstalledAppProviderImpl::FilterInstalledApps(
|
@@ -60,7 +60,7 @@ void InstalledAppProviderImpl::FilterInstalledApps(
|
||||||
bool add_saved_related_applications,
|
const GURL& manifest_url,
|
||||||
FilterInstalledAppsCallback callback) {
|
FilterInstalledAppsCallback callback) {
|
||||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||||
- if (!base::FeatureList::IsEnabled(features::kInstalledAppProvider)) {
|
- if (!base::FeatureList::IsEnabled(features::kInstalledAppProvider)) {
|
||||||
@@ -58,8 +58,8 @@ new file mode 100644
|
|||||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
@@ -3386,9 +3386,8 @@
|
@@ -2514,9 +2514,8 @@
|
||||||
status: "stable",
|
name: "InspectorGhostRules",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
- name: "InstalledApp",
|
- name: "InstalledApp",
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
|
||||||
@@ -119,7 +119,7 @@ public class StartupPaintPreviewHelper implements Destroyable {
|
@@ -107,7 +107,7 @@ public class StartupPaintPreviewHelper {
|
||||||
|
|
||||||
/** Enables Paint Preview show attempt on restoration of a tab. */
|
/** Enables Paint Preview show attempt on restoration of a tab. */
|
||||||
public static void enableShowOnRestore() {
|
public static void enableShowOnRestore() {
|
||||||
|
|||||||
@@ -5,9 +5,8 @@ Subject: Disable PrivacyGuide
|
|||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/android/java/res/xml/privacy_preferences.xml | 1 +
|
chrome/android/java/res/xml/privacy_preferences.xml | 1 +
|
||||||
chrome/browser/prefs/browser_prefs.cc | 2 +-
|
|
||||||
chrome/browser/ui/webui/settings/settings_ui.cc | 3 +--
|
chrome/browser/ui/webui/settings/settings_ui.cc | 3 +--
|
||||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
@@ -20,22 +19,10 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||||||
android:title="@string/privacy_guide_pref_title"
|
android:title="@string/privacy_guide_pref_title"
|
||||||
android:summary="@string/privacy_guide_pref_summary"
|
android:summary="@string/privacy_guide_pref_summary"
|
||||||
android:fragment="org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment" />
|
android:fragment="org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment" />
|
||||||
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
|
|
||||||
@@ -2107,7 +2107,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
|
||||||
registry->RegisterBooleanPref(webauthn::pref_names::kAllowWithBrokenCerts,
|
|
||||||
false);
|
|
||||||
|
|
||||||
- registry->RegisterBooleanPref(prefs::kPrivacyGuideViewed, false);
|
|
||||||
+ registry->RegisterBooleanPref(prefs::kPrivacyGuideViewed, true);
|
|
||||||
|
|
||||||
RegisterProfilePrefsForMigration(registry);
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
|
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||||
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
|
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||||
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
|
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||||
@@ -344,8 +344,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
|
@@ -352,8 +352,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
|
||||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||||
|
|
||||||
bool show_privacy_guide =
|
bool show_privacy_guide =
|
||||||
@@ -44,5 +31,5 @@ diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui
|
|||||||
+ false;
|
+ false;
|
||||||
html_source->AddBoolean("showPrivacyGuide", show_privacy_guide);
|
html_source->AddBoolean("showPrivacyGuide", show_privacy_guide);
|
||||||
|
|
||||||
html_source->AddBoolean(
|
html_source->AddBoolean("enableHandTrackingContentSetting",
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -3,27 +3,15 @@ Date: Wed, 24 Jan 2024 12:19:44 +0000
|
|||||||
Subject: Disable Read Aloud by default
|
Subject: Disable Read Aloud by default
|
||||||
|
|
||||||
---
|
---
|
||||||
chrome/browser/prefs/browser_prefs.cc | 2 +-
|
.../flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc | 2 ++
|
||||||
.../flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc | 1 +
|
1 file changed, 2 insertions(+)
|
||||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
|
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
|
||||||
|
|
||||||
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
|
|
||||||
@@ -1444,7 +1444,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
|
||||||
registry->RegisterBooleanPref(policy::policy_prefs::kBackForwardCacheEnabled,
|
|
||||||
true);
|
|
||||||
- registry->RegisterBooleanPref(policy::policy_prefs::kReadAloudEnabled, true);
|
|
||||||
+ registry->RegisterBooleanPref(policy::policy_prefs::kReadAloudEnabled, false);
|
|
||||||
#endif // BUILDFLAG(IS_ANDROID)
|
|
||||||
|
|
||||||
// Below this point is for platform-specific and compile-time conditional
|
|
||||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
|
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
|
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1,2 @@
|
||||||
|
+SET_CROMITE_FEATURE_DISABLED(kReadAloud);
|
||||||
+SET_CROMITE_FEATURE_DISABLED(kReadAloudPlayback);
|
+SET_CROMITE_FEATURE_DISABLED(kReadAloudPlayback);
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -4,16 +4,16 @@ Subject: Disable Real Box
|
|||||||
|
|
||||||
Real-box is search box in ntp
|
Real-box is search box in ntp
|
||||||
---
|
---
|
||||||
chrome/browser/prefs/browser_prefs.cc | 2 +-
|
chrome/browser/prefs/browser_prefs.cc | 2 +-
|
||||||
chrome/browser/resources/new_tab_page/app.html | 18 +-----------------
|
chrome/browser/resources/new_tab_page/app.html | 8 --------
|
||||||
.../searchbox/searchbox_handler.cc | 2 ++
|
chrome/browser/ui/webui/searchbox/searchbox_handler.cc | 1 +
|
||||||
components/search/ntp_features.cc | 4 ++--
|
components/search/ntp_features.cc | 6 +++---
|
||||||
4 files changed, 6 insertions(+), 20 deletions(-)
|
4 files changed, 5 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||||
@@ -2079,7 +2079,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
@@ -2323,7 +2323,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||||
registry->RegisterBooleanPref(
|
registry->RegisterBooleanPref(
|
||||||
prefs::kLensRegionSearchEnabled, true,
|
prefs::kLensRegionSearchEnabled, true,
|
||||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||||
@@ -21,66 +21,57 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
|||||||
+ registry->RegisterBooleanPref(prefs::kLensDesktopNTPSearchEnabled, false);
|
+ registry->RegisterBooleanPref(prefs::kLensDesktopNTPSearchEnabled, false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
registry->RegisterBooleanPref(prefs::kDisableScreenshots, false);
|
#if !BUILDFLAG(IS_ANDROID)
|
||||||
diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html
|
diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html
|
||||||
--- a/chrome/browser/resources/new_tab_page/app.html
|
--- a/chrome/browser/resources/new_tab_page/app.html
|
||||||
+++ b/chrome/browser/resources/new_tab_page/app.html
|
+++ b/chrome/browser/resources/new_tab_page/app.html
|
||||||
@@ -43,23 +43,7 @@ import {SubmitButtonIconType} from '//resources/cr_components/composebox/compose
|
@@ -19,14 +19,6 @@
|
||||||
<div id="searchboxContainer"
|
?hidden="${!this.logoEnabled_}">
|
||||||
@focusin="${this.onSearchboxContainerFocusin_}"
|
</ntp-logo>
|
||||||
@focusout="${this.onSearchboxContainerFocusout_}">
|
<div id="searchboxContainer">
|
||||||
- <ntp-searchbox id="searchbox" ?is-dark="${this.isThemeDark_()}"
|
- <cr-searchbox id="searchbox" ?is-dark="${this.isThemeDark_()}"
|
||||||
- placeholder-text="$i18n{searchBoxPlaceholder}"
|
|
||||||
- ?color-source-is-baseline="${this.colorSourceIsBaseline}"
|
- ?color-source-is-baseline="${this.colorSourceIsBaseline}"
|
||||||
- @open-composebox="${this.onOpenComposebox_}"
|
|
||||||
- @open-lens-search="${this.onOpenLensSearch_}"
|
- @open-lens-search="${this.onOpenLensSearch_}"
|
||||||
- @open-voice-search="${this.onOpenVoiceSearch_}" ?shown="${this.realboxShown_}"
|
- @open-voice-search="${this.onOpenVoiceSearch_}" ?shown="${this.realboxShown_}"
|
||||||
- ?had-secondary-side="${this.realboxHadSecondarySide}"
|
- ?had-secondary-side="${this.realboxHadSecondarySide}"
|
||||||
- @had-secondary-side-changed="${this.onRealboxHadSecondarySideChanged_}"
|
- @had-secondary-side-changed="${this.onRealboxHadSecondarySideChanged_}"
|
||||||
- ?can-show-secondary-side="${this.realboxCanShowSecondarySide}"
|
- ?can-show-secondary-side="${this.realboxCanShowSecondarySide}">
|
||||||
- ?compose-button-enabled="${this.composeButtonEnabled}"
|
- </cr-searchbox>
|
||||||
- ?composebox-enabled="${this.composeboxEnabled}"
|
${this.showLensUploadDialog_ ? html`
|
||||||
- searchbox-layout-mode="${this.ntpRealboxNextEnabled_ ? 'Compact' : ''}"
|
<ntp-lens-upload-dialog id="lensUploadDialog"
|
||||||
- ?ntp-realbox-next-enabled="${this.ntpRealboxNextEnabled_}"
|
@close-lens-search="${this.onCloseLensSearch_}">
|
||||||
- ?cycling-placeholders="${this.searchboxCyclingPlaceholders_}"
|
diff --git a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc b/chrome/browser/ui/webui/searchbox/searchbox_handler.cc
|
||||||
- context-menu-glif-animation-state="${this.contextMenuGlifAnimationState_}"
|
--- a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc
|
||||||
- ?multi-line-enabled="${this.multiLineEnabled_}">
|
+++ b/chrome/browser/ui/webui/searchbox/searchbox_handler.cc
|
||||||
- </ntp-searchbox>
|
@@ -420,6 +420,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
|
||||||
+ <div id="searchbox"></div>
|
Profile* profile,
|
||||||
${this.showComposebox_ ? html`
|
bool enable_voice_search,
|
||||||
<div id="dialogAnchor"></div>
|
bool enable_lens_search) {
|
||||||
<dialog id="composeboxDialog">
|
+ enable_lens_search = false;
|
||||||
diff --git a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc b/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
|
// Embedders which are served from chrome-untrusted:// URLs should override
|
||||||
--- a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
|
// this to false. The chrome.timeTicks capability that the metrics reporter
|
||||||
+++ b/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
|
// depends on is not defined in chrome-untrusted environments and attempting
|
||||||
@@ -321,6 +321,8 @@ base::DictValue SearchboxHandler::GetWebUIDataSourceDict(Profile* profile) {
|
|
||||||
base::DictValue SearchboxHandler::GetWebUIDataSourceDict(
|
|
||||||
Profile* profile,
|
|
||||||
WebUIDataSourceOptions options) {
|
|
||||||
+ options.enable_lens_search = false;
|
|
||||||
+ options.enable_voice_search = false;
|
|
||||||
base::DictValue dict;
|
|
||||||
|
|
||||||
// The WebUI Omnibox code will override this to `true` to adjust various
|
|
||||||
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
|
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
|
||||||
--- a/components/search/ntp_features.cc
|
--- a/components/search/ntp_features.cc
|
||||||
+++ b/components/search/ntp_features.cc
|
+++ b/components/search/ntp_features.cc
|
||||||
@@ -97,7 +97,7 @@ BASE_FEATURE(kNtpDriveModuleSegmentation, base::FEATURE_DISABLED_BY_DEFAULT);
|
@@ -121,7 +121,7 @@ BASE_FEATURE(kNtpDriveModuleShowSixFiles,
|
||||||
|
|
||||||
// If enabled, logo will be shown.
|
// If enabled, logo will be shown.
|
||||||
// This is a kill switch. Keep indefinitely.
|
// This is a kill switch. Keep indefinitely.
|
||||||
-BASE_FEATURE(kNtpLogo, base::FEATURE_ENABLED_BY_DEFAULT);
|
-BASE_FEATURE(kNtpLogo, "NtpLogo", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
+BASE_FEATURE(kNtpLogo, base::FEATURE_DISABLED_BY_DEFAULT);
|
+BASE_FEATURE(kNtpLogo, "NtpLogo", base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
|
|
||||||
// If enabled, middle slot promo will be shown.
|
// If enabled, middle slot promo will be shown.
|
||||||
// This is a kill switch. Keep indefinitely.
|
// This is a kill switch. Keep indefinitely.
|
||||||
@@ -139,7 +139,7 @@ BASE_FEATURE(kNtpModuleSignInRequirement, base::FEATURE_ENABLED_BY_DEFAULT);
|
@@ -174,8 +174,8 @@ BASE_FEATURE(kNtpModulesLoad,
|
||||||
|
|
||||||
// If enabled, OneGoogleBar will be shown.
|
// If enabled, OneGoogleBar will be shown.
|
||||||
// This is a kill switch. Keep indefinitely.
|
// This is a kill switch. Keep indefinitely.
|
||||||
-BASE_FEATURE(kNtpOneGoogleBar, base::FEATURE_ENABLED_BY_DEFAULT);
|
BASE_FEATURE(kNtpOneGoogleBar,
|
||||||
+BASE_FEATURE(kNtpOneGoogleBar, base::FEATURE_DISABLED_BY_DEFAULT);
|
- "NtpOneGoogleBar",
|
||||||
|
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
|
+ "NtpOneGoogleBar", // disabled
|
||||||
|
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
|
||||||
|
|
||||||
// If enabled, outlook calendar module will be shown.
|
// If enabled, outlook calendar module will be shown.
|
||||||
BASE_FEATURE(kNtpOutlookCalendarModule, base::FEATURE_ENABLED_BY_DEFAULT);
|
BASE_FEATURE(kNtpOutlookCalendarModule,
|
||||||
--
|
--
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user