Compare commits

...
185 Commits
Author SHA1 Message Date
uazoandGitHub 4afa52ce16 #211 Auto close stale issues with "awaiting info" label 2023-08-24 20:42:16 +11:00
uazoandGitHub 8c0d78bb19 Added changes for 116.0.5845.111 2023-08-24 19:04:10 +11:00
uazoandGitHub 710fa88c18 Added a message explaining that it is the documentation in WIP, but the browser is stable! 2023-08-24 03:50:32 -03:00
uazoandGitHub 0747986f1c Merge pull request #208 from uazo/create-pull-request/patch-80c93e8
Automatic rebase for 116.0.5845.111
2023-08-23 10:36:26 -05:00
uazoandGitHub f96679ab2e AUTOMATED - git apply results 2023-08-23 15:32:14 +00:00
Carmelo Messina 80c93e87a0 Bump to 116.0.5845.111 2023-08-23 17:26:22 +02:00
Carmelo Messina efbf27ab47 #195 fix Link in README 2023-08-23 17:26:10 +02:00
Carmelo Messina 4fc67eebf1 Enable Android Dynamic Performance Framework 2023-08-23 17:25:41 +02:00
Carmelo Messina b272f4d95e #202 Disable PartnerCustomizations 2023-08-23 17:23:59 +02:00
Carmelo Messina 3b94575733 Add an option to disable snapshots 2023-08-23 17:22:47 +02:00
Carmelo Messina 9fd52039b9 #181 Remove unneeded profile button on NTP 2023-08-23 17:20:56 +02:00
Carmelo Messina 6855aa4049 Disable origin trials in webview 2023-08-23 17:20:18 +02:00
Carmelo Messina 618defebc9 Keep disabled Topics API 2023-08-23 17:19:21 +02:00
Carmelo Messina 39e747f886 Disable kOptimizationGuideFetchingForSRP
(fetching on search results from a remote Optimization Guide Service)
2023-08-23 17:18:47 +02:00
Carmelo Messina a86fc06ee6 Disable network Early Hints 2023-08-23 17:17:40 +02:00
Carmelo Messina 7d655716c5 Disable site engagement flag by default 2023-08-23 17:16:32 +02:00
Carmelo Messina 9025fe39d5 #203 fix OUT_OF_MEMORY in blobs 2023-08-23 17:14:57 +02:00
Carmelo Messina 163455ae04 Keep disabled kSidePanelCompanion2 and disable kSideSearch
see IsCompanionFeatureEnabled()
2023-08-23 17:14:22 +02:00
Carmelo Messina bee9aea000 Allow download_web_contents_frame and save_file_manager
used in Windows to generate mhtml and download link as
2023-08-23 17:12:21 +02:00
Carmelo Messina fa08466b6b Enable FedCmIdpSigninStatusEnabled
see https://github.com/uazo/bromite-buildtools/issues/327
2023-08-23 17:11:11 +02:00
Carmelo Messina a258db804d enable kRSAKeyUsageForLocalAnchorsEnabled
disable kInsecureHashesInTLSHandshakesEnabled and kSideSearchEnabled
2023-08-23 17:09:47 +02:00
Carmelo Messina b0b5b3fa14 Temp disable predictive back gesture 2023-08-15 23:05:45 +02:00
uazoandGitHub 8fe7b380f2 Bump to 116.0.5845.96 2023-08-15 16:03:24 -04:00
uazoandGitHub d9c17daf78 Merge pull request #165 from uazo/next-v116
Rebase to v116
2023-08-10 11:12:42 -09:00
Carmelo Messina a34bbac337 git apply results for 116.0.5845.82 2023-08-10 22:05:41 +02:00
Carmelo Messina 1b5b2306d3 #158 fix icon height 2023-08-10 17:54:19 +02:00
Carmelo Messina 226754efbc bump to 116.0.5845.82 2023-08-10 17:16:24 +02:00
Carmelo Messina 0596bf43a7 ignore com.google.android.gms proguard warnings 2023-08-08 11:28:42 +02:00
uazoandGitHub 978258a071 Merge pull request #166 from uazo/create-pull-request/patch-1a1319d
Git apply result for next-v116 branch
2023-08-07 08:11:02 -05:00
uazoandGitHub f6b6a0f8f3 AUTOMATED - git apply results 2023-08-07 13:09:00 +00:00
Carmelo Messina 1a1319d713 Allow the download of clang for windows crossbuild
download prebuild rc (linux version) from google storage
2023-08-07 15:05:50 +02:00
Carmelo Messina 41c823bf05 Allow documentPiP api use only with content setting popup allowed 2023-08-07 15:00:14 +02:00
Carmelo Messina 3222b0dc89 Merged some WIN patches with the corresponding 2023-08-07 14:59:32 +02:00
Carmelo Messina 7e65e72932 v116 added support for document pip 2023-08-07 14:45:03 +02:00
Carmelo Messina 4d1268c2e0 v116 new Fido calls 2023-08-07 14:44:33 +02:00
Carmelo Messina bc540aca38 v116
from AutofillActionModeCallback to AutofillSelectionMenuItemProvider
added WithNewVersion() in each call to secondary_autofill handler
2023-08-07 14:44:03 +02:00
Carmelo Messina 2ef82c5d12 v116 fix BUILDFLAG(ENABLE_FEED_V2) == false 2023-08-07 14:42:15 +02:00
Carmelo Messina 1e3fd747c5 v116 modified
changed ContentSettingConstraints from struct to class
2023-08-07 14:41:32 +02:00
Carmelo Messina f5f0c92233 v116 log dangling markup in target 2023-08-07 14:40:09 +02:00
Carmelo Messina f84fec5c2f v116 modified patches 2023-08-07 14:38:53 +02:00
uazoandGitHub 8a2cda29ee Add ref to checkout 2023-08-05 17:28:53 +05:00
Carmelo Messina ea8c3a45fe bump to 116.0.5845.62 2023-08-05 13:48:18 +02:00
Carmelo Messina cc9dca10a3 v116 add gn enable_feed_v2 = false 2023-08-05 13:43:13 +02:00
Carmelo Messina 9063dd14a6 v116 merge SSPI patch 2023-08-05 13:42:55 +02:00
Carmelo Messina 7e088a9a52 v116 fix IdleDetection default status 2023-08-05 13:42:22 +02:00
Carmelo Messina 9c107e38df v116 check moved to GetSiteAccessAllowedStatus 2023-08-05 13:40:57 +02:00
Carmelo Messina 364170fea6 v116 to be checked 2023-08-05 13:40:25 +02:00
Carmelo Messina 22eed850f1 v116 changed
upstream moved GetAttributionSupportHeader
upstream removed kAnonymousIframeOriginTrial (not useful)
upstream removed kUseNanosecondsForMotionEvent (replaced by code)
2023-08-05 13:36:39 +02:00
Carmelo Messina bbb207c119 remove 115-temp-fix-build.patch 2023-08-05 13:33:01 +02:00
Carmelo Messina 619a988257 v116 patches 2023-08-05 13:31:40 +02:00
uazoandGitHub 79219cd1db Download and build rc 2023-08-04 01:48:14 -09:00
uazoandGitHub c3c67dd092 Download rc from google storage 2023-08-03 23:33:50 -09:00
uazoandGitHub 342bcd67f7 Merge pull request #152 from uazo/create-pull-request/patch-5c6f1d6
Git apply result for master branch
2023-08-03 15:53:24 +00:00
uazoandGitHub 76ded8aa54 AUTOMATED - git apply results 2023-08-03 15:52:36 +00:00
uazoandGitHub 953c71769f Add token 2023-08-03 15:47:52 +00:00
uazoandGitHub 0f20fc01b7 Update check-git-apply.yaml 2023-08-03 15:35:53 +00:00
uazoandGitHub 5c6f1d66e1 Bump to 115.0.5790.171 2023-08-03 15:07:46 +00:00
uazoandGitHub ac8b2ddf62 Fix v8 repo 2023-08-03 15:03:07 +00:00
Carmelo Messina fcb1cf5e1c remove v8 from gitignore 2023-08-03 15:41:35 +02:00
Carmelo Messina d3d8062864 Enabling Windows PGO optimisation 2023-08-02 17:22:58 +02:00
uazoandGitHub 0e534665b8 Update apply-bromite-patches.sh 2023-08-02 16:08:54 +01:00
uazoandGitHub 6df6fb6158 Update apply-bromite-patches.sh 2023-08-02 16:05:48 +01:00
uazoandGitHub 309effa27e Update path 2023-08-02 15:53:58 +01:00
uazoandGitHub 7615d57ff6 enable pgo 2023-08-02 15:49:58 +01:00
uazoandGitHub 89349a8eba download pgo profile 2023-08-02 15:45:33 +01:00
uazoandGitHub 191639e7b0 remove v8 subrepo 2023-08-02 15:15:16 +01:00
Carmelo Messina b3af1b0d37 Disable remote altsvc for h3 connections 2023-08-01 18:11:14 +02:00
Carmelo Messina 39e2c5a20f Disable checkbox in privacy sandbox ui 2023-08-01 18:09:32 +02:00
Carmelo Messina dd26fef46d #126 Remove google privacy policy
#122 fix themed app icon
2023-08-01 18:09:03 +02:00
Carmelo Messina a3a4a0f267 #120 added the content setting in the windows info ui panel 2023-08-01 18:07:52 +02:00
Carmelo Messina 48a833dde8 #96 fix force tablet crash and remove and removes non-functional tabs with the bar at the bottom 2023-08-01 18:06:29 +02:00
uazoandGitHub 19f39147a6 Release Section 2023-07-29 17:40:10 +10:00
Carmelo Messina 3f31d6687d restore download install-build-deps.py 2023-07-24 11:09:55 +02:00
Carmelo Messina e4d817c6cd bump to 115.0.5790.136 2023-07-24 11:04:35 +02:00
Carmelo Messina 5667ccfc1e Revert "Bump to 114.0.5735.196"
This reverts commit 19b9c3eb13.
2023-07-24 11:02:23 +02:00
uazoandGitHub 19b9c3eb13 Bump to 114.0.5735.196 2023-07-24 11:33:03 +03:00
uazoandGitHub 894591e85c Remove install-build-deps.py 2023-07-24 10:41:49 +03:00
uazoandGitHub 5daa5046c6 Remove install-build-deps.py (again) 2023-07-24 10:30:55 +03:00
uazoandGitHub b04e69a09b Reenable on-push 2023-07-23 07:53:44 -05:00
uazoandGitHub 5d7e4afbb9 Update check-git-apply.yaml 2023-07-23 07:43:53 -05:00
uazoandGitHub df5ba7de35 Update check-git-apply.yaml 2023-07-23 07:33:01 -05:00
uazoandGitHub 30cd5d7038 Update check-git-apply.yaml 2023-07-23 07:22:58 -05:00
uazoandGitHub bbd3857c55 Update check-git-apply.yaml 2023-07-23 07:20:51 -05:00
uazoandGitHub 161e94bcae Update check-git-apply.yaml 2023-07-23 07:14:37 -05:00
uazoandGitHub 1b54b2ab88 Update check-git-apply.yaml 2023-07-23 07:09:47 -05:00
uazoandGitHub 17a1d0a4ff Update check-git-apply.yaml 2023-07-23 05:56:48 -05:00
uazoandGitHub 3dbba33f87 Update check-git-apply.yaml 2023-07-23 05:39:05 -05:00
uazoandGitHub 37883aeea1 #107 Add cache support 2023-07-23 05:28:30 -05:00
uazoandGitHub 2555294264 #107 Add cache support 2023-07-23 05:21:50 -05:00
uazoandGitHub 08f5fb7cb0 #107 Add cache support 2023-07-23 05:18:26 -05:00
uazoandGitHub 55afa47439 #100 Publish symbols for every release 2023-07-23 04:56:43 -05:00
uazoandGitHub f288533816 Update to uazo/github-runner:2.306.0 2023-07-23 04:15:08 -05:00
uazoandGitHub 79d8e9265f Use uazo/github-runner:2.306.0 2023-07-23 04:14:40 -05:00
uazoandGitHub 7b051181fa Update README.md 2023-07-22 20:02:20 +03:00
uazoandGitHub 6f4b45ab24 Merge pull request #90 from 0xedward/update_issue_templates
Update GitHub issue templates
2023-07-22 18:46:32 +03:00
Carmelo Messina 60acd4460e add android 14 as suggested 2023-07-22 17:44:59 +02:00
Carmelo Messina f7ed8e7a86 remove trailing spaces 2023-07-22 17:42:48 +02:00
Carmelo Messina 5d8c8bba61 bump to 115.0.5790.102 2023-07-22 16:52:42 +02:00
uazoandGitHub 7a4878bd1d Merge pull request #105 from uazo/create-pull-request/patch-8ea8e42
No changes
2023-07-22 17:51:04 +03:00
uazoandGitHub 4344d5566e AUTOMATED - git apply results 2023-07-22 14:49:13 +00:00
Carmelo Messina 8ea8e4273a update patches list 2023-07-22 16:42:38 +02:00
Carmelo Messina d610e2a525 #81 - Fix crash when click on help icon 2023-07-22 16:41:32 +02:00
Carmelo Messina 18ee7711c0 #89 - Removed safety check from settings 2023-07-22 16:40:15 +02:00
Carmelo Messina 0e83f203a0 #84 - Descriptions changed to make them more understandable 2023-07-22 16:39:24 +02:00
Carmelo Messina 90a7879399 #102 - Fix search suggest in always incognito 2023-07-22 16:37:48 +02:00
Carmelo Messina 53a34e243b #78 - Fix icons used in FRE 2023-07-22 16:36:12 +02:00
Carmelo Messina 0f23f2a5a7 #94 - Fix crash on settings 2023-07-22 16:35:22 +02:00
Carmelo Messina b1189ef627 #86 - Remove unused permissions 2023-07-22 16:34:29 +02:00
0xedwardandGitHub 7aa295041e Update references from Bromite to Cromite 2023-07-21 15:04:20 -04:00
0xedwardandGitHub 659cfbc3f6 Remove field for SystemWebView
See https://github.com/uazo/cromite/issues/77#issuecomment-1645453577
2023-07-21 15:02:45 -04:00
0xedwardandGitHub d4710fc69f Add Android 13 to dropdown list for android_version 2023-07-21 15:01:34 -04:00
0xedwardandGitHub f251a3d9c5 Update references from Bromite to Cromite 2023-07-21 15:00:55 -04:00
uazoandGitHub fe348868b6 Update release.yaml 2023-07-21 01:16:17 -06:00
Carmelo Messina c9e9512bb9 remove tabs 2023-07-20 16:41:01 +02:00
uazoandGitHub 082417b93d Update build_cromite.yaml 2023-07-20 22:36:52 +08:00
uazoandGitHub 7db9011113 Fix building keystore 2023-07-20 22:32:07 +08:00
uazoandGitHub 970188f2a6 #74 - Update Dockerfile 2023-07-20 22:21:16 +08:00
uazoandGitHub b69d6d5fe6 #74 - Update Dockerfile 2023-07-20 22:16:34 +08:00
uazoandGitHub 1ae538cb92 #74 - Update build_cromite.yaml 2023-07-20 22:15:48 +08:00
uazoandGitHub c108e6d4e3 #74 - Update release.yaml 2023-07-20 22:10:39 +08:00
uazoandGitHub a36f51b4bf #74 - Update build_cromite.yaml 2023-07-20 21:52:03 +08:00
Carmelo Messina c341469a3b enable browser autoupdate 2023-07-20 15:13:21 +02:00
Carmelo Messina d53d0812a0 #73 - Remove upstream share intent support 2023-07-20 15:12:40 +02:00
Carmelo Messina 996ab2d718 #68 - Fix crash when opening BookmarkActivity 2023-07-20 15:10:57 +02:00
Carmelo Messina 5afea1c64b #72 - Fix armv7 build 2023-07-20 15:05:20 +02:00
Carmelo Messina d728db919a #69 - Compress libchrome to free up some space 2023-07-20 15:00:18 +02:00
uazoandGitHub 07bcd2bc70 Disable autostart on push 2023-07-19 19:52:46 +07:00
uazoandGitHub bcb661ead0 Start the unification of repos #65 from uazo/move-from-buildtools
Start the unification of repos
2023-07-19 19:51:38 +07:00
uazoandGitHub 986c7ed482 Merge pull request #67 from uazo/create-pull-request/patch-d7b2fa0
Git apply result for move-from-buildtools branch
2023-07-19 19:50:11 +07:00
uazoandGitHub 749a747215 AUTOMATED - git apply results 2023-07-19 12:49:34 +00:00
Carmelo Messina d7b2fa08d0 Cromite Branding patch 2023-07-19 14:42:38 +02:00
Carmelo Messina 5310c38f84 add CROMITE_PREF_HASH_SEED_BIN to env 2023-07-19 14:41:55 +02:00
Carmelo Messina f021d97b4c add support for custom pref hash seed 2023-07-19 14:36:51 +02:00
Carmelo Messina 8e7624c69c add android keystore support 2023-07-19 14:23:32 +02:00
Carmelo Messina 1b3f3ea7a3 start the unification of repos 2023-07-19 14:09:13 +02:00
uazoandGitHub b5013e0302 Update README.md 2023-07-18 15:18:40 +03:00
Carmelo Messina d72c510955 bring next-v115 to master 2023-07-18 14:15:43 +02:00
Carmelo Messina ce2f07034a fix undefined symbol: SafetyTipMessageDelegate::SafetyTipMessageDelegate() 2021-08-08 10:12:09 +02:00
Carmelo Messina 4f539c6d88 add Fix-build-test-suite.patch 2021-08-05 13:30:21 +02:00
Carmelo Messina 6a384095f7 merge from master 2021-08-05 13:29:38 +02:00
uazoandGitHub 76745fde6e Merge branch 'bromite:master' into master 2021-07-28 11:28:17 +02:00
uazoandGitHub aa131bcbb6 Merge branch 'bromite:master' into master 2021-07-26 14:14:09 +02:00
uazoandGitHub 983523b3c0 moved to builtools 2021-07-11 13:47:26 +02:00
uazoandGitHub c43e2a01ba Update build.yaml 2021-07-11 12:13:40 +02:00
uazoandGitHub 2e1849a8e3 Merge branch 'bromite:master' into master 2021-07-11 12:07:14 +02:00
uazoandGitHub 0572d22b19 Update build.yaml 2021-07-10 17:09:35 +02:00
uazoandGitHub a097c283b2 Update build.yaml 2021-07-10 16:16:24 +02:00
uazoandGitHub 1aac2aa89e Update build.yaml 2021-07-10 15:55:00 +02:00
uazoandGitHub 6c4dcb3165 Update build.yaml 2021-07-10 15:43:01 +02:00
uazoandGitHub 52ad246c7b Update build.yaml 2021-07-10 14:26:57 +02:00
uazoandGitHub 37cedae584 Update build.yaml 2021-07-10 10:46:13 +02:00
uazoandGitHub b499f8e044 Update build.yaml 2021-07-10 10:27:04 +02:00
uazoandGitHub 7934f4dd7f Update build.yaml 2021-07-10 10:05:55 +02:00
uazoandGitHub 2e63b5acf2 Update build.yaml 2021-07-10 09:58:29 +02:00
uazoandGitHub 323b38a1f5 Update build.yaml 2021-07-10 09:57:43 +02:00
uazoandGitHub 7347ab2e49 Update build.yaml 2021-07-10 09:56:42 +02:00
uazoandGitHub 6203979649 Update build.yaml 2021-07-10 09:56:02 +02:00
uazoandGitHub e239ca886b Update build.yaml 2021-07-10 09:55:44 +02:00
uazoandGitHub 99b2e4120d Update build.yaml 2021-07-10 09:37:31 +02:00
uazoandGitHub e94f1e0f76 Update build.yaml 2021-07-10 09:32:28 +02:00
uazoandGitHub 18218f7d64 Update build.yaml 2021-07-10 09:31:47 +02:00
uazoandGitHub 60b8f14101 Update build.yaml 2021-07-10 09:29:33 +02:00
uazoandGitHub 9109417e41 Update build.yaml 2021-07-10 07:33:20 +02:00
uazoandGitHub 3fad173da8 Update build.yaml 2021-07-08 18:22:56 +02:00
uazoandGitHub b5a3ab4891 Update build.yaml 2021-07-08 18:18:43 +02:00
uazoandGitHub 5c4e21e320 Update build.yaml 2021-07-08 18:15:27 +02:00
uazoandGitHub 1496282e28 Update build.yaml 2021-07-07 15:45:59 +02:00
uazoandGitHub fdfd2f9b74 Update build.yaml 2021-07-07 15:33:08 +02:00
uazoandGitHub 256a5203d8 Update build.yaml 2021-07-07 15:29:57 +02:00
uazoandGitHub 893864326f Update build.yaml 2021-07-07 15:27:59 +02:00
uazoandGitHub 3b806bc9c1 Update build.yaml 2021-07-07 15:26:37 +02:00
uazoandGitHub 988725ff45 Update build.yaml 2021-07-07 13:28:49 +02:00
uazoandGitHub dcb8203bde Update build.yaml 2021-07-07 13:23:02 +02:00
uazoandGitHub 0637333bc3 Update build.yaml 2021-07-07 13:19:27 +02:00
uazoandGitHub f1949bde26 Update build.yaml 2021-07-07 13:10:58 +02:00
uazoandGitHub cd812a3a61 Update build.yaml 2021-07-07 12:47:18 +02:00
uazoandGitHub 7df41658ca Update build.yaml 2021-07-07 12:42:46 +02:00
uazoandGitHub 00c6265933 Update build.yaml 2021-07-07 12:40:21 +02:00
uazoandGitHub f20dc34505 Merge branch 'bromite:master' into master 2021-07-07 10:45:39 +02:00
uazoandGitHub 5d60aec0aa Update build.yaml 2021-07-06 15:52:17 +02:00
uazoandGitHub 0f4f351950 Update build.yaml 2021-07-06 13:57:51 +02:00
uazoandGitHub 7c3c295130 Update build.yaml 2021-07-06 13:56:18 +02:00
uazoandGitHub 64d39618a8 Create build.yaml 2021-07-06 13:54:48 +02:00
uazoandGitHub 853fb0cabd Update check-space.yml 2021-05-27 16:35:06 +02:00
uazoandGitHub 743932a957 Create check-space.yml 2021-05-27 16:25:45 +02:00
280 changed files with 25685 additions and 2246 deletions
+21 -31
View File
@@ -1,32 +1,32 @@
name: Bug report
description: Create a Bromite bug report
description: Create a Cromite bug report
body:
- type: markdown
attributes:
value: |
Welcome! Thanks for taking the time to submit a bug report.
If this is not a bug about the Bromite browser, or you are looking for a place to ask a question to the community,
then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead.
If this is not a bug about the Cromite browser, or you are looking for a place to ask a question to the community,
then please use the [GitHub Discussions](https://github.com/uazo/cromite/discussions) instead.
Make sure you have acknowledged and completed this template before submitting your issue.
Please read it carefully: incorrect issues will be automatically closed and ignored.
- type: checkboxes
id: preliminary_checklist
attributes:
label: Preliminary checklist
options:
- label: "I have read the [README](https://github.com/bromite/bromite/blob/master/README.md)."
- label: "I have read the [README](https://github.com/uazo/cromite/blob/master/README.md)."
required: true
- label: "I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue."
required: true
- label: "I have read the [FAQs](https://github.com/bromite/bromite/blob/master/FAQ.md)."
- label: "I have read the [FAQs](https://github.com/uazo/cromite/blob/master/FAQ.md)."
required: true
- label: "I have updated Bromite to the latest version. The bug is reproducible on this latest version."
- label: "I have updated Cromite to the latest version. The bug is reproducible on this latest version."
required: true
- label: "This is a bug report about the Bromite browser; not the website nor F-Droid nor anything else."
- label: "This is a bug report about the Cromite browser; not the website nor F-Droid nor anything else."
required: true
- type: dropdown
@@ -34,10 +34,10 @@ body:
attributes:
label: Can the bug be reproduced with corresponding Chromium version?
description: |
Please pick the same version of Chromium as Bromite from here: https://github.com/bromite/chromium/releases
Please pick the same version of Chromium as Cromite
If the bug is reproducible then it might be a configuration issue or an upstream bug. Upstream bugs can be reported on the [Chromium issue tracker](https://bugs.chromium.org/p/chromium/issues/list) and
do not forget to read [Chromium project bug reporting guidelines](https://www.chromium.org/for-testers/bug-reporting-guidelines) first.
If the bug is related to functionality that does not exist in Chromium then answer "No".
multiple: false
options:
@@ -47,10 +47,10 @@ body:
required: true
- type: input
id: bromite_version
id: cromite_version
attributes:
label: Bromite version
description: What version of Bromite are you using? Please specify a single version e.g. `96.0.4664.1` not `latest`. If this is not the latest version then please update and retry before submitting this bug report.
label: Cromite version
description: What version of Cromite are you using? Please specify a single version e.g. `96.0.4664.1` not `latest`. If this is not the latest version then please update and retry before submitting this bug report.
validations:
required: true
@@ -76,6 +76,8 @@ body:
multiple: false
description: What version of Android are you running?
options:
- 14
- 13
- 12.1
- 12.0
- 11
@@ -112,24 +114,12 @@ body:
description: |
These are the flags changed under `chrome://flags`.
Report all the flags with non-default configuration (they will be blue-highlighted).
If no flags are changed then write 'no flags changed'.
placeholder: show-overdraw-feedback, enable-parallel-downloading
validations:
required: true
- type: dropdown
id: is_system_webview
attributes:
label: Is this bug about the SystemWebView?
description: Please note that no support for System WebView installation is provided.
multiple: false
options:
- "Yes"
- "No"
validations:
required: true
- type: dropdown
id: is_incognito
attributes:
@@ -162,7 +152,7 @@ body:
2. Yes, I have attached the crash report dump that I downloaded from `chrome://crashes`
3. Yes, I have copy/pasted the crash dump
placeholder: |
Drag the crash report dump here to attach it or paste the logcat dump individuated with `adb logcat | grep -E '( cr_|bromite|chromium)'`.
Drag the crash report dump here to attach it or paste the logcat dump individuated with `adb logcat | grep -E '( cr_|cromite|chromium)'`.
validations:
required: true
@@ -180,7 +170,7 @@ body:
label: Steps to reproduce the bug
description: |
Explain how to cause the bug as clearly as possible. Bugs that are not reproducible cannot be investigated.
Also, do not write "any website": please specify which URLs can be used to reproduce the issue.
placeholder: |
Steps to reproduce the bug (e.g.):
+11 -11
View File
@@ -1,18 +1,18 @@
name: Feature request
description: Create a Bromite feature request
description: Create a Cromite feature request
body:
- type: markdown
attributes:
value: |
Welcome! Thanks for taking time to submit a feature request.
If this is not a feature request about the Bromite browser, or you are looking for a place
to ask a question to the community then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead.
If this is not a feature request about the Cromite browser, or you are looking for a place
to ask a question to the community then please use the [GitHub Discussions](https://github.com/uazo/cromite/discussions) instead.
Make sure you have acknowledged and completed this template before submitting your issue.
Please read it carefully: incorrect issues will be automatically closed and ignored.
Note:
- Features unrelated to privacy will not be considered.
- Do not ask "I would like feature X which is available in browser Y."
@@ -22,13 +22,13 @@ body:
attributes:
label: Preliminary checklist
options:
- label: "I have read the [README](https://github.com/bromite/bromite/blob/master/README.md)"
- label: "I have read the [README](https://github.com/uazo/cromite/blob/master/README.md)"
required: true
- label: "I have read the [FAQs](https://github.com/bromite/bromite/blob/master/FAQ.md)."
- label: "I have read the [FAQs](https://github.com/uazo/cromite/blob/master/FAQ.md)."
required: true
- label: "I have searched [existing issues](https://github.com/bromite/bromite/issues) for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue."
- label: "I have searched [existing issues](https://github.com/uazo/cromite/issues) for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue."
required: true
- label: "This is a feature request for the Bromite browser; not the website nor F-Droid nor anything else."
- label: "This is a feature request for the Cromite browser; not the website nor F-Droid nor anything else."
required: true
- type: dropdown
+113
View File
@@ -0,0 +1,113 @@
permissions:
actions: none
checks: none
contents: none
deployments: none
issues: write
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
on:
workflow_dispatch:
inputs:
version:
description: 'chromium version'
required: false
default: ''
schedule:
- cron: '0 1 * * *'
env:
VERSION: ${{ github.event.inputs.version }}
NEW_VERSION: ${{ null }}
name: Builds and pushes tagged image to DockerHub
jobs:
generate_build_deps:
name: Generate Build Deps
runs-on: ubuntu-latest
steps:
- name: Reclaiming disk space on / by removing dotnet/android/ghc
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
sudo apt-get remove google-cloud-sdk azure-cli google-chrome-stable \
firefox mysql-server-core-8.0 mono-devel podman \
powershell
sudo apt-get autoremove
- name: Checkout repo
uses: actions/checkout@v2
with:
path: cromite
fetch-depth: 1
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Check versions
shell: bash
run: |
if [ -z $VERSION ]; then
VERSION=$(curl -s https://omahaproxy.appspot.com/all.json | jq '.[] | select(.os | contains("win64")) | .versions[] | select(.channel | contains("stable")) | .current_version' | xargs)
echo "VERSION=$VERSION" >> $GITHUB_ENV
fi
- name: Building build-deps container ${{ env.VERSION }}
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/build-deps:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
IS_PRESENT=$(docker manifest inspect uazo/build-deps:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
DOCKER_BUILDKIT=1 docker build -t uazo/build-deps:$VERSION \
--progress plain \
--build-arg VERSION=$VERSION \
--build-arg HTTP_PROXY="$PROXY_ADDR" \
--no-cache \
cromite/tools/images/build-deps/.
docker push uazo/build-deps:$VERSION
echo "NEW_VERSION=$VERSION" >> $GITHUB_ENV
fi
fi
- name: Building chromium container ${{ env.VERSION }}
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/chromium:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
IS_PRESENT=$(docker manifest inspect uazo/chromium:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
DOCKER_BUILDKIT=1 docker build -t uazo/chromium:$VERSION \
--progress plain \
--build-arg VERSION=$VERSION \
--build-arg HTTP_PROXY="$PROXY_ADDR" \
cromite/tools/images/chr-source/.
docker push uazo/chromium:$VERSION
echo "NEW_VERSION=$VERSION" >> $GITHUB_ENV
fi
fi
- name: Create issue ${{ env.VERSION }}
if: "${{ env.NEW_VERSION != '' }}"
shell: bash
run: |
GH=../../gh_2.18.1_linux_amd64/bin/gh
wget https://github.com/cli/cli/releases/download/v2.18.1/gh_2.18.1_linux_amd64.tar.gz
tar xfz gh_2.18.1_linux_amd64.tar.gz
cd cromite/tools
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
$GH issue create -t "$VERSION: new chromium version" -b ""
+350
View File
@@ -0,0 +1,350 @@
name: Build Cromite
permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
on:
workflow_dispatch:
inputs:
sha:
description: 'uazo/cromite SHA'
required: true
default: ''
target_os:
description: 'targetos [android/win/all]'
required: true
default: 'all'
build:
description: 'android arch [arm64/x64/all]'
required: true
default: 'all'
type:
description: 'runner? [dev/ci]'
required: true
default: 'ci'
debug:
description: 'debug? [true/false]'
required: true
default: 'false'
clangd:
description: 'clangd? [true/false]'
required: true
default: 'false'
env:
BROMITE_SHA: ${{ github.event.inputs.sha }}
REMOVEDOCKERSUPPORT: true
USELOCALIMAGE: true
jobs:
check_images:
runs-on: ${{ github.event.inputs.type }}
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
path: cromite
ref: ${{ github.event.inputs.sha }}
fetch-depth: 1
- name: Enable proxy on container
shell: bash
run: |
if ! [[ -z "${HTTP_PROXY}" ]]; then
PROXY_ADDR=http://$(hostname -I | cut -d' ' -f1 | xargs):8118
echo "PROXY_ADDR=$PROXY_ADDR" >> $GITHUB_ENV
sudo iptables -D INPUT -p tcp -s localhost --dport 8118 -j ACCEPT
sudo iptables -D INPUT -p tcp --dport 8118 -j DROP
fi
- name: Get current chromium version
shell: bash
run: |
export VERSION=$( cat ./cromite/build/RELEASE )
rm -rf bromite
echo Current version is $VERSION
echo "VERSION=$VERSION" >> $GITHUB_ENV
cd cromite/tools
- name: Building build-deps container ${{ env.VERSION }}
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/build-deps:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
IS_PRESENT=$(docker manifest inspect uazo/build-deps:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
DOCKER_BUILDKIT=1 docker build -t uazo/build-deps:$VERSION \
--progress plain \
--build-arg VERSION=$VERSION \
--build-arg HTTP_PROXY="$PROXY_ADDR" \
--no-cache \
cromite/tools/images/build-deps/.
fi
fi
- name: Building chromium container ${{ env.VERSION }}
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/chromium:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
IS_PRESENT=$(docker manifest inspect uazo/chromium:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
DOCKER_BUILDKIT=1 docker build -t uazo/chromium:$VERSION \
--progress plain \
--build-arg VERSION=$VERSION \
--build-arg HTTP_PROXY="$PROXY_ADDR" \
cromite/tools/images/chr-source/.
fi
fi
- name: Building cromite container ${{ env.VERSION }}-${{ env.BROMITE_SHA }}
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/cromite:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
IS_PRESENT=$(docker manifest inspect uazo/cromite:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
DOCKER_BUILDKIT=1 docker build -t uazo/cromite:$VERSION-$BROMITE_SHA --progress plain \
--build-arg BROMITE_SHA=$BROMITE_SHA \
--build-arg VERSION=$VERSION \
--build-arg HTTP_PROXY="$PROXY_ADDR" \
cromite/tools/images/bromite-source/.
fi
fi
- name: Building cromite-build container ${{ env.VERSION }}-${{ env.BROMITE_SHA }}
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/cromite-build:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
IS_PRESENT=$(docker manifest inspect uazo/cromite-build:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
DOCKER_BUILDKIT=1 docker build -t uazo/cromite-build:$VERSION-$BROMITE_SHA --progress plain \
--build-arg BROMITE_SHA=$BROMITE_SHA \
--build-arg VERSION=$VERSION \
--build-arg HTTP_PROXY="$PROXY_ADDR" \
--no-cache \
cromite/tools/images/bromite-build/.
fi
fi
- name: Mark image to build
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/cromite-build:build > /dev/null ; echo $?)
if [ $IS_PRESENT -eq "0" ]; then
docker rmi uazo/cromite-build:build
fi
docker tag uazo/cromite-build:$VERSION-$BROMITE_SHA uazo/cromite-build:build
build:
runs-on: ${{ github.event.inputs.type }}
needs: check_images
if: success()
timeout-minutes: 1200
container:
image: uazo/cromite-build:build
env:
REMOVEDOCKERSUPPORT: true # CUSTOM RUNNER: remove sharing of docker socket
USELOCALIMAGE: true # CUSTOM RUNNER: permit use of local images
USEINTERNALNETWORK: true # CUSTOM RUNNER: create the docker network as internal
WORKSPACE: /home/lg/working_dir
# kythe
KYTHE_CORPUS: chromium.googlesource.com/chromium/src
KYTHE_ROOT_DIRECTORY: /home/lg/working_dir/chromium/src
KYTHE_OUTPUT_DIRECTORY: /home/lg/working_dir/chromium/src/out/bromite/kythe
# cross build
DEPOT_TOOLS_WIN_TOOLCHAIN_BASE_URL: /win_sdk/10.0.22621.0/
WINDOWSSDKDIR: "/win_sdk/10.0.22621.0/Windows Kits/10/"
GYP_MSVS_OVERRIDE_PATH: /win_sdk/10.0.22621.0/
# compile in debug mode
TARGET_ISDEBUG: ${{ github.event.inputs.debug }}
TARGET_OS: ${{ github.event.inputs.target_os }}
USE_KEYSTORE: true
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
CROMITE_PREF_HASH_SEED_BIN: ${{ secrets.CROMITE_PREF_HASH_SEED_BIN }}
volumes:
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/arm64:/home/lg/working_dir/chromium/src/out/bromite
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/x64:/home/lg/working_dir/chromium/src/out/bromite_x64
- /storage/images/${{ github.event.inputs.sha }}/win/x64:/home/lg/working_dir/chromium/src/out/bromite_win
- /tmp/proxy:/tmp/proxy
- /win_sdk:/win_sdk
steps:
- name: Prepare Build Container
shell: bash
run: |
# set workspace paths
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE
# reset proxy env
HTTP_PROXY=
HTTPS_PROXY=
http_proxy=
https_proxy=
# set out folder permissions
test -d chromium/src/out/bromite || sudo mkdir -p chromium/src/out/bromite && \
sudo chown lg chromium/src/out &&
sudo chown lg chromium/src/out/bromite
test -d chromium/src/out/bromite_win || sudo mkdir -p chromium/src/out/bromite_win && \
sudo chown lg chromium/src/out &&
sudo chown lg chromium/src/out/bromite_win
test -d chromium/src/out/bromite_x64 || sudo mkdir -p chromium/src/out/bromite_x64 && \
sudo chown lg chromium/src/out &&
sudo chown lg chromium/src/out/bromite_x64
# make kythe output directory
test -d $KYTHE_OUTPUT_DIRECTORY || mkdir -p $KYTHE_OUTPUT_DIRECTORY
sudo mkdir -p /run/user/1000/
sudo chown lg /run/user/1000/
sudo chmod g-rxw /run/user/1000/
sudo chmod o-rxw /run/user/1000/
# prepare keystore
echo "::group::-------- prepare keystore"
cd $WORKSPACE
echo "${{ secrets.KEYSTORE }}" > cromite.keystore.asc
gpg --homedir ./ -d --passphrase "${{ secrets.KEYSTORE_PASSPHRASE }}" --batch cromite.keystore.asc > cromite.keystore
echo "::endgroup::"
- name: Build Bromite Android arm64
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm64' || github.event.inputs.build == 'all') }}
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
echo "::group::-------- gn gen"
gn gen --args="import(\"/home/lg/working_dir/bromite/build/bromite.gn_args\") $(cat ../../build_args.gni) target_cpu = \"arm64\" " out/bromite
echo "::endgroup::"
echo "::group::-------- gn args"
gn args out/bromite/ --list --short
gn args out/bromite/ --list >out/bromite/gn_list
echo "::endgroup::"
autoninja -C out/bromite chrome_public_apk
cp ../../bromite/build/RELEASE out/bromite
- name: Get ninja logs Android arm64
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm64' || github.event.inputs.build == 'all') }}
shell: bash
run: |
cd $WORKSPACE
$WORKSPACE/ninjatracing/ninjatracing $WORKSPACE/chromium/src/out/bromite/.ninja_log >$WORKSPACE/chromium/src/out/bromite/ninja_log_trace.json
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/bromite/ninja_log_trace.json
- name: Build Bromite Windows
if: ${{ github.event.inputs.target_os == 'win' || github.event.inputs.target_os == 'all' }}
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
echo "::group::-------- gn gen"
gn gen --args="import(\"/home/lg/working_dir/bromite/build/bromite.gn_args\") target_os = \"win\" $(cat ../../build_args.gni) target_cpu = \"x64\" " out/bromite_win
echo "::endgroup::"
echo "::group::-------- gn args"
gn args out/bromite_win/ --list --short
gn args out/bromite_win/ --list >out/bromite_win/gn_list
echo "::endgroup::"
autoninja -C out/bromite_win chrome
cp ../../bromite/build/RELEASE out/bromite_win
- name: Get ninja logs Windows
if: ${{ github.event.inputs.target_os == 'win' || github.event.inputs.target_os == 'all' }}
shell: bash
run: |
cd $WORKSPACE
$WORKSPACE/ninjatracing/ninjatracing $WORKSPACE/chromium/src/out/bromite_win/.ninja_log >$WORKSPACE/chromium/src/out/bromite_win/ninja_log_trace.json
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/bromite_win/ninja_log_trace.json
- name: Build Bromite Android x64
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'x64' || github.event.inputs.build == 'all') }}
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
echo "::group::-------- gn gen"
gn gen --args="import(\"/home/lg/working_dir/bromite/build/bromite.gn_args\") $(cat ../../build_args.gni) target_cpu = \"x64\" " out/bromite_x64
echo "::endgroup::"
echo "::group::-------- gn args"
gn args out/bromite_x64/ --list --short
gn args out/bromite_x64/ --list >out/bromite_x64/gn_list
echo "::endgroup::"
autoninja -C out/bromite_x64 chrome_public_apk
cp ../../bromite/build/RELEASE out/bromite_x64
- name: Get ninja logs Android x64
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'x64' || github.event.inputs.build == 'all') }}
shell: bash
run: |
cd $WORKSPACE
$WORKSPACE/ninjatracing/ninjatracing $WORKSPACE/chromium/src/out/bromite_x64/.ninja_log >$WORKSPACE/chromium/src/out/bromite_x64/ninja_log_trace.json
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/bromite_x64/ninja_log_trace.json
- name: Generate breakpad symbols arm64
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm64' || github.event.inputs.build == 'all') }}
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
echo "::group::-------- generating breakpad symbols"
autoninja -C out/bromite minidump_stackwalk dump_syms
components/crash/content/tools/generate_breakpad_symbols.py --build-dir=out/bromite \
--symbols-dir=out/bromite/symbols/ --binary=out/bromite/lib.unstripped/libchrome.so \
--platform=android --clear --verbose
cp out/bromite/lib.unstripped/libchrome.so out/bromite/symbols/libchrome.lib.so
cp out/bromite/minidump_stackwalk out/bromite/symbols
cp out/bromite/dump_syms out/bromite/symbols
echo "::endgroup::"
- name: Generate Supersize data
if: ${{ github.event.inputs.debug == 'false' && (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm64' || github.event.inputs.build == 'all') }}
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
tools/binary_size/supersize archive out/bromite/chrome.size --apk-file out/bromite/apks/ChromePublic.apk -v
- name: Generate clangd index
if: ${{ github.event.inputs.clangd == 'true' }}
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
test -f out/bromite/bromite.idx || \
cp -r out/bromite out/clangd && \
gn gen --args="import(\"/home/lg/working_dir/bromite/build/bromite.gn_args\") $(cat ../../build_args.gni) skip_clangd_unsupported_options = true" out/clangd && \
$WORKSPACE/ninja/ninja -C $WORKSPACE/chromium/src/out/clangd -a chrome_public_apk \
-t compdb cc cxx objc objcxx >$WORKSPACE/chromium/src/out/clangd/compile_commands.json && \
/home/lg/working_dir/clangd_snapshot_20211205/bin/clangd-indexer --executor=all-TUs out/clangd/compile_commands.json >out/bromite/bromite.idx && \
rm -rf out/clangd
+155
View File
@@ -0,0 +1,155 @@
name: Check git apply
permissions:
# actions: none
# checks: none
# contents: write
# deployments: none
# issues: none
# packages: none
pull-requests: write
# repository-projects: none
# security-events: none
# statuses: none
on:
push:
branches-ignore:
- 'ci'
paths:
- 'build/**'
workflow_dispatch:
inputs:
rtag:
description: 'uazo/cromite TAG or COMMIT'
required: true
default: ''
env:
RTAG: ${{ github.event.inputs.rtag }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: "Get value from dispatch"
run: |
if [ -z "${RTAG}" ]; then
echo "RTAG=$GITHUB_SHA" >> $GITHUB_ENV
echo "RTAG=$RTAG"
fi
- name: Prepare container
run: |
sudo apt update
sudo apt install -y wget unzip tar sed dos2unix patchutils wiggle curl
wget https://github.com/uazo/superpatch/releases/latest/download/SuperPatchUtils.tar.gz
tar xfz SuperPatchUtils.tar.gz
rm SuperPatchUtils.tar.gz
wget https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip
unzip pup_v0.4.0_linux_amd64.zip
rm pup_v0.4.0_linux_amd64.zip
BRANCH=$(curl https://github.com/uazo/cromite/branch_commits/$RTAG | ./pup -p li.branch:last-child a text{})
if [ -z "${BRANCH}" ]; then
BRANCH=$(curl https://github.com/uazo/cromite/branch_commits/$RTAG a | ./pup -p li.branch:first-child a text{})
fi
if [ -z "${BRANCH}" ]; then
echo "Can not recover the base commit"
exit 1
fi
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
- name: Checkout 'uazo/cromite' ${{ env.BRANCH }}
uses: actions/checkout@v2
with:
repository: 'uazo/cromite'
ref: ${{ github.event.inputs.rtag }}
path: 'cromite'
fetch-depth: 1
- name: Check chromium version
run: |
export HOME=$GITHUB_WORKSPACE
VERSION=$(cat ~/cromite/build/RELEASE)
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Cache chromium sources
uses: actions/cache@v3
with:
path: chromium-src
key: chrsource-${{ env.VERSION }}
- name: Download chromium ${{ env.VERSION }} sources
run: |
export HOME=$GITHUB_WORKSPACE
./bin/SuperPatchUtils bromite $RTAG ~/chromium-src
mkdir -p ~/chromium/src && cp -rT ~/chromium-src ~/chromium/src
cd ~/chromium/src
git init
git config user.email "you@example.com"
git config user.name "Your Name"
git add .
git commit -m $VERSION
git tag -a $VERSION -m $VERSION
git add -f v8
git commit -m ":NOEXPORT: v8"
- name: Apply patches ${{ github.event.inputs.rtag }}
run: |
export HOME=$GITHUB_WORKSPACE
cd ~/chromium/src
export SILENT=true
export SKIPAUTOGENERATED=true
bash ~/cromite/tools/apply-all-patch.sh || exit 1
rm -rf ~/cromite/build/patches-new/
rm ~/cromite/build/bromite_patches_list_new.txt
- name: Export patches
run: |
export HOME=$GITHUB_WORKSPACE
cd ~/chromium/src
bash ~/cromite/tools/export-all-patch.sh
cd ~/cromite
rm -rf build/patches/*
mv build/patches-new/* build/patches
rm -rf build/patches-new/
- name: Check differences CHANGES=${{ env.CHANGES }}
run: |
export HOME=$GITHUB_WORKSPACE
cd ~/cromite
CHANGES=0 && git diff --quiet || CHANGES=1
echo "CHANGES=$CHANGES" >> $GITHUB_ENV
if [[ CHANGES -eq 1 ]]; then
git add build/patches/*.patch
git diff --name-only --staged
# MESSAGE=$(git diff --name-only --staged)
# echo "MESSAGE='$MESSAGE'" >> $GITHUB_ENV
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a #v3.12.0
if: env.CHANGES == '1'
with:
token: ${{ secrets.CROMITE_PULLS }}
path: cromite
base: ${{ env.BRANCH }}
#push-to-fork: uazo/cromite
add-paths: |
build/patches/*.patch
commit-message: 'AUTOMATED - git apply results'
title: Git apply result for ${{ env.BRANCH }} branch
body: ${{ env.MESSAGE }}
delete-branch: true
branch-suffix: short-commit-hash
+130
View File
@@ -0,0 +1,130 @@
name: Execute Tests
permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
on:
workflow_dispatch:
inputs:
sha:
description: 'uazo/bromite SHA'
required: true
default: 'ce2f07034a3d3b257e9bada65d8293a6786bb95f'
env:
BROMITE_SHA: ${{ github.event.inputs.sha }}
REMOVEDOCKERSUPPORT: true
USELOCALIMAGE: true
jobs:
get_image:
runs-on: self-hosted
steps:
- name: Mark image to test
shell: bash
run: |
docker tag uazo/bromite-build:$BROMITE_SHA uazo/bromite-build:test
exec-test:
runs-on: self-hosted
needs: get_image
if: success()
container:
image: uazo/bromite-build:test
env:
REMOVEDOCKERSUPPORT: true # CUSTOM RUNNER: remove sharing of docker socket
USELOCALIMAGE: true # CUSTOM RUNNER: permit use of local images
USEINTERNALNETWORK: true # CUSTOM RUNNER: create the docker network as internal
WORKSPACE: /home/lg/working_dir
ARTIFACS_DIR: /home/lg/working_dir/artifacs
volumes:
- /storage/images/${{ github.event.inputs.sha }}/out:/home/lg/working_dir/chromium/src/out/bromite:r
- /storage/images/${{ github.event.inputs.sha }}/out/tests:/home/lg/working_dir/chromium/src/out/tests
options: --device=/dev/kvm
steps:
- name: Prepare Test Container
shell: bash
run: |
# set workspace paths
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE
# copy artifacts
#cd chromium/src
#mkdir -p out/bromite
#cp -arp $ARTIFACS_DIR/out/* out/bromite
rm -rf out/tests/*
#mkdir -p out/tests
# reset proxy env
#HTTP_PROXY=
#HTTPS_PROXY=
#http_proxy=
#https_proxy=
# - name: Wait forever
# shell: bash
# run: |
# sleep infinity
- name: Execute chrome junit test
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
out/bromite/bin/run_chrome_junit_tests --gtest_filter=*Bromite* || KO=1
- name: Start Android Emulator
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
sudo mkdir -p /github/home/.android
sudo chmod 666 /github/home/.android/
tools/android/avd/avd.py install --avd-config ../../generic_android31.textpb -v
tools/android/avd/avd.py start --avd-config ../../generic_android31.textpb -v
- name: Execute unit tests
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
out/bromite/unit_tests -v --fast-local-dev --gtest_filter=*Bromite* || KO=1
- name: Restart Android Emulator
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
pkill -f qemu-system-x86
tools/android/avd/avd.py start --avd-config ../../generic_android31.textpb -v
- name: Execute instrumentation tests
shell: bash
run: |
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
cd $WORKSPACE/chromium/src
out/bromite/bin/run_chrome_public_test_apk -v --num-retries=1 --gtest_filter=*Bromite* || KO=1
#- name: Wait forever
# shell: bash
# run: |
# sleep infinity
- name: Copy results
shell: bash
run: |
sudo cp -r $WORKSPACE/chromium/src/out/bromite/TEST_RESULTS* $WORKSPACE/chromium/src/out/tests/
+148
View File
@@ -0,0 +1,148 @@
name: Release Cromite CI
permissions:
contents: write
on:
workflow_dispatch:
inputs:
sha:
description: 'uazo/cromite SHA'
required: true
default: ''
type:
description: 'runner? [dev/ci]'
required: true
default: 'ci'
env:
BROMITE_SHA: ${{ github.event.inputs.sha }}
REMOVEDOCKERSUPPORT: true
USELOCALIMAGE: true
jobs:
release:
runs-on: ${{ github.event.inputs.type }}
env:
OUTPUTFILE_ARM64: /storage/images/${{ github.event.inputs.sha }}/android/false/arm64/
OUTPUTFILE_X64: /storage/images/${{ github.event.inputs.sha }}/android/false/x64/
steps:
- name: Prepare container
run: |
wget https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip
unzip pup_v0.4.0_linux_amd64.zip && rm pup_v0.4.0_linux_amd64.zip
BRANCH=$(curl https://github.com/uazo/cromite/branch_commits/$BROMITE_SHA | ./pup -p li.branch:last-child a text{} | xargs)
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
wget https://github.com/cli/cli/releases/download/v2.18.1/gh_2.18.1_linux_amd64.tar.gz
tar xfz gh_2.18.1_linux_amd64.tar.gz
- name: Checkout 'uazo/cromite'
uses: actions/checkout@v2
with:
repository: 'uazo/cromite'
path: 'cromite'
fetch-depth: 1
- name: Create release
shell: bash
run: |
WINOUT=/storage/images/$BROMITE_SHA/win/x64/
VERSION=v$(cat ${{ env.OUTPUTFILE_ARM64 }}/RELEASE)
cd cromite/tools
GH=gh_2.21.1_linux_amd64/bin/gh
wget https://github.com/cli/cli/releases/download/v2.21.1/gh_2.21.1_linux_amd64.tar.gz
tar xfz gh_2.21.1_linux_amd64.tar.gz
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
echo "\`\`\`" >note
# echo "this is not the official release of bromite but a test version." >>note
# echo "you can try it at your own risk." >>note
echo "\`\`\`" >>note
$GH release create $VERSION-$BROMITE_SHA --notes-file note -d
# android arm64
echo "::group::-------- android arm64"
sudo cp ${{ env.OUTPUTFILE_ARM64 }}/apks/ChromePublic.apk arm64_ChromePublic.apk
sudo chown runner arm64_ChromePublic.apk
echo Uploading arm64_ChromePublic
$GH release upload $VERSION-$BROMITE_SHA arm64_ChromePublic.apk
echo "::endgroup::"
# android x64
echo "::group::-------- android x64"
sudo cp ${{ env.OUTPUTFILE_X64 }}/apks/ChromePublic.apk x64_ChromePublic.apk
sudo chown runner x64_ChromePublic.apk
echo Uploading x64_ChromePublic
$GH release upload $VERSION-$BROMITE_SHA x64_ChromePublic.apk
echo "::endgroup::"
echo "::group::-------- chrome.size"
test $VERSION-$BROMITE_SHA $OUTPUTFILE_ARM64/chrome.size && \
$GH release upload $VERSION-$BROMITE_SHA $OUTPUTFILE_ARM64/chrome.size
echo "::endgroup::"
echo "::group::-------- Uploading arm64_ninja_log_trace.html"
test $OUTPUTFILE_ARM64/ninja_log_trace.html && \
cp $OUTPUTFILE_ARM64/ninja_log_trace.html arm64_ninja_log_trace.html && \
$GH release upload $VERSION-$BROMITE_SHA arm64_ninja_log_trace.html
echo "::endgroup::"
echo "::group::-------- windows"
mkdir chrome-win/
cp $WINOUT/*.manifest chrome-win/
cp $WINOUT/chrome.dll chrome-win/
cp $WINOUT/chrome.exe chrome-win/
cp $WINOUT/chrome_100_percent.pak chrome-win/
cp $WINOUT/chrome_200_percent.pak chrome-win/
cp $WINOUT/chrome_elf.dll chrome-win/
cp $WINOUT/chrome_proxy.exe chrome-win/
cp $WINOUT/chrome_pwa_launcher.exe chrome-win/
cp $WINOUT/chrome_wer.dll chrome-win/
cp "/win_sdk/10.0.22621.0/Windows Kits/10/Redist/D3D/x64/d3dcompiler_47.dll" chrome-win/
cp $WINOUT/elevation_service.exe chrome-win/
cp "$WINOUT/First Run" chrome-win/
cp $WINOUT/headless_lib_data.pak chrome-win/
cp $WINOUT/icudtl.dat chrome-win/
cp $WINOUT/libEGL.dll chrome-win/
cp $WINOUT/libGLESv2.dll chrome-win/
cp $WINOUT/Logo.png chrome-win/
cp $WINOUT/mojo_core.dll chrome-win/
cp $WINOUT/notification_helper.exe chrome-win/
cp $WINOUT/resources.pak chrome-win/
cp $WINOUT/SmallLogo.png chrome-win/
cp $WINOUT/snapshot_blob.bin chrome-win/
cp $WINOUT/VkICD_mock_icd.dll chrome-win/
cp $WINOUT/VkLayer_khronos_validation.dll chrome-win/
cp $WINOUT/vk_swiftshader.dll chrome-win/
cp $WINOUT/vulkan-1.dll chrome-win/
cp -r $WINOUT/locales chrome-win/locales
#test chrome-win.zip && rm chrome-win.zip
zip -r chrome-win.zip chrome-win/
echo Uploading chrome-win.zip
$GH release upload $VERSION-$BROMITE_SHA chrome-win.zip
echo "::endgroup::"
echo "::group::-------- arm64 symbols"
zip arm64_symbols.zip ${{ env.OUTPUTFILE_ARM64 }}/dump_syms \
${{ env.OUTPUTFILE_ARM64 }}/minidump_stackwalk \
${{ env.OUTPUTFILE_ARM64 }}/libchrome.so
$GH release upload $VERSION-$BROMITE_SHA arm64_symbols.zip
echo "::endgroup::"
# workaround for https://github.com/cli/cli/issues/6599
sleep 30s
TIMESTAMP=$(date +%s -r chrome-win.zip)
echo >updateurl.txt "browser=chromium;os=windows;architecture=64-bit;timestamp=$TIMESTAMP;editor=uazo;channel=stable;repository=https://github.com/uazo/cromite/releases;download=https://github.com/uazo/cromite/releases/latest/download/chrome-win.zip;version=$(cat $WINOUT/RELEASE);revision=1;commit=$BROMITE_SHA"
$GH release upload $VERSION-$BROMITE_SHA updateurl.txt
$GH release edit $VERSION-$BROMITE_SHA -t $VERSION-$BROMITE_SHA
$GH release edit $VERSION-$BROMITE_SHA --draft=false
+24
View File
@@ -0,0 +1,24 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '30 1 * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v6
with:
exempt-all-milestones: true
any-of-labels: 'awaiting info'
days-before-stale: 5
days-before-close: 7
stale-issue-message: "This issue has been automatically marked as stale as there has been no recent activity in response to our request for more information. Please respond so that we can proceed with this issue."
close-issue-message: "This issue has been automatically closed as sufficient information hasn't been provided on the issue for further actions to be taken. Feel free to add more information."
+1 -2
View File
@@ -2,6 +2,5 @@
# This .gitignore file was automatically created by Microsoft(R) Visual Studio.
################################################################################
/.vs/bromite-uazo/config
/.vs/bromite-uazo/FileContentIndex
/.vs
/temp
+149 -60
View File
@@ -1,18 +1,22 @@
# Bromite - Take back your browser
<a href="https://github.com/bromite/bromite/releases/latest">
<img src="https://www.bromite.org/release.svg" alt="current Bromite release" title="current Bromite release" /> </a>
<a href="https://github.com/bromite/bromite/blob/master/LICENSE">
<img src="https://www.bromite.org/license.svg" alt="GNU GPL v3" title="GNU VPL v3" />
</a> <br>
<a href="https://www.bromite.org">
<img title="Bromite - take back your browser!" src="https://www.bromite.org/android-icon-192x192.png" width="96" alt="Bromite" />
<a href="https://github.com/uazo/cromite/releases/latest">
<img src="https://img.shields.io/github/v/release/uazo/cromite" alt="current Cromite release" title="current Cromite release" />
</a>
<br>
Bromite is a [Chromium](https://www.chromium.org/Home) fork with support for ad blocking and enhanced privacy.
[![Build Cromite](https://github.com/uazo/cromite/actions/workflows/build_cromite.yaml/badge.svg)](https://github.com/uazo/cromite/actions/workflows/build_cromite.yaml)
Bromite is only available for Android Marshmallow (v6.0, API level 23) and above.
# Cromite (a Bromite fork) - Take back your browser
<img src="https://fdroid.bromite.org/fdroid/bromite_bromite_gh_downloads.svg" alt="Downloads on Github" title="Downloads on Github" />
<a href="https://www.cromite.org">
<img title="Cromite - take back your browser!" src="https://www.cromite.org/app_icon.png" width="96" alt="Bromite" />
</a>
<br>
### **** the documentation is a Work in progress (not the browser :) ****
Cromite is a [Chromium](https://www.chromium.org/Home) fork based on [Bromite](https://github.com/bromite/bromite) with built-in support for ad blocking and an eye for privacy.
Cromite is available for Android Marshmallow and above (v6.0, API level 23) and Windows.
For the Frequently Asked Questions see [F.A.Q.](./FAQ.md).
@@ -20,22 +24,17 @@ For documentation see the [wiki](https://github.com/bromite/bromite/wiki).
# Goals
Bromite aims at providing a no-clutter browsing experience without privacy-invasive features and with the addition of a fast ad-blocking engine.
Minimal UI changes are applied to help curbing the idea of "browser as an advertisement platform".
Cromite's goal is to
- limit the features built into the browser that can be used as a platform for tracking users' habits, and, if it is not technically possible, disable them and leave it up to the user to choose whether to re-enable them
- limit the close integration between the browser and its manufacturer
- not let the excellent research work done by csagan5 with Bromite be lost
# Donate
Please donate to support development of Bromite and the costs for the build system.
[&rarr; Support development with a donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JP3XTQPVRNET2): [![paypal](https://www.bromite.org/assets/img/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JP3XTQPVRNET2)
<a href="bitcoin:bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw">BTC donations address</a>: `bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw`
ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
In addition, Cromite would like to promote greater integration with other non-profit, open source browsers, encouraging closer collaboration with others, and attempt to integrate them directly into Chromium once they have reached an appropriate level of maturity.
# Features
* customizable adblock filters via user-provided URL (see https://www.bromite.org/custom-filters)
#### Derived from Bromite
* customizable adblock filters via user-provided URL (see https://www.bromite.org/custom-filters) (deprecated, replaced by adblock plus)
* automatically updated adblock filters
* remove click-tracking and AMP from search results
* DNS-over-HTTPS support with any valid IETF DoH endpoint
@@ -44,20 +43,18 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
* disable smart search by default, allow web search from incognito mode
* always-visible cookies, javascript and ads site settings from address bar popup
* remove Play integration binary blobs
* use [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) on all architectures except x86
* use [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) on all architectures except x86 and Windows
* enable trivial auto var init
* disable media router and remoting by default
* disable dynamic module loading
* show warnings for TLSv1.0/TLSv1.1 pages
* enable site-per-process isolation for all devices with memory > 1GB
* completely remove safe browsing and other privacy-unfriendly features
* [proxy configuration page](https://github.com/bromite/bromite/wiki/ProxyConfiguration) with PAC and custom proxy lists support
* settings to disable custom intents and clear session on exit
* flags to toggle anti-fingerprinting mitigations for canvas, audio, client rects, webGL and sensor APIs (see full list below for all the new flags)
* use frozen User-Agent to conceal real model and browser version
* privacy enhancement patches from [Iridium](https://iridiumbrowser.de/), [Inox patchset](https://github.com/gcarq/inox-patchset), [Brave](https://brave.com/) and [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) projects
* security enhancement patches from [GrapheneOS](https://github.com/GrapheneOS) project
* disable scroll-to-text-fragment
* reduced referer granularity
* block gateway attacks via websockets (partial fix, see [this upstream issue](https://bugs.chromium.org/p/chromium/issues/detail?id=590714))
* use 64-bit ABI for webview processes
@@ -85,10 +82,78 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
* disable idle detection
* HTTPS-only mode enabled by default
* disable TLS resumption by default
* partition DoH requests by top-frame NIK
* strict site isolation and strict origin isolation
* partition blobs by top frame URL
#### Cromite-specific features
* Built-in Adblock Plus [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Eyeo-Adblock-Remove-Privacy-Issues.patch) (issue [84](https://github.com/uazo/bromite-buildtools/issues/84))
* policy browser patch for the use of enterprise policy [patch](https://github.com/uazo/bromite/blob/master/build/patches/00add-browser-policy.patch) (issue [191](https://github.com/uazo/bromite-buildtools/issues/191))
- deactivate safe browsing and extended reporting
- disabled scroll-to-text-fragment
- disabled contextual search
- disabled media router
- disabled url keyed anonymized data collection
- disabled translate
- disabled network prediction
- disabled sign-in
- disabled google search side panel
- disabled automatic https upgrades
* internal firewall to block all unauthorised calls made from the browser [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Internal-firewall.patch) (issue [147](https://github.com/uazo/bromite-buildtools/issues/147))
* show warnings on downloads over HTTP [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Show-warnings-on-downloads-over-HTTP.patch)
* lock profile cookie database [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Lock-Profile-Cookie-Database.patch)
* remove support for device memory and cpu recovery [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Remove-support-for-device-memory-and-cpu-recovery.patch)
* disable speechSynthesis getVoices API [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-speechSynthesis-getVoices-API.patch)
* viewport Protection patch [patch](https://github.com/uazo/bromite/blob/master/build/patches/Viewport-Protection-flag.patch)
* deprecate Data URL in SVGUseElement [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Deprecate-Data-URL-in-SVGUseElement.patch)
* disallow Android App Scheme as referrer [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disallow-Android-App-Scheme-as-referrer.patch)
* disable Compression Dictionary Transport [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-Compression-Dictionary-Transport.patch)
* disable PrivateStateTokens API [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-PrivateStateTokens-API.patch)
* disable GSA by default [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-GSA-by-default.patch)
* disable GetInstalledRelatedApps API [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-GetInstalledRelatedApps-API.patch)
* disable FirstPartySets and StorageAccessAPI [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-FirstPartySets-and-StorageAccessAPI.patch)
* disable WebGPU [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-WebGPU.patch)
* disable GamePad API [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Add-a-flag-to-disable-GamePad-API.patch)
* remove external https connection from chrome://discards [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Remove-https-connection-from-chrome-discards.patch)
* links the use of screen.isExtended to WINDOW_MANAGEMENT permission granted by user [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Multi-Screen-Window-Placement-API-fix.patch)
* clear CORS Preflight Cache on clearing data [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Clear-CORS-Preflight-Cache-on-clearing-data.patch)
* remove auth header upon cross origin redirect [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Remove-auth-header-upon-cross-origin-redirect.patch)
* disable SHA1 Server Signature [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-SHA1-Server-Signature.patch)
* remove detection of captive portals [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Remove-detection-of-captive-portals.patch)
* disable devtools remote and custom protocols [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-devtools-remote-and-custom-protocols.patch)
* enable Document Open Inheritance Removal [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Enable-Document-Open-Inheritance-Removal.patch)
* warning message for unsupported hardware aes [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Warning-message-for-unsupported-hardware-aes.patch)
* partition HSTS cache by NAK [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Partition-HSTS-cache-by-NAK.patch)
* disable password leak detector [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-privacy-issues-in-password-manager.patch)
* keyboard protection flag [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Keyboard-protection-flag.patch)
* disable csp reports [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-csp-reports.patch)
* add setting to clear data on exit [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Add-setting-to-clear-data-on-exit.patch)
* disable visited pseudo class [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-visited-pseudo-class.patch)
* disable BackForwardCache [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-BackForwardCache.patch)
* disable FedCm [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Disable-FedCm.patch)
* partitioning all cookies by top frame domain [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Partitioning-all-cookies-by-top-frame-domain.patch)
* fingerprint mitigation for AudioBuffer and AnalyserNode [patch](https://github.com/uazo/bromite/blob/master/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch)
##### from [116.0.5845.111](https://github.com/uazo/cromite/issues/205#issuecomment-1690216310)
* Disable PartnerCustomizations [patch](https://github.com/uazo/cromite/blob/master/build/patches/00Disable-PartnerCustomizations.patch) [#202](https://github.com/uazo/cromite/issues/202)
* Add option to disable snapshots [patch](https://github.com/uazo/cromite/blob/master/build/patches/00Add-option-to-disable-snapshots.patch) [#201](https://github.com/uazo/cromite/issues/201)
* Enable Android Dynamic Performance Framework on renderer [patch](https://github.com/uazo/cromite/blob/master/build/patches/00Enable-Android-Dynamic-Performance-Framework.patch)
#### Windows Cromite-specific features
* enable Network Service Sandbox by default
* disable sharing hub
* disable search for image
* simpler logging to file
* disable TabHoverCard images
* enable File System Access blocklist
* enable HighEfficiencyMode by default
* disable annotates on downloads
* enabled pdf plugin by default
## Features not related to privacy
#### Derived da Bromite
* browser automatic updates, enabled by default
* native Android autofill support
* import/export bookmarks
@@ -118,7 +183,11 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
* allow moving navigation bar to bottom
* add option to use home page as NTP
You can inspect all functionality/privacy changes by reading the [patches](https://github.com/bromite/bromite/tree/master/build/patches) and/or the [CHANGELOG](./CHANGELOG.md).
#### Cromite-specific features
* add setting in android to invert tap and long tap [patch](https://github.com/uazo/bromite/blob/master/build/patches/00Add-setting-to-invert-tap-and-long-tap.patch)
(TODO) You can inspect all functionality/privacy changes by reading the [patches](https://github.com/bromite/bromite/tree/master/build/patches) and/or the [CHANGELOG](./CHANGELOG.md).
### Flags
@@ -162,25 +231,59 @@ New flags:
* timezone customization override
* autoplay, disabled by default
* webRTC, disabled by default
* viewport protection, enabled by default
# Privacy limitations
Bromite's privacy features, including anti-fingerprinting mitigations (which are not comprehensive), **are not to be considered useful for journalists and people living in countries with freedom limitations**, please look at [Tor Browser](https://www.torproject.org/download/) in such cases.
Cromite's privacy features, including anti-fingerprinting mitigations (which are not comprehensive), **are not to be considered useful for journalists and people living in countries with freedom limitations**, please look at [Tor Browser](https://www.torproject.org/download/) in such cases.
Please note that this project is not free of bugs and that changing the behaviour of a browser can be risky and not without problems.
# Releases
All built versions are available as [releases](https://github.com/bromite/bromite/releases); the [official website](https://www.bromite.org/) points to those releases and - when browsing via Android - it will automatically highlight the one apt for your device (or none otherwise).
All built versions are available as [releases](https://github.com/uazo/cromite/releases).
Each tag corresponds to a Chromium Stable release tag.
Bromite is currently built for ARM, ARM64 and x86 and for the Android SDK version 23+; [Bromite SystemWebView](https://www.bromite.org/system_web_view) is provided as well (SDK23+).
For every Bromite build you can always find a matching [vanilla Chromium](https://www.bromite.org/chromium) build which is used for example to verify which issues are specific to Bromite or not.
Cromite is currently built for ARM64, ~x86~ (Android SDK version 23+) and Windows x64.
You will automatically receive notifications about new updates (and be able to install them) via the auto updater functionality (enabled by default), see [related wiki page](https://github.com/bromite/bromite/wiki/AutomaticUpdates).
All official releases are also available through the [official third-party F-Droid repository](https://www.bromite.org/fdroid).
For F-droid: work in progress https://github.com/uazo/cromite/issues/64
## Integrity and authenticity
### Auto-update setup for windows
1. Download https://github.com/henrypp/chrlauncher/releases
2. Create a `chrlauncher.ini`
```
[chrlauncher]
# Custom Chromium update URL (string):
ChromiumUpdateUrl=https://github.com/uazo/cromite/releases/latest/download/updateurl.txt
# Command line for Chromium (string):
# note --user-data-dir= works better if path is absolute
# See here: http://peter.sh/experiments/chromium-command-line-switches/
ChromiumCommandLine=--user-data-dir=".\User Data" --no-default-browser-check
# to enable full logging in c:\temp\log.txt (daily rotate, no automatic deletion)
# ChromiumCommandLine=--enable-logging --v=0 --log-file=C:\temp\log.txt --user-data-dir=".\User Data" --no-default-browser-check
# Chromium executable file name (string):
ChromiumBinary=chrome.exe
# Chromium binaries directory (string):
# Relative (to chrlauncher directory) or full path (env. variables supported).
ChromiumDirectory=.\bin
```
### Enable network process sandbox in windows
I don't include any setups because I don't like the experience of not knowing what they do, so you must manually run this command on first installation:
```
cd <where_is_the_exe>
icacls . /grant "*S-1-15-2-2:(OI)(CI)(RX)"
```
see https://github.com/uazo/bromite-buildtools/issues/51
## (TODO) Integrity and authenticity
You can verify the integrity of a downloaded APK file from this project with any `sha256sum`-compatible tool by downloading the corresponding `brm_X.Y.Z.sha256.txt` or `chr_X.Y.Z.sha256.txt` file, where X.Y.Z is the release version number. Example:
```
@@ -200,7 +303,7 @@ gpg: Good signature from "csagan5 <32685696+csagan5@users.noreply.github.com>"
You can download csagan5's public GnuPG key from here: [csagan5.asc](./csagan5.asc).
# How to build
# (TODO) How to build
The [Bromite main repository](https://github.com/bromite/bromite) contains tags for each corresponding Chromium release (see https://chromium.googlesource.com/chromium/src.git).
@@ -210,13 +313,7 @@ The Chromium version tag used as base for the patches is available here: [RELEAS
The GN args used to build Bromite are available here: [bromite.gn_args](./build/bromite.gn_args).
The patches are to be applied second the order specified in the `bromite_patches_list.txt` file (you can use `git am`).
## How to build the filters
See upstream documentation: https://github.com/chromium/chromium/blob/master/components/subresource_filter/FILTER_LIST_GENERATION.md
Bromite uses an unindexed filter file, which is periodically published at https://github.com/bromite/filters
# Contributing
# (TODO) Contributing
Please submit issues following the issue template; beware that GitHub does not display the templates from mobile.
@@ -227,23 +324,15 @@ For any usage or development discussion please use GitHub Discussions: https://g
# Credits
* [Chromium project](https://www.chromium.org/Home) and developers
* [Iridium project](https://github.com/iridium-browser) for some patches
* [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) for some patches
* [ungoogled-chromium-android](https://github.com/ungoogled-software/ungoogled-chromium-android) for some patches
* [GrapheneOS](https://github.com/GrapheneOS) for some security patches
* [Inox patchset](https://github.com/gcarq/inox-patchset) for some patches (via ungoogled-chromium)
* [Brave Browser](https://github.com/brave/brave-core) for some patches
* [Vadim Pleshkov](http://vadimpleshkov.me/) for Bromite's logo
* [Bromite](https://github.com/bromite/bromite)
* [Iridium project](https://github.com/iridium-browser) for some patches
* [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) for some patches
* [ungoogled-chromium-android](https://github.com/ungoogled-software/ungoogled-chromium-android) for some patches
* [GrapheneOS](https://github.com/GrapheneOS) for some security patches
* [Inox patchset](https://github.com/gcarq/inox-patchset) for some patches (via ungoogled-chromium)
* [Brave Browser](https://github.com/brave/brave-core) for some patches
# Filters credits
* [EasyList](https://easylist.to/#easylist)
* [EasyPrivacy](https://easylist.to/#easyprivacy)
* [uBlock Origin](https://github.com/uBlockOrigin)
* [Peter Lowe's Ad and tracking server list](https://pgl.yoyo.org/adservers/)
The URLs of the lists used are available at: https://github.com/bromite/filters/blob/master/lists.txt
# License
# (TODO) License
The patches published as part of the Bromite project are released under [GNU GPL v3](./LICENSE).
+1 -1
View File
@@ -1 +1 @@
115.0.5790.98
116.0.5845.111
+2
View File
@@ -47,3 +47,5 @@ webview_includes_weblayer=false
enable_arcore=false
enable_openxr=false
enable_gvr_services=false
enable_feed_v2=false
is_high_end_android=true
+13 -7
View File
@@ -74,7 +74,7 @@ translate-disable-fetching-of-languages-from-server.patch
Offer-builtin-autocomplete-for-chrome-flags.patch
Use-4-tile-rows-never-show-logo.patch
Disable-various-metrics.patch
Enable-SPPI-for-devices-with-enough-memory.patch
Enable-StrictOriginIsolation-and-SitePerProcess.patch
Use-64-bit-WebView-processes.patch
prefs-always-prompt-for-download-directory.patch
@@ -189,19 +189,15 @@ eyeo-beta-114.0.5735.53-v1-android_settings.patch
eyeo-beta-114.0.5735.53-v1-extension_api.patch
00Eyeo-Adblock-Remove-Privacy-Issues.patch
00WIN-ADDTO-Add-an-always-incognito-mode.patch
00WIN-ADDTO-Experimental-user-scripts-support.patch
00WIN-ADDTO-ungoogled-chr--Disable-profile-avatar.patch
00WIN-ADDTO-Add-a-proxy-configuration-page.patch
00WIN-ADDTO-Add-bookmark-import-export-actions.patch
00WIN-ADDTO-openH264--enable-ARM-ARM64-optimizati.patch
00WIN-ADDTO-AImageReader-CFI-crash-mitigations.patch
00WIN-ADDTO-Remove-binary-blob-integrations.patch
00WIN-ADDTO-Add-lifetime-options-for-permissions.patch
00WIN-ADDTO-Disable-various-metrics.patch
00WIN-ADDTO-Do-not-build-API-keys-infobar.patch
00WIN-ADDTO-Revert-flags--remove-num-raster-thre.patch
00WIN-ADDTO-Add-flag-to-disable-external-intent-re.patch
00WIN-ADDTO-Restore-Search-Ready-Omnibox-flag.patch
00WIN-ADDTO-Disable-requests-for-single-word-Omni.patch
00WIN-ADDTO-Logcat-crash-reports-UI.patch
@@ -263,7 +259,6 @@ AudioBuffer-AnalyserNode-fp-mitigations.patch
00TEMP-Add-a-log-to-track-strange-behavior.patch
00v113-temp-fix-build.patch
00114-temp-disable-find-bad-constructs-external-repo.patch
00115-temp-fix-build.patch
bromite-build-utils.patch
Content-settings-infrastructure.patch
@@ -281,4 +276,15 @@ Timezone-customization.patch
00Log-dangling-attributes-in-some-html-elements.patch
00Keep-Side-Panel-Companion-disabled.patch
00Lock-Profile-Cookie-Database.patch
00Show-warnings-on-downloads-over-HTTP.patch
00Show-warnings-on-downloads-over-HTTP.patch
00Compress-libchrome-to-free-up-some-space.patch
00Cromite-Branding.patch
00Disable-Feeback-Collector.patch
00Disable-remote-altsvc-for-h3-connections.patch
00do-not-block-build-incompatible-profiles.patch
00Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch
00allow-the-download-of-clang-for-windows-crossbuild.patch
00Temp-disable-predictive-back-gesture.patch
00Add-option-to-disable-snapshots.patch
00Disable-PartnerCustomizations.patch
00Enable-Android-Dynamic-Performance-Framework.patch
@@ -12,7 +12,7 @@ Subject: 114 temp disable find_bad_constructs external repo
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -5128,6 +5128,7 @@ if (enable_java_templates && is_android) {
@@ -4950,6 +4950,7 @@ if (enable_java_templates && is_android) {
_module_build_config = _module.build_config
_module_build_config_target = _module.build_config_target
_module_target_name = get_label_info(_module_target, "name")
@@ -34,7 +34,7 @@ diff --git a/crypto/BUILD.gn b/crypto/BUILD.gn
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1634,6 +1634,7 @@ component("net") {
@@ -1653,6 +1653,7 @@ component("net") {
configs -= [ "//build/config/compiler:default_optimization" ]
configs += [ "//build/config/compiler:optimize_max" ]
}
-22
View File
@@ -1,22 +0,0 @@
From: uazo <uazo@users.noreply.github.com>
Date: Tue, 18 Jul 2023 05:36:06 +0000
Subject: 115 temp fix build
Fix rust toolchain builder
---
build/toolchain/gcc_toolchain.gni | 1 +
1 file changed, 1 insertion(+)
diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni
--- a/build/toolchain/gcc_toolchain.gni
+++ b/build/toolchain/gcc_toolchain.gni
@@ -855,6 +855,7 @@ template("gcc_toolchain") {
is_debug = false
is_component_build = false
is_official_build = false
+ generate_linker_map = false
}
}
}
--
2.25.1
@@ -13,8 +13,8 @@ Adds restrict-gamepad-access flag (default active) to disable GamePad API.
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -6657,9 +6657,9 @@
"expiry_milestone": 120
@@ -6837,9 +6837,9 @@
"expiry_milestone": 117
},
{
- "name": "restrict-gamepad-access",
@@ -28,7 +28,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2882,7 +2882,7 @@ const char kReduceAcceptLanguageDescription[] =
@@ -2981,7 +2981,7 @@ const char kReduceAcceptLanguageDescription[] =
const char kRestrictGamepadAccessName[] = "Restrict gamepad access";
const char kRestrictGamepadAccessDescription[] =
@@ -0,0 +1,189 @@
From: uazo <uazo@users.noreply.github.com>
Date: Mon, 21 Aug 2023 14:03:25 +0000
Subject: Add option to disable snapshots
---
.../tab_management/TabGridViewBinder.java | 6 ++-
.../java/res/xml/privacy_preferences.xml | 5 +++
.../chrome/browser/app/ChromeActivity.java | 3 +-
.../layouts/content/TabContentManager.java | 7 +++-
.../privacy/settings/PrivacySettings.java | 42 ++++++++++++++++++-
.../strings/android_chrome_strings.grd | 8 ++++
6 files changed, 65 insertions(+), 6 deletions(-)
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
@@ -314,8 +314,10 @@ class TabGridViewBinder {
updateThumbnailMatrix(thumbnail, result, thumbnailSize);
thumbnail.setImageBitmap(result);
} else if (isMostRecentRequest) {
- // If the most recent request is a null bitmap ensure a placeholder is visible.
- thumbnail.setImageDrawable(null);
+ TabListFaviconProvider.TabFavicon tabFavicon = model.get(TabProperties.FAVICON);
+ thumbnail.setScaleType(ImageView.ScaleType.CENTER);
+ thumbnail.setImageDrawable(
+ isSelected ? tabFavicon.getSelectedDrawable() : tabFavicon.getDefaultDrawable());
}
};
if (TabUiFeatureUtilities.isTabGroupsAndroidContinuationEnabled(view.getContext())
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -88,6 +88,11 @@ found in the LICENSE file.
android:title="@string/open_external_links_incognito_title"
android:summary="@string/open_external_links_incognito_summary"
android:defaultValue="false" />
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="tabgrid_use_icons"
+ android:title="@string/tabgrid_use_icons_title"
+ android:summary="@string/tabgrid_use_icons_summary"
+ android:defaultValue="false" />
<Preference
android:key="privacy_sandbox"
android:title="@string/prefs_privacy_sandbox"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -144,6 +144,7 @@ import org.chromium.chrome.browser.page_info.ChromePageInfoHighlight;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.printing.TabPrinter;
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.selection.SelectionPopupBackPressHandler;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
@@ -642,7 +643,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
TabModelSelector tabModelSelector = mTabModelOrchestrator.getTabModelSelector();
setTabContentManager(new TabContentManager(this, getContentOffsetProvider(),
- !SysUtils.isLowEndDevice(),
+ !ContextUtils.getAppSharedPreferences().getBoolean(PrivacySettings.PREF_TABGRID_USE_ICONS, false),
tabModelSelector != null ? tabModelSelector::getTabById : null));
getBrowserControlsManager().initialize(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
@@ -331,9 +331,12 @@ public class TabContentManager {
* @param forceUpdate Whether to obtain the thumbnail from the live content.
* @param writeBack When {@code forceUpdate}, whether to write the thumbnail to cache.
*/
- public void getTabThumbnailWithCallback(@NonNull int tabId, @NonNull Size thumbnailSize,
+ public void getTabThumbnailWithCallback(@NonNull int tabId, @NonNull Size thumbnailSize, //
@NonNull Callback<Bitmap> callback, boolean forceUpdate, boolean writeBack) {
- if (!mSnapshotsEnabled) return;
+ if (!mSnapshotsEnabled) {
+ callback.onResult(null);
+ return;
+ }
// TODO(crbug/1444782): Remove forceUpdate and writeBack params from here and don't
// trigger a captureThumbnail. This should be feasible once the
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -69,6 +69,11 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
+import org.chromium.chrome.browser.ApplicationLifetime;
+
import java.util.ArrayList;
import java.util.List;
@@ -77,7 +82,15 @@ import java.util.List;
*/
public class PrivacySettings extends PreferenceFragmentCompat
implements Preference.OnPreferenceChangeListener, FragmentHelpAndFeedbackLauncher,
- ProfileDependentSetting {
+ ProfileDependentSetting, INeedSnackbarManager {
+ private SnackbarManager mSnackbarManager;
+ private Snackbar mSnackbar;
+
+ @Override
+ public void setSnackbarManager(SnackbarManager manager) {
+ mSnackbarManager = manager;
+ }
+
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_PRELOAD_PAGES = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
@@ -147,6 +160,21 @@ public class PrivacySettings extends PreferenceFragmentCompat
});
}
+ mSnackbar = Snackbar.make(getActivity().getString(R.string.ui_relaunch_notice),
+ new SnackbarManager.SnackbarController() {
+ @Override
+ public void onDismissNoAction(Object actionData) { }
+
+ @Override
+ public void onAction(Object actionData) {
+ ApplicationLifetime.terminate(true);
+ }
+ }, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_UNKNOWN)
+ .setSingleLine(false)
+ .setAction(getActivity().getString(R.string.relaunch),
+ /*actionData*/null)
+ .setDuration(/*durationMs*/70000);
+
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
// Record the launch of PG from the S&P link-row entry point
privacyGuidePreference.setOnPreferenceClickListener(preference -> {
@@ -297,6 +325,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
+ public static final String PREF_TABGRID_USE_ICONS = "tabgrid_use_icons";
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -320,6 +349,13 @@ public class PrivacySettings extends PreferenceFragmentCompat
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
sharedPreferencesEditor.apply();
+ } else if (PREF_TABGRID_USE_ICONS.equals(key)) {
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
+ sharedPreferencesEditor.putBoolean(PREF_TABGRID_USE_ICONS, (boolean)newValue);
+ sharedPreferencesEditor.apply();
+ if (!mSnackbarManager.isShowing()) {
+ mSnackbarManager.showSnackbar(mSnackbar);
+ }
}
return true;
}
@@ -360,6 +396,10 @@ public class PrivacySettings extends PreferenceFragmentCompat
: R.string.text_off);
}
+ Preference tabGridUseIcons =
+ (ChromeSwitchPreference) findPreference(PREF_TABGRID_USE_ICONS);
+ tabGridUseIcons.setOnPreferenceChangeListener(this);
+
Preference refererPolicyPref = findPreference(PREF_REFERER_POLICY);
refererPolicyPref.setSummary(
RefererSettingsFragment.getRefererSummaryString(getContext()));
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -5239,6 +5239,14 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
</message>
+ <!-- Tab Broup Disable Thumbnail -->
+ <message name="IDS_TABGRID_USE_ICONS_TITLE" desc="Text for 'Use icons in the tab grid' settings-privacy option.">
+ Use only icons in the tab grid
+ </message>
+ <message name="IDS_TABGRID_USE_ICONS_SUMMARY" desc="Summary text for 'Use icons in the tab grid' settings-privacy option.">
+ Disable the saving of snapshots to disk
+ </message>
+
<!-- Tab Group Tab Switcher strings -->
<message name="IDS_TAB_MANAGEMENT_MODULE_TITLE" desc="Text shown when the Tab Management module is referenced in install start, success, failure UI (e.g. in IDS_MODULE_INSTALL_START_TEXT, which will expand to 'Installing Tab management for Chrome…').">
Tab management
--
2.25.1
@@ -33,7 +33,7 @@ Subject: Add setting to clear data on exit
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -292,6 +292,7 @@ chrome_java_sources = [
@@ -289,6 +289,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAdvanced.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java",
@@ -44,7 +44,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -138,6 +138,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
@@ -140,6 +140,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate;
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler;
import org.chromium.chrome.browser.read_later.ReadingListUtils;
import org.chromium.chrome.browser.reengagement.ReengagementNotificationController;
@@ -1318,7 +1319,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1283,7 +1284,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Intent intent = getIntent();
boolean hadCipherData =
@@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -2694,6 +2694,16 @@
@@ -2730,6 +2730,16 @@
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for clear browsing data button in Privacy options">
Clear browsing data
</message>
@@ -266,9 +266,9 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteSiteSettingsAtStart))
+ data_types.Append(browsing_data::policy_data_types::kSiteSettingsName);
if (IsConditionSatisfiedForBrowsingDataRemoval(GetSyncTypesForPolicyPref(
profile_, browsing_data::prefs::kClearBrowsingDataOnExitList))) {
@@ -426,6 +443,7 @@ void ChromeBrowsingDataLifetimeManager::StartScheduledBrowsingDataRemoval() {
if (!data_types.empty() &&
IsConditionSatisfiedForBrowsingDataRemoval(GetSyncTypesForPolicyPref(
@@ -427,6 +444,7 @@ void ChromeBrowsingDataLifetimeManager::StartScheduledBrowsingDataRemoval() {
bool ChromeBrowsingDataLifetimeManager::
IsConditionSatisfiedForBrowsingDataRemoval(
const syncer::UserSelectableTypeSet sync_types) {
@@ -279,7 +279,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -421,6 +421,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -419,6 +419,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
delete_end_, CreateTaskCompletionClosure(TracingDataType::kHistory),
&history_task_tracker_);
}
@@ -289,7 +289,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
if (ClipboardRecentContent::GetInstance())
ClipboardRecentContent::GetInstance()->SuppressClipboardContent();
@@ -471,7 +474,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -469,7 +472,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS |
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY);
}
@@ -299,7 +299,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
// The saved Autofill profiles and credit cards can include the origin from
// which these profiles and credit cards were learned. These are a form of
// history, so clear them as well.
@@ -492,7 +497,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -490,7 +495,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
if (data_manager)
data_manager->Refresh();
}
@@ -309,10 +309,10 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
base::ThreadPool::PostTaskAndReply(
FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()},
base::BindOnce(
@@ -578,9 +585,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
CreateTaskCompletionClosure(TracingDataType::kExploreSites));
@@ -565,9 +572,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
#endif
device_event_log::Clear(delete_begin_, delete_end_);
+ }
+ if ((remove_mask & constants::DATA_TYPE_HISTORY) && may_delete_history) {
@@ -326,7 +326,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -497,6 +497,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
@@ -500,6 +500,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] =
settings_api::PrefType::PREF_TYPE_NUMBER;
@@ -418,7 +418,7 @@ diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
@@ -285,6 +285,50 @@
@@ -284,6 +284,50 @@
disabled="[[clearingInProgress_]]" no-set-pref>
</settings-checkbox>
</div>
@@ -472,7 +472,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
@@ -202,6 +202,7 @@ export class SettingsClearBrowsingDataDialogElement extends
@@ -194,6 +194,7 @@ export class SettingsClearBrowsingDataDialogElement extends
value: () =>
[loadTimeData.getString('basicPageTitle'),
loadTimeData.getString('advancedPageTitle'),
@@ -483,7 +483,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1547,6 +1547,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1582,6 +1582,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_DATA_BASIC_TAB_TITLE" desc="The title of the tab showing the basic clear browsing data options.">
Basic
</message>
@@ -496,7 +496,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1716,6 +1716,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
@@ -1771,6 +1771,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
@@ -6,7 +6,7 @@ Reverses single tap to long tap in android for accessibility reasons.
The feature can be activated from the accessibility settings.
---
chrome/android/java/res/values/ids.xml | 1 +
.../ChromeAccessibilitySettingsDelegate.java | 18 +++++++++++
.../ChromeAccessibilitySettingsDelegate.java | 18 ++++++++++
.../contextmenu/ChromeContextMenuItem.java | 5 ++-
.../ChromeContextMenuPopulator.java | 5 +++
.../tab/TabContextMenuItemDelegate.java | 8 +++++
@@ -14,20 +14,21 @@ The feature can be activated from the accessibility settings.
.../contextmenu/ContextMenuItemDelegate.java | 2 ++
chrome/browser/flag_descriptions.cc | 4 +++
chrome/browser/flag_descriptions.h | 3 ++
.../browser/flags/ChromeFeatureList.java | 4 +++
.../strings/android_chrome_strings.grd | 9 ++++++
.../flags/android/chrome_feature_list.cc | 1 +
.../browser/flags/ChromeFeatureList.java | 5 +++
.../strings/android_chrome_strings.grd | 9 +++++
.../res/xml/accessibility_preferences.xml | 5 +++
.../accessibility/AccessibilitySettings.java | 11 +++++++
.../accessibility/AccessibilitySettings.java | 11 ++++++
.../AccessibilitySettingsDelegate.java | 2 ++
third_party/blink/common/features.cc | 4 +++
third_party/blink/public/common/features.h | 2 ++
.../renderer/core/html/html_anchor_element.cc | 12 ++++++-
.../renderer/core/html/html_anchor_element.h | 2 +-
.../renderer/core/html/html_image_element.cc | 17 ++++++++++
.../renderer/core/html/html_anchor_element.cc | 35 +++++++++++++++----
.../renderer/core/html/html_anchor_element.h | 9 +++--
.../renderer/core/html/html_image_element.cc | 17 +++++++++
.../renderer/core/html/html_image_element.h | 2 ++
.../core/page/context_menu_controller.cc | 32 +++++++++++++------
.../core/page/context_menu_controller.cc | 32 ++++++++++++-----
.../core/page/context_menu_controller.h | 5 +--
22 files changed, 144 insertions(+), 14 deletions(-)
23 files changed, 170 insertions(+), 20 deletions(-)
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
--- a/chrome/android/java/res/values/ids.xml
@@ -101,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -243,6 +243,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -240,6 +240,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (mParams.isAnchor()) {
ModelList linkGroup = new ModelList();
@@ -111,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(mParams.getUrl())
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
if (mMode == ContextMenuMode.NORMAL) {
@@ -601,6 +604,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -598,6 +601,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
ShareHelper.shareDirectly(
params, ShareHelper.getLastShareComponentName(), getProfile(), false);
});
@@ -141,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7874,6 +7874,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7917,6 +7917,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kMoveTopToolbarToBottomDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kMoveTopToolbarToBottom)},
@@ -156,7 +157,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
--- a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
+++ b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
@@ -109,6 +109,8 @@ public interface ContextMenuItemDelegate {
@@ -111,6 +111,8 @@ public interface ContextMenuItemDelegate {
*/
void onOpenImageUrl(GURL url, Referrer referrer);
@@ -168,7 +169,7 @@ diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/con
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1880,6 +1880,10 @@ const char kMoveTopToolbarToBottomName[] = "Move top toolbar to bottom";
@@ -1970,6 +1970,10 @@ const char kMoveTopToolbarToBottomName[] = "Move top toolbar to bottom";
const char kMoveTopToolbarToBottomDescription[] =
"Move the top toolbar to the bottom.";
@@ -182,7 +183,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1053,6 +1053,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
@@ -1104,6 +1104,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
extern const char kMoveTopToolbarToBottomName[];
extern const char kMoveTopToolbarToBottomDescription[];
@@ -192,10 +193,21 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
extern const char kIncognitoReauthenticationForAndroidName[];
extern const char kIncognitoReauthenticationForAndroidDescription[];
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -314,6 +314,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kTabGroupsContinuationAndroid,
&kTabGroupsForTablets,
&kDiscoverFeedMultiColumn,
+ &blink::features::kShowAlwaysContextMenuOnLinks,
&kTabStripRedesign,
&kTabletToolbarReordering,
&kTabStripStartupRefactoring,
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -306,6 +306,8 @@ public abstract class ChromeFeatureList {
@@ -312,6 +312,8 @@ public abstract class ChromeFeatureList {
public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid";
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
"MoveTopToolbarToBottom";
@@ -204,7 +216,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
"NotificationPermissionBottomSheet";
@@ -557,6 +559,8 @@ public abstract class ChromeFeatureList {
@@ -571,6 +573,8 @@ public abstract class ChromeFeatureList {
new CachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
public static final CachedFlag sMoveTopToolbarToBottom =
new CachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
@@ -213,10 +225,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sOmniboxModernizeVisualUpdate =
new CachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, false);
public static final CachedFlag sOmniboxMostVisitedTilesAddRecycledViewPool =
@@ -693,6 +697,7 @@ public abstract class ChromeFeatureList {
sTabStripRedesign,
sTabStripStartupRefactoring,
sTabletToolbarReordering,
+ sShowAlwaysContextMenuOnLinks,
sTabToGTSAnimation,
sToolbarUseHardwareBitmapDraw,
sUseChimeAndroidSdk,
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1714,6 +1714,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1749,6 +1749,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_MOVE_TOOLBAR_BOTTOM_SUMMARY" desc="Summary of the preference that allows the user to move toolbar on bottom.">
Move toolbar to bottom
</message>
@@ -229,7 +249,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Safety check -->
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
@@ -2715,6 +2721,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -2750,6 +2756,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
Open in new Chrome tab
</message>
@@ -311,8 +331,8 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -1031,6 +1031,10 @@ BASE_FEATURE(kScopeMemoryCachePerContext,
"ScopeMemoryCachePerContext",
@@ -217,6 +217,10 @@ BASE_FEATURE(kBackgroundResourceFetch,
"BackgroundResourceFetch",
base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kShowAlwaysContextMenuOnLinks,
@@ -325,9 +345,9 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -434,6 +434,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kScopeMemoryCachePerContext);
@@ -127,6 +127,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackForwardCacheWithKeepaliveRequest);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kEnablePenetratingImageSelection);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackgroundResourceFetch);
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kShowAlwaysContextMenuOnLinks);
+
@@ -337,7 +357,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc
--- a/third_party/blink/renderer/core/html/html_anchor_element.cc
+++ b/third_party/blink/renderer/core/html/html_anchor_element.cc
@@ -55,6 +55,7 @@
@@ -59,6 +59,7 @@
#include "third_party/blink/renderer/core/loader/ping_loader.h"
#include "third_party/blink/renderer/core/navigation_api/navigation_api.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
@@ -345,16 +365,25 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
@@ -425,7 +426,7 @@ void HTMLAnchorElement::SendPings(const KURL& destination_url) const {
}
}
-void HTMLAnchorElement::HandleClick(Event& event) {
+void HTMLAnchorElement::HandleClick(Event& event, bool do_not_show_context_menu) {
event.SetDefaultHandled();
@@ -436,6 +437,17 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
bool is_trusted,
base::TimeTicks platform_time_stamp,
KURL completed_url) {
+ UIEvent& event = *UIEvent::Create();
+ NavigateToHyperlink2(std::move(request), navigation_policy, is_trusted, platform_time_stamp,
+ std::move(completed_url), event, true);
+}
+
+void HTMLAnchorElement::NavigateToHyperlink2(ResourceRequest request,
+ NavigationPolicy navigation_policy,
+ bool is_trusted,
+ base::TimeTicks platform_time_stamp,
+ KURL completed_url,
+ Event& event, bool do_not_show_context_menu) {
LocalDOMWindow* window = GetDocument().domWindow();
@@ -566,6 +567,15 @@ void HTMLAnchorElement::HandleClick(Event& event) {
if (!window) {
return;
@@ -489,6 +501,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
/*element=*/this));
}
@@ -370,10 +399,47 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
Frame* target_frame =
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
@@ -508,7 +529,7 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
}
}
-void HTMLAnchorElement::HandleClick(Event& event) {
+void HTMLAnchorElement::HandleClick(Event& event, bool do_not_show_context_menu) {
event.SetDefaultHandled();
LocalDOMWindow* window = GetDocument().domWindow();
@@ -607,12 +628,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
}
NavigationPolicy navigation_policy = NavigationPolicyFromEvent(&event);
- base::OnceClosure navigate_closure = WTF::BindOnce(
- &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
- std::move(request), navigation_policy, event.isTrusted(),
- event.PlatformTimeStamp(), std::move(completed_url));
if (navigation_policy == kNavigationPolicyDownload) {
+ base::OnceClosure navigate_closure = WTF::BindOnce(
+ &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
+ std::move(request), navigation_policy, event.isTrusted(),
+ event.PlatformTimeStamp(), std::move(completed_url));
// If Alt is held down it will force a download, however, wait to see if
// this is an alt-double-click which should instead select the text of the
// link.
@@ -624,7 +645,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
frame->GetEventHandler().SetDownloadModifierTaskHandle(
std::move(task_handle));
} else {
- std::move(navigate_closure).Run();
+ HTMLAnchorElement::NavigateToHyperlink2(std::move(request), navigation_policy,
+ event.isTrusted(), event.PlatformTimeStamp(), std::move(completed_url),
+ event, do_not_show_context_menu);
}
}
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h
--- a/third_party/blink/renderer/core/html/html_anchor_element.h
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h
@@ -98,6 +98,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
@@ -101,6 +101,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
void SendPings(const KURL& destination_url) const;
void Trace(Visitor*) const override;
@@ -381,11 +447,22 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_
protected:
void ParseAttribute(const AttributeModificationParams&) override;
@@ -119,7 +120,6 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
@@ -122,12 +123,16 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
bool IsInteractiveContent() const final;
InsertionNotificationRequest InsertedInto(ContainerNode&) override;
void RemovedFrom(ContainerNode&) override;
+ void NavigateToHyperlink2(ResourceRequest,
+ NavigationPolicy,
+ bool is_trusted,
+ base::TimeTicks platform_time_stamp,
+ KURL, Event&, bool do_not_show_context_menu);
void NavigateToHyperlink(ResourceRequest,
NavigationPolicy,
bool is_trusted,
base::TimeTicks platform_time_stamp,
- KURL);
- void HandleClick(Event&);
+ KURL completed_url);
unsigned link_relations_ : 31;
mutable LinkHash cached_visited_link_hash_;
@@ -408,7 +485,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/core/style/content_data.h"
@@ -719,6 +721,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
@@ -718,6 +720,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
}
}
@@ -491,7 +568,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
// Clear any previously set cached results if we are resetting the hit test
// result.
image_selection_cached_result_ = nullptr;
@@ -776,11 +788,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
@@ -790,11 +802,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
data.form_renderer_id = GetFormRendererId(result);
data.field_renderer_id = GetFieldRendererId(result);
@@ -0,0 +1,28 @@
From: uazo <uazo@users.noreply.github.com>
Date: Mon, 7 Aug 2023 11:02:18 +0000
Subject: Allow DocumentPiP if PopupsAndRedirects are active
Allow documentPiP api use only with content setting popup allowed
---
.../picture_in_picture_controller_impl.cc | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
--- a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
+++ b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
@@ -361,6 +361,13 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow(
return;
}
+ if (!opener.GetFrame()->GetContentSettingsClient()->AllowPopupsAndRedirects(false)) {
+ exception_state.ThrowDOMException(DOMExceptionCode::kNotAllowedError,
+ "Document PiP requires user popup permission");
+ resolver->Reject(exception_state);
+ return;
+ }
+
WebPictureInPictureWindowOptions web_options;
web_options.width = options->width();
web_options.height = options->height();
--
2.25.1
@@ -27,8 +27,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
@@ -204,6 +206,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@Override
public void onOpenInNewTab(
GURL url, Referrer referrer, boolean navigateToTab, @Nullable Impression impression) {
public void onOpenInNewTab(GURL url, Referrer referrer, boolean navigateToTab,
@Nullable AdditionalNavigationParams additionalNavigationParams) {
+ TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true);
RecordUserAction.record("MobileNewTabOpened");
RecordUserAction.record("LinkOpenedInNewTab");
@@ -78,7 +78,7 @@ diff --git a/services/network/cors/preflight_result.cc b/services/network/cors/p
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1041,6 +1041,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
@@ -1070,6 +1070,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
base::BindOnce(&NetworkContext::OnHttpCacheCleared,
base::Unretained(this), std::move(callback))));
@@ -0,0 +1,23 @@
From: uazo <uazo@users.noreply.github.com>
Date: Wed, 19 Jul 2023 09:32:36 +0000
Subject: Compress libchrome to free up some space
upstream removed ModernLinker support for developer build (apk releases).
see https://bugs.chromium.org/p/chromium/issues/detail?id=1383210
---
chrome/android/chrome_public_apk_tmpl.gni | 1 +
1 file changed, 1 insertion(+)
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
--- a/chrome/android/chrome_public_apk_tmpl.gni
+++ b/chrome/android/chrome_public_apk_tmpl.gni
@@ -632,6 +632,7 @@ template("chrome_common_apk_or_module_tmpl") {
[ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ]
loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ]
library_always_compress += [ "libchrome_crashpad_handler.so" ]
+ library_always_compress += [ "libchrome.so" ]
} else if (!_is_trichrome) {
# Crashpad trampoline lives in TrichromeLibrary.apk.
# https://chromium.googlesource.com/chromium/src/+/main/docs/android_native_libraries.md#Crashpad-Packaging
--
2.25.1
File diff suppressed because it is too large Load Diff
@@ -3,21 +3,20 @@ Date: Mon, 5 Jun 2023 17:02:33 +0000
Subject: Deprecate Data URL in SVGUseElement
---
.../blink/renderer/platform/runtime_enabled_features.json5 | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2939,9 +2939,8 @@
status: "stable",
@@ -2967,8 +2967,8 @@
base_feature: "none",
},
{
- name: "RemoveDataUrlInSvgUse",
- status: "experimental",
- base_feature: "none",
+ name: "RemoveDataUrlInSvgUse", // enabled by default
+ status: "stable",
+ name: "RemoveDataUrlInSvgUse", // enabled
+ status: "stable", // by default
},
{
name: "RemoveLegacySizeComputation",
@@ -33,7 +33,7 @@ diff --git a/components/component_updater/component_installer.cc b/components/co
diff --git a/components/component_updater/component_updater_service.cc b/components/component_updater/component_updater_service.cc
--- a/components/component_updater/component_updater_service.cc
+++ b/components/component_updater/component_updater_service.cc
@@ -521,7 +521,7 @@ std::unique_ptr<ComponentUpdateService> ComponentUpdateServiceFactory(
@@ -520,7 +520,7 @@ std::unique_ptr<ComponentUpdateService> ComponentUpdateServiceFactory(
// Register prefs required by the component update service.
void RegisterComponentUpdateServicePrefs(PrefRegistrySimple* registry) {
// The component updates are enabled by default, if the preference is not set.
@@ -9,7 +9,7 @@ Subject: Disable Compression Dictionary Transport
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -677,16 +677,16 @@
@@ -670,16 +670,16 @@
status: "experimental",
},
{
+25 -5
View File
@@ -3,14 +3,14 @@ Date: Tue, 14 Feb 2023 16:26:17 +0000
Subject: Disable FedCm
---
content/public/common/content_features.cc | 2 +-
.../blink/renderer/platform/runtime_enabled_features.json5 | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
content/public/common/content_features.cc | 10 +++++-----
.../renderer/platform/runtime_enabled_features.json5 | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -395,7 +395,7 @@ BASE_FEATURE(kExtraSafelistedRequestHeadersForOutOfBlinkCors,
@@ -389,7 +389,7 @@ BASE_FEATURE(kExtraSafelistedRequestHeadersForOutOfBlinkCors,
// by the flag in RuntimeEnabledFeatures on the blink side. See also
// the use of kSetOnlyIfOverridden in content/child/runtime_features.cc.
// We enable it here by default to support use in origin trials.
@@ -19,10 +19,30 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
// Field trial boolean parameter which indicates whether FedCM IDP sign-out
// is enabled.
@@ -453,15 +453,15 @@ BASE_FEATURE(kFedCmLoginHint,
// Enables metrics collection for signin status mismatches. Also enables
// parsing the signin status HTTP headers.
// kFedCmIdpSigninStatusEnabled takes precedence over this feature flag.
-BASE_FEATURE(kFedCmIdpSigninStatusMetrics, // disabled
+BASE_FEATURE(kFedCmIdpSigninStatusMetrics, // enabled
"FedCmIdpSigninStatusMetrics", // by default
- base::FEATURE_DISABLED_BY_DEFAULT); // on bromite
+ base::FEATURE_ENABLED_BY_DEFAULT); // on bromite
// Enables the IDP signin status API for use with FedCM, including avoiding
// network requests when not signed in and mismatch handling.
-BASE_FEATURE(kFedCmIdpSigninStatusEnabled, // disabled
+BASE_FEATURE(kFedCmIdpSigninStatusEnabled, // enabled
"FedCmIdpSigninStatusEnabled", // by default
- base::FEATURE_DISABLED_BY_DEFAULT); // on bromite
+ base::FEATURE_ENABLED_BY_DEFAULT); // on bromite
// Enables the MDocs API in the IdentityCredential.
BASE_FEATURE(kWebIdentityMDocs,
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1574,7 +1574,7 @@
@@ -1590,7 +1590,7 @@
{
name: "FedCm",
public: true,
@@ -0,0 +1,54 @@
From: uazo <uazo@users.noreply.github.com>
Date: Sat, 22 Jul 2023 13:58:40 +0000
Subject: Disable Feeback Collector
---
.../browser/feedback/FeedbackCollector.java | 27 +++----------------
1 file changed, 3 insertions(+), 24 deletions(-)
diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
--- a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
+++ b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
@@ -28,6 +28,7 @@ import org.chromium.components.signin.identitymanager.ConsentLevel;
import org.chromium.components.signin.identitymanager.IdentityManager;
import java.util.HashMap;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -64,30 +65,8 @@ public abstract class FeedbackCollector<T> implements Runnable {
// Subclasses must invoke init() at construction time.
protected void init(Activity activity, @Nullable ScreenshotSource screenshotTask, T initParams,
Profile profile) {
- // 1. Build all synchronous and asynchronous sources and determine the currently signed in
- // account.
- mSynchronousSources = buildSynchronousFeedbackSources(activity, initParams);
- mAsynchronousSources = buildAsynchronousFeedbackSources(initParams);
- IdentityManager identityManager =
- IdentityServicesProvider.get().getIdentityManager(profile);
- if (identityManager != null) {
- mAccountInUse = CoreAccountInfo.getEmailFrom(
- identityManager.getPrimaryAccountInfo(ConsentLevel.SIGNIN));
- }
-
- // Sanity check in case a source is added to the wrong list.
- for (FeedbackSource source : mSynchronousSources) {
- assert !(source instanceof AsyncFeedbackSource);
- }
-
- // 2. Set |mScreenshotTask| if not null.
- if (screenshotTask != null) mScreenshotTask = screenshotTask;
-
- // 3. Start all asynchronous sources and the screenshot task.
- for (var source : mAsynchronousSources) {
- source.start(this);
- }
- if (mScreenshotTask != null) mScreenshotTask.capture(this);
+ mSynchronousSources = new ArrayList<>();
+ mAsynchronousSources = new ArrayList<>();
// 4. Kick off a task to timeout the async sources.
ThreadUtils.postOnUiThreadDelayed(this, TIMEOUT_MS);
--
2.25.1
@@ -22,7 +22,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -474,9 +474,9 @@ BASE_FEATURE(kWebIdentityMDocs,
@@ -469,9 +469,9 @@ BASE_FEATURE(kWebIdentityMDocs,
base::FEATURE_DISABLED_BY_DEFAULT);
// Enables usage of First Party Sets to determine cookie availability.
+2 -2
View File
@@ -78,7 +78,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -677,8 +677,8 @@ BASE_FEATURE(kContextMenuGoogleLensSearchOptimizations,
@@ -676,8 +676,8 @@ BASE_FEATURE(kContextMenuGoogleLensSearchOptimizations,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kContextMenuSearchWithGoogleLens,
@@ -89,7 +89,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
BASE_FEATURE(kContextMenuShopWithGoogleLens,
"ContextMenuShopWithGoogleLens",
@@ -759,8 +759,8 @@ BASE_FEATURE(kOfflineIndicatorV2,
@@ -758,8 +758,8 @@ BASE_FEATURE(kOfflineIndicatorV2,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kExperimentsForAgsa,
@@ -34,7 +34,7 @@ diff --git a/content/browser/installedapp/installed_app_provider_impl_win.cc b/c
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -573,12 +573,12 @@ BASE_FEATURE(kInnerFrameCompositorSurfaceEviction,
@@ -568,12 +568,12 @@ BASE_FEATURE(kInnerFrameCompositorSurfaceEviction,
base::FEATURE_ENABLED_BY_DEFAULT); // guard this
// Kill switch for the GetInstalledRelatedApps API.
@@ -52,7 +52,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2050,9 +2050,9 @@
@@ -2077,9 +2077,9 @@
name: "FingerprintingCanvasImageDataNoise",
},
{
@@ -0,0 +1,37 @@
From: uazo <uazo@users.noreply.github.com>
Date: Tue, 22 Aug 2023 09:02:50 +0000
Subject: Disable PartnerCustomizations
---
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++--
.../partnercustomizations/PartnerBrowserCustomizations.java | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -865,8 +865,8 @@ BASE_FEATURE(kOpaqueOriginForIncomingIntents,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kPartnerCustomizationsUma,
- "PartnerCustomizationsUma",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PartnerCustomizationsUma", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
BASE_FEATURE(kProbabilisticCryptidRenderer,
"ProbabilisticCryptidRenderer",
base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
--- a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
+++ b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
@@ -213,7 +213,7 @@ public class PartnerBrowserCustomizations {
boolean systemOrPreStable =
(context.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) == 1
|| !VersionInfo.isStableBuild();
- if (!systemOrPreStable) {
+ if ((true)) {
// Only allow partner customization if this browser is a system package, or
// is in pre-stable channels.
return null;
--
2.25.1
@@ -9,7 +9,7 @@ Subject: Disable PrivateStateTokens API
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -147,12 +147,12 @@ BASE_FEATURE(kAttributionReportingCrossAppWeb,
@@ -154,12 +154,12 @@ BASE_FEATURE(kAttributionReportingCrossAppWeb, // in bromite
// set, and handling their responses, according to the protocol.
// (See https://github.com/WICG/trust-token-api.)
BASE_FEATURE(kPrivateStateTokens,
+7 -7
View File
@@ -10,19 +10,19 @@ Subject: Disable WebGPU
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -267,7 +267,7 @@ BASE_FEATURE(kEnableDrDcVulkan,
BASE_FEATURE(kWebGPUService,
"WebGPUService",
@@ -273,7 +273,7 @@ BASE_FEATURE(kEnableDrDcVulkan,
// Enable WebGPU on gpu service side only. This is used with origin trial and
// enabled by default on supported platforms.
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
-#define WEBGPU_ENABLED base::FEATURE_ENABLED_BY_DEFAULT
+#define WEBGPU_ENABLED base::FEATURE_DISABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#define WEBGPU_ENABLED base::FEATURE_DISABLED_BY_DEFAULT
#endif
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -3957,7 +3957,7 @@
@@ -3975,7 +3975,7 @@
// Note that this isn't enough to enable WebGPU and that access to
// WebGPU is further gated on the "WebGPUService" feature exposing GPU
// process access to WebGPU to the renderer process.
+2 -2
View File
@@ -25,13 +25,13 @@ diff --git a/third_party/blink/renderer/core/loader/ping_loader.cc b/third_party
if (!ping_url.ProtocolIsInHTTPFamily())
return;
@@ -139,6 +141,7 @@ void PingLoader::SendLinkAuditPing(LocalFrame* frame,
@@ -140,6 +142,7 @@ void PingLoader::SendLinkAuditPing(LocalFrame* frame,
void PingLoader::SendViolationReport(ExecutionContext* execution_context,
const KURL& report_url,
scoped_refptr<EncodedFormData> report) {
+ if ((true)) return;
ResourceRequest request(report_url);
request.SetHttpMethod(http_names::kPOST);
request.SetHTTPContentType("application/csp-report");
request.SetHTTPContentType(AtomicString("application/csp-report"));
--
2.25.1
@@ -16,7 +16,7 @@ Subject: Disable privacy issues in password manager
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -468,15 +468,6 @@ by a child template that "extends" this file.
@@ -458,15 +458,6 @@ by a child template that "extends" this file.
</intent-filter>
</receiver>
@@ -0,0 +1,63 @@
From: uazo <uazo@users.noreply.github.com>
Date: Tue, 1 Aug 2023 13:56:42 +0000
Subject: Disable remote altsvc for h3 connections
and only sets the use of port 443
---
net/http/http_server_properties_manager.cc | 2 +-
net/http/http_stream_factory_job_controller.cc | 9 ++-------
net/quic/quic_context.h | 2 +-
3 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_properties_manager.cc
--- a/net/http/http_server_properties_manager.cc
+++ b/net/http/http_server_properties_manager.cc
@@ -38,7 +38,7 @@ const int kMissingVersion = 0;
const int kVersionNumber = 5;
// Persist at most 200 currently-broken alternative services to disk.
-const int kMaxBrokenAlternativeServicesToPersist = 200;
+const int kMaxBrokenAlternativeServicesToPersist = 0;
const char kServerKey[] = "server";
const char kQuicServerIdKey[] = "server_id";
diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stream_factory_job_controller.cc
--- a/net/http/http_stream_factory_job_controller.cc
+++ b/net/http/http_stream_factory_job_controller.cc
@@ -1236,11 +1236,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
// single user on a multi-user system to hijack the alternate protocol.
// These systems also enforce ports <1024 as restricted ports. So don't
// allow protocol upgrades to user-controllable ports.
- const int kUnrestrictedPort = 1024;
- if (!session_->params().enable_user_alternate_protocol_ports &&
- (alternative_service_info.alternative_service().port >=
- kUnrestrictedPort &&
- original_url.EffectiveIntPort() < kUnrestrictedPort))
+ if (alternative_service_info.alternative_service().port != 443)
continue;
if (alternative_service_info.protocol() == kProtoHTTP2) {
@@ -1277,8 +1273,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
GURL destination = CreateAltSvcUrl(
original_url, alternative_service_info.host_port_pair());
- if (session_key.host() != destination.host_piece() &&
- !session_->context().quic_context->params()->allow_remote_alt_svc) {
+ if (session_key.host() != destination.host_piece()) {
continue;
}
RewriteUrlWithHostMappingRules(destination);
diff --git a/net/quic/quic_context.h b/net/quic/quic_context.h
--- a/net/quic/quic_context.h
+++ b/net/quic/quic_context.h
@@ -177,7 +177,7 @@ struct NET_EXPORT QuicParams {
bool allow_server_migration = false;
// If true, allows QUIC to use alternative services with a different
// hostname from the origin.
- bool allow_remote_alt_svc = true;
+ bool allow_remote_alt_svc = false; // Disabled by default
// If true, estimate the initial RTT for QUIC connections based on network.
bool estimate_initial_rtt = false;
// The initial rtt that will be used in crypto handshake if no cached
--
2.25.1
@@ -23,7 +23,7 @@ Require: Timezone-customization.patch
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7444,6 +7444,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7460,6 +7460,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kFileHandlingIconsDescription, kOsDesktop,
FEATURE_VALUE_TYPE(blink::features::kFileHandlingIcons)},
@@ -38,7 +38,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -1585,7 +1585,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
@@ -1594,7 +1594,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
std::unique_ptr<media::SpeechRecognitionClient>
ChromeContentRendererClient::CreateSpeechRecognitionClient(
content::RenderFrame* render_frame) {
@@ -88,7 +88,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -840,7 +840,7 @@ const base::FeatureParam<std::string> kMediaFoundationClearKeyCdmPathForTesting{
@@ -865,7 +865,7 @@ const base::FeatureParam<std::string> kMediaFoundationClearKeyCdmPathForTesting{
#endif // BUILDFLAG(IS_WIN)
// Enables the Live Caption feature on supported devices.
@@ -97,7 +97,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
// Controls whether a "Share this tab instead" button should be shown for
// getDisplayMedia captures. Note: This flag does not control if the "Share this
@@ -877,9 +877,9 @@ BASE_FEATURE(kLiveCaptionRightClick,
@@ -902,9 +902,9 @@ BASE_FEATURE(kLiveCaptionRightClick,
base::FEATURE_DISABLED_BY_DEFAULT);
// Enable or disable Live Caption support for WebAudio.
@@ -113,8 +113,8 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -1611,6 +1611,10 @@ BASE_FEATURE(kStylusPointerAdjustment,
"StylusPointerAdjustment",
@@ -657,6 +657,10 @@ BASE_FEATURE(kDirectCompositorThreadIpc,
"DirectCompositorThreadIpc",
base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kDisableSpeechSynthesisVoiceList,
@@ -127,9 +127,9 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -823,6 +823,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAndroidExtendedKeyboardShortcuts);
// enabling functions like writing into a nearby input element.
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kStylusPointerAdjustment);
@@ -330,6 +330,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDesktopPWAsTabStripCustomizations);
// hopping through the IO thread first.
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDirectCompositorThreadIpc);
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDisableSpeechSynthesisVoiceList);
+
@@ -0,0 +1,39 @@
From: uazo <uazo@users.noreply.github.com>
Date: Wed, 23 Aug 2023 13:49:19 +0000
Subject: Enable Android Dynamic Performance Framework
---
chrome/version.gni | 2 +-
components/viz/common/features.cc | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/chrome/version.gni b/chrome/version.gni
--- a/chrome/version.gni
+++ b/chrome/version.gni
@@ -68,7 +68,7 @@ if (is_mac) {
_version_dictionary_template += "trichrome_auto_64_32_version_code = \"@TRICHROME_AUTO_64_32_VERSION_CODE@\" "
_version_dictionary_template +=
"trichrome_64_version_code = \"@TRICHROME_64_VERSION_CODE@\" "
- if (target_cpu == "arm64") {
+ if (target_cpu == "arm64" || target_cpu == "x64") {
_version_dictionary_template += "trichrome_64_32_high_version_code = \"@TRICHROME_64_32_HIGH_VERSION_CODE@\" "
}
_version_dictionary_template +=
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
--- a/components/viz/common/features.cc
+++ b/components/viz/common/features.cc
@@ -286,9 +286,10 @@ const base::FeatureParam<double> kADPFMidFrameBoostDurationMultiplier{
// If enabled, Chrome includes the Renderer Main thread(s) into the
// ADPF(Android Dynamic Performance Framework) hint session.
+// see https://source.chromium.org/chromium/chromium/src/+/e7507d15614ac7f499fb89086b3a09772fa8deb4
BASE_FEATURE(kEnableADPFRendererMain,
- "EnableADPFRendererMain",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "EnableADPFRendererMain", // enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // by default
bool IsDelegatedCompositingEnabled() {
return base::FeatureList::IsEnabled(kDelegatedCompositing);
--
2.25.1
@@ -3,14 +3,14 @@ Date: Tue, 28 Mar 2023 15:43:18 +0000
Subject: Enable Document Open Inheritance Removal
---
.../blink/renderer/core/dom/document.cc | 51 -------------------
.../platform/runtime_enabled_features.json5 | 3 +-
2 files changed, 1 insertion(+), 53 deletions(-)
.../blink/renderer/core/dom/document.cc | 64 -------------------
.../platform/runtime_enabled_features.json5 | 1 -
2 files changed, 65 deletions(-)
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -3359,57 +3359,6 @@ void Document::open(LocalDOMWindow* entered_window,
@@ -3384,70 +3384,6 @@ void Document::open(LocalDOMWindow* entered_window,
// https://chromestatus.com/metrics/feature/timeline/popularity/4375
CountUse(WebFeature::kDocumentOpenMutateSandbox);
}
@@ -38,11 +38,24 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
- // not considered to produce new documents. No IPCs are sent, it is as
- // if it was a no-op.
- //
- // TODO(https://crbug.com/1360795) Remove this
- // TODO(https://crbug.com/1360795) Remove this. Only Chrome implements
- // it. Safari/Firefox do not.
- dom_window_->GetSecurityContext().SetSandboxFlags(
- dom_window_->GetSecurityContext().GetSandboxFlags() |
- entered_window->GetSandboxFlags());
- }
-
- // We would like to remove this block. See:
- // https://docs.google.com/document/d/1_89X4cNUab-PZE0iBDTKIftaQZsFbk7SbFmHbqY54os
- //
- // This is not specified. Only Webkit/Blink implement it. Gecko doesn't.
- //
- // 2023-06-02: Removal would impact 0.02% page load.
- // https://chromestatus.com/metrics/feature/timeline/popularity/4535
- // We hope the document.domain deprecation is going to drive this number
- // down quickly:
- // https://developer.chrome.com/blog/document-domain-setter-deprecation/
- if (!RuntimeEnabledFeatures::DocumentOpenOriginAliasRemovalEnabled()) {
- dom_window_->GetSecurityContext().SetSecurityOrigin(
- entered_window->GetMutableSecurityOrigin());
-
@@ -71,13 +84,11 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1419,8 +1419,7 @@
},
@@ -1439,7 +1439,6 @@
{
name: "DocumentOpenSandboxInheritanceRemoval",
- status: "experimental",
status: "stable",
- copied_from_base_feature_if: "overridden",
+ status: "stable",
},
{
name: "DocumentPictureInPictureAPI",
@@ -10,7 +10,7 @@ Subject: Evict the entire FrameTree like desktop
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
--- a/components/viz/common/features.cc
+++ b/components/viz/common/features.cc
@@ -233,7 +233,7 @@ BASE_FEATURE(kRendererAllocatesImages,
@@ -231,7 +231,7 @@ BASE_FEATURE(kRendererAllocatesImages,
// evicts itself. This differs from Destkop platforms which evict the entire
// FrameTree along with the topmost viz::Surface. When this feature is enabled,
// Android will begin also evicting the entire FrameTree.
@@ -22,7 +22,7 @@ diff --git a/components/viz/common/features.cc b/components/viz/common/features.
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -569,8 +569,8 @@ BASE_FEATURE(kInMemoryCodeCache,
@@ -564,8 +564,8 @@ BASE_FEATURE(kInMemoryCodeCache,
// frames. Otherwise only toplevel frames and OOPIF are handled, and other
// cases, e.g. PDF tiles are ignored. See https://crbug.com/1360351 for details.
BASE_FEATURE(kInnerFrameCompositorSurfaceEviction,
@@ -96,6 +96,7 @@ suit Bromite logic
.../subscription/subscription_updater_impl.cc | 8 +-
.../subscription_validator_impl.cc | 4 +-
components/adblock/features.gni | 44 -
.../browser/bromite_content_settings/ads.inc | 3 +
components/resources/BUILD.gn | 1 -
components/resources/adblock_resources.grdp | 3 -
components/resources/adblocking/.gitignore | 2 +-
@@ -108,7 +109,7 @@ suit Bromite logic
.../blink/renderer/core/css/style_engine.h | 1 +
.../renderer/core/exported/web_document.cc | 13 +-
.../definitions/adblock_private.d.ts | 14 +
103 files changed, 5038 insertions(+), 1296 deletions(-)
104 files changed, 5041 insertions(+), 1296 deletions(-)
delete mode 100644 chrome/browser/adblock/adblock_telemetry_service_factory.cc
delete mode 100644 chrome/browser/adblock/adblock_telemetry_service_factory.h
create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.html
@@ -120,6 +121,7 @@ suit Bromite logic
delete mode 100644 components/adblock/core/adblock_telemetry_service.h
create mode 100644 components/adblock/core/converter/parser/test/test_rules.txt
delete mode 100644 components/adblock/features.gni
create mode 100644 components/content_settings/core/browser/bromite_content_settings/ads.inc
create mode 100755 components/resources/adblocking/snippets/dist/isolated-first.jst
create mode 100755 components/resources/adblocking/snippets/dist/isolated-first.source.jst
@@ -140,7 +142,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orderingFromXml="false">
@@ -106,7 +97,7 @@ Use of this source code is governed by the GPLv3 that can be found in the compon
@@ -101,7 +92,7 @@ Use of this source code is governed by the GPLv3 that can be found in the compon
android:title="@string/prefs_accessibility"/>
<Preference
android:fragment="org.chromium.components.adblock.settings.AdblockSettingsFragment"
@@ -152,7 +154,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -163,8 +163,6 @@ static_library("browser") {
@@ -165,8 +165,6 @@ static_library("browser") {
"adblock/adblock_content_browser_client.h",
"adblock/adblock_controller_factory.cc",
"adblock/adblock_controller_factory.h",
@@ -180,7 +182,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
+ content::RenderFrameHost* embedder = frame->GetOutermostMainFrameOrEmbedder();
+ const auto& embedder_url = embedder->GetLastCommittedURL();
+ HostContentSettingsMap* settings_map = HostContentSettingsMapFactory::GetForProfile(profile);
+ if (settings_map->GetContentSetting(embedder_url, GURL(), ContentSettingsType::ADS)
+ if (settings_map && settings_map->GetContentSetting(embedder_url, GURL(), ContentSettingsType::ADS)
+ == CONTENT_SETTING_ALLOW) {
+ return false;
+ }
@@ -815,7 +817,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
#include "chrome/browser/adblock/content_security_policy_injector_factory.h"
#include "chrome/browser/adblock/element_hider_factory.h"
#include "chrome/browser/adblock/resource_classification_runner_factory.h"
@@ -652,7 +651,6 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -683,7 +682,6 @@ void ChromeBrowserMainExtraPartsProfiles::
ExitTypeServiceFactory::GetInstance();
#endif
adblock::AdblockControllerFactory::GetInstance();
@@ -834,7 +836,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
"appearance_page/appearance_fonts_page.ts",
"appearance_page/appearance_page.ts",
"appearance_page/home_url_input.ts",
@@ -375,6 +376,7 @@ build_webui("build") {
@@ -381,6 +382,7 @@ build_webui("build") {
ts_composite = true
ts_definitions = [
"//tools/typescript/definitions/autofill_private.d.ts",
@@ -1387,7 +1389,7 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
--- a/chrome/browser/resources/settings/route.ts
+++ b/chrome/browser/resources/settings/route.ts
@@ -167,6 +167,10 @@ function createBrowserSettingsRoutes(): SettingsRoutes {
@@ -176,6 +176,10 @@ function createBrowserSettingsRoutes(): SettingsRoutes {
r.FONTS = r.APPEARANCE.createChild('/fonts');
}
@@ -1423,7 +1425,7 @@ diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/reso
diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html b/chrome/browser/resources/settings/settings_menu/settings_menu.html
--- a/chrome/browser/resources/settings/settings_menu/settings_menu.html
+++ b/chrome/browser/resources/settings/settings_menu/settings_menu.html
@@ -139,6 +139,11 @@
@@ -134,6 +134,11 @@
$i18n{a11yPageTitle}
<paper-ripple></paper-ripple>
</a>
@@ -1438,7 +1440,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -339,6 +339,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -345,6 +345,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
}
#endif
@@ -1447,7 +1449,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
AdblockWebContentObserver::CreateForWebContents(
web_contents,
adblock::SubscriptionServiceFactory::GetForBrowserContext(
@@ -347,7 +349,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -353,7 +355,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents->GetBrowserContext()),
adblock::SitekeyStorageFactory::GetForBrowserContext(
web_contents->GetBrowserContext()),
@@ -1516,9 +1518,9 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
import("//chromeos/ash/components/assistant/assistant.gni")
-import("//components/adblock/features.gni")
import("//components/captive_portal/core/features.gni")
import("//components/enterprise/buildflags/buildflags.gni")
import("//components/feed/features.gni")
import("//components/lens/features.gni")
@@ -2569,10 +2568,6 @@ if (!is_android) {
@@ -2544,10 +2543,6 @@ if (!is_android) {
sources += [ "../browser/chrome_for_testing/chrome_for_testing_info_bar_browsertest.cc" ]
}
@@ -4435,6 +4437,14 @@ deleted file mode 100644
- # special URLs. This is used for internal automated testing (see DPD-1407).
- eyeo_intercept_debug_url = false
-}
diff --git a/components/content_settings/core/browser/bromite_content_settings/ads.inc b/components/content_settings/core/browser/bromite_content_settings/ads.inc
new file mode 100644
--- /dev/null
+++ b/components/content_settings/core/browser/bromite_content_settings/ads.inc
@@ -0,0 +1,3 @@
+ content_settings::WebsiteSettingsRegistry::GetInstance()
+ ->GetMutable(ContentSettingsType::ADS)
+ ->set_show_into_info_page();
diff --git a/components/resources/BUILD.gn b/components/resources/BUILD.gn
--- a/components/resources/BUILD.gn
+++ b/components/resources/BUILD.gn
@@ -8237,7 +8247,7 @@ new file mode 100755
diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/blink/renderer/core/css/style_engine.cc
--- a/third_party/blink/renderer/core/css/style_engine.cc
+++ b/third_party/blink/renderer/core/css/style_engine.cc
@@ -597,6 +597,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow(
@@ -600,6 +600,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow(
}
}
@@ -8255,7 +8265,7 @@ diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/b
diff --git a/third_party/blink/renderer/core/css/style_engine.h b/third_party/blink/renderer/core/css/style_engine.h
--- a/third_party/blink/renderer/core/css/style_engine.h
+++ b/third_party/blink/renderer/core/css/style_engine.h
@@ -240,6 +240,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
@@ -242,6 +242,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
const ComputedStyle* embedder_style) const;
void ViewportStyleSettingChanged();
@@ -32,9 +32,9 @@ fonts-fingerprint-mitigation flag, which is active by default.
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -9992,6 +9992,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kClipboardUnsanitizedContentDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kClipboardUnsanitizedContent)},
@@ -10012,6 +10012,11 @@ const FeatureEntry kFeatureEntries[] = {
kClipboardMaximumAgeVariations,
"ClipboardMaximumAge")},
+ {"fonts-fingerprint-mitigation",
+ flag_descriptions::kFontsFingerprintMitigationName,
@@ -47,7 +47,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -135,6 +135,11 @@ const char kClipboardUnsanitizedContentDescription[] =
@@ -140,6 +140,11 @@ const char kClipboardUnsanitizedContentDescription[] =
"Allows reading/writing unsanitized content from/to the clipboard. "
"Currently, it is only applicable to HTML format. See crbug.com/1268679.";
@@ -62,15 +62,15 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -112,6 +112,9 @@ extern const char kClickToCallDescription[];
@@ -115,6 +115,9 @@ extern const char kClickToCallDescription[];
extern const char kClipboardUnsanitizedContentName[];
extern const char kClipboardUnsanitizedContentDescription[];
+extern const char kFontsFingerprintMitigationName[];
+extern const char kFontsFingerprintMitigationDescription[];
+
extern const char kContentLanguagesInLanguagePickerName[];
extern const char kContentLanguagesInLanguagePickerDescription[];
extern const char kClipboardMaximumAgeName[];
extern const char kClipboardMaximumAgeDescription[];
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
@@ -84,7 +84,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
#if BUILDFLAG(IS_ANDROID)
// Use chromim's implementation of selection magnifier built using surface
@@ -506,7 +506,7 @@ const base::FeatureParam<base::TimeDelta>
@@ -501,7 +501,7 @@ const base::FeatureParam<base::TimeDelta>
// enables a font indexer on Android which we need to test in the field first.
BASE_FEATURE(kFontSrcLocalMatching,
"FontSrcLocalMatching",
@@ -146,18 +146,18 @@ diff --git a/skia/ext/skia_utils_win.h b/skia/ext/skia_utils_win.h
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -151,7 +151,7 @@ BASE_FEATURE(kExcludeLowEntropyImagesFromLCP,
const base::FeatureParam<double> kMinimumEntropyForLCP{
&kExcludeLowEntropyImagesFromLCP, "min_bpp", 2};
@@ -888,7 +888,7 @@ BASE_FEATURE(kFrequencyCappingForOverlayPopupDetection,
"FrequencyCappingForOverlayPopupDetection",
base::FEATURE_ENABLED_BY_DEFAULT);
-BASE_FEATURE(kGMSCoreEmoji, "GMSCoreEmoji", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kGMSCoreEmoji, "GMSCoreEmoji", base::FEATURE_DISABLED_BY_DEFAULT);
// Enable defer commits to avoid flash of unstyled content, for same origin
// navigation only.
@@ -1619,6 +1619,10 @@ BASE_FEATURE(kClipboardUnsanitizedContent,
"ClipboardUnsanitizedContent",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kGainmapHdrImages,
"GainmapHdrImages",
@@ -1837,6 +1837,10 @@ BASE_FEATURE(kWebRtcH264WithOpenH264FFmpeg,
base::FEATURE_ENABLED_BY_DEFAULT);
#endif // BUILDFLAG(RTC_USE_H264) && BUILDFLAG(ENABLE_FFMPEG_VIDEO_DECODERS)
+BASE_FEATURE(kFontsFingerprintMitigation,
+ "FontsFingerprintMitigation",
@@ -169,20 +169,20 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -840,6 +840,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCheckHTMLParserBudgetLessOften);
// it is only applicable to HTML format. See crbug.com/1268679.
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kClipboardUnsanitizedContent);
@@ -239,6 +239,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kClipboardUnsanitizedContent);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCompressParkableStrings);
+// Filter the list of fonts allowing the use of only standard fonts
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kFontsFingerprintMitigation);
+
// Make RTCVideoEncoder::Encode() asynchronous.
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebRtcEncoderAsyncEncode);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kConsumeCodeCacheOffThread);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kContentCaptureConstantStreaming);
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -724,6 +724,7 @@ component("platform") {
@@ -732,6 +732,7 @@ component("platform") {
"fonts/simple_font_data.cc",
"fonts/simple_font_data.h",
"fonts/skia/font_cache_skia.cc",
@@ -193,7 +193,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
diff --git a/third_party/blink/renderer/platform/fonts/font_cache.h b/third_party/blink/renderer/platform/fonts/font_cache.h
--- a/third_party/blink/renderer/platform/fonts/font_cache.h
+++ b/third_party/blink/renderer/platform/fonts/font_cache.h
@@ -355,7 +355,7 @@ class PLATFORM_EXPORT FontCache final {
@@ -342,7 +342,7 @@ class PLATFORM_EXPORT FontCache final {
sk_sp<SkTypeface> CreateTypeface(const FontDescription&,
const FontFaceCreationParams&,
@@ -581,7 +581,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b
diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
--- a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
+++ b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
@@ -497,6 +497,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
@@ -427,6 +427,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
sk_sp<SkTypeface> typeface;
std::string name;
@@ -589,7 +589,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c
if (alternate_font_name == AlternateFontName::kLocalUniqueFace &&
RuntimeEnabledFeatures::FontSrcLocalMatchingEnabled()) {
@@ -508,7 +509,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
@@ -438,7 +439,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
return nullptr;
} else {
@@ -598,7 +598,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c
// For a family match, Windows will always give us a valid pointer here,
// even if the face name is non-existent. We have to double-check and see if
@@ -542,7 +543,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
@@ -472,7 +473,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
FontDescription adjusted_font_description = font_description;
adjusted_font_description.SetWeight(variant_weight);
typeface =
@@ -607,7 +607,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c
if (!typeface ||
!TypefacesMatchesFamily(typeface.get(), adjusted_name)) {
return nullptr;
@@ -554,7 +555,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
@@ -484,7 +485,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFontPlatformData(
FontDescription adjusted_font_description = font_description;
adjusted_font_description.SetStretch(variant_stretch);
typeface =
+19 -17
View File
@@ -27,7 +27,7 @@ in services/firewall/tools/rules.xml
services/firewall/tools/codegen.py | 82 ++++
services/firewall/tools/decode_template.py | 85 ++++
services/firewall/tools/gen_builders.py | 65 +++
services/firewall/tools/rules.xml | 81 ++++
services/firewall/tools/rules.xml | 83 ++++
services/firewall/tools/rules_model.py | 35 ++
services/network/network_context.cc | 73 +++
.../network/public/cpp/simple_url_loader.cc | 18 +
@@ -35,7 +35,7 @@ in services/firewall/tools/rules.xml
.../loader/fetch/url_loader/url_loader.cc | 145 +++++-
.../scripts/auditor/auditor.py | 1 +
.../scripts/auditor/util.py | 1 +
28 files changed, 1500 insertions(+), 16 deletions(-)
28 files changed, 1502 insertions(+), 16 deletions(-)
create mode 100644 services/firewall/public/BUILD.gn
create mode 100644 services/firewall/public/firewall_features.cc
create mode 100644 services/firewall/public/firewall_features.h
@@ -53,7 +53,7 @@ in services/firewall/tools/rules.xml
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2439,6 +2439,7 @@ static_library("browser") {
@@ -2452,6 +2452,7 @@ static_library("browser") {
"//third_party/ungoogled:switches",
"//services/device/public/mojom",
"//services/device/public/mojom:usb",
@@ -64,15 +64,15 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -199,6 +199,7 @@
@@ -200,6 +200,7 @@
#include "sandbox/policy/features.h"
#include "sandbox/policy/switches.h"
#include "services/device/public/cpp/device_features.h"
#include "services/device/public/cpp/serial/serial_switches.h"
+#include "services/firewall/public/firewall_service.h"
#include "services/media_session/public/cpp/features.h"
#include "services/network/public/cpp/features.h"
#include "services/network/public/cpp/network_switches.h"
@@ -8090,6 +8091,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8122,6 +8123,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(page_info::kPageInfoHideSiteSettings)},
#endif // !BUILDFLAG(IS_ANDROID)
@@ -233,7 +233,7 @@ diff --git a/components/webapps/browser/android/webapk/webapk_icon_hasher.cc b/c
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1085,6 +1085,7 @@ component("net") {
@@ -1087,6 +1087,7 @@ component("net") {
"//build:chromeos_buildflags",
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
"//net/http:transport_security_state_generated_files",
@@ -258,7 +258,7 @@ diff --git a/net/traffic_annotation/network_traffic_annotation.h b/net/traffic_a
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -239,6 +239,9 @@ URLRequestHttpJob::URLRequestHttpJob(
@@ -240,6 +240,9 @@ URLRequestHttpJob::URLRequestHttpJob(
throttling_entry_ = manager->RegisterRequestUrl(request->url());
ResetTimer();
@@ -268,7 +268,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
}
URLRequestHttpJob::~URLRequestHttpJob() {
@@ -545,6 +548,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
@@ -546,6 +549,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
void URLRequestHttpJob::StartTransactionInternal() {
DCHECK(!override_response_headers_);
@@ -1399,7 +1399,7 @@ diff --git a/services/firewall/tools/rules.xml b/services/firewall/tools/rules.x
new file mode 100644
--- /dev/null
+++ b/services/firewall/tools/rules.xml
@@ -0,0 +1,81 @@
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<!--
+ This file is part of Bromite.
@@ -1427,6 +1427,8 @@ new file mode 100644
+ <!-- started by the user -->
+ <item id="download_via_context_menu" allowed="1"/>
+ <item id="offline_pages_download_file" allowed="1"/>
+ <item id="download_web_contents_frame" allowed="1"/>
+ <item id="save_file_manager" allowed="1"/>
+
+ <!-- Disallow temporarily controlling the revoked list,
+ suffers from possible privacy problems -->
@@ -1532,7 +1534,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
#include "services/network/brokered_client_socket_factory.h"
#include "services/network/cookie_manager.h"
#include "services/network/cors/cors_url_loader_factory.h"
@@ -1537,6 +1538,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
@@ -1566,6 +1567,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
void NetworkContext::CreateUDPSocket(
mojo::PendingReceiver<mojom::UDPSocket> receiver,
mojo::PendingRemote<mojom::UDPSocketListener> listener) {
@@ -1542,7 +1544,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener));
}
@@ -1549,6 +1553,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
@@ -1578,6 +1582,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
mojo::PendingRemote<mojom::UDPSocketListener> listener,
CreateRestrictedUDPSocketCallback callback) {
// SimpleHostResolver is transitively owned by |this|.
@@ -1560,7 +1562,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateRestrictedUDPSocket(
addr, mode, traffic_annotation, std::move(params), std::move(receiver),
std::move(listener), SimpleHostResolver::Create(this),
@@ -1561,6 +1576,17 @@ void NetworkContext::CreateTCPServerSocket(
@@ -1590,6 +1605,17 @@ void NetworkContext::CreateTCPServerSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver<mojom::TCPServerSocket> receiver,
CreateTCPServerSocketCallback callback) {
@@ -1578,7 +1580,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPServerSocket(
local_addr, std::move(options),
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
@@ -1575,6 +1601,21 @@ void NetworkContext::CreateTCPConnectedSocket(
@@ -1604,6 +1630,21 @@ void NetworkContext::CreateTCPConnectedSocket(
mojo::PendingReceiver<mojom::TCPConnectedSocket> receiver,
mojo::PendingRemote<mojom::SocketObserver> observer,
CreateTCPConnectedSocketCallback callback) {
@@ -1600,7 +1602,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPConnectedSocket(
local_addr, remote_addr_list, std::move(tcp_connected_socket_options),
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
@@ -1586,6 +1627,20 @@ void NetworkContext::CreateTCPBoundSocket(
@@ -1615,6 +1656,20 @@ void NetworkContext::CreateTCPBoundSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver<mojom::TCPBoundSocket> receiver,
CreateTCPBoundSocketCallback callback) {
@@ -1621,7 +1623,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPBoundSocket(
local_addr,
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
@@ -1651,6 +1706,24 @@ void NetworkContext::CreateWebSocket(
@@ -1680,6 +1735,24 @@ void NetworkContext::CreateWebSocket(
mojo::PendingRemote<mojom::WebSocketAuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client,
const absl::optional<base::UnguessableToken>& throttling_profile_id) {
@@ -1704,7 +1706,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.h b/services/network/
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
@@ -678,23 +678,150 @@ net::NetworkTrafficAnnotationTag URLLoader::Context::GetTrafficAnnotationTag(
@@ -654,23 +654,150 @@ net::NetworkTrafficAnnotationTag URLLoader::Context::GetTrafficAnnotationTag(
NOTREACHED();
[[fallthrough]];
@@ -3,21 +3,30 @@ Date: Mon, 17 Jul 2023 15:24:16 +0000
Subject: Keep Side Panel Companion disabled
---
chrome/browser/companion/core/features.cc | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
chrome/browser/companion/core/features.cc | 19 ++++++++++---------
.../ui/side_search/side_search_prefs.cc | 2 +-
chrome/browser/ui/ui_features.cc | 2 +-
components/search_engines/template_url.cc | 2 +-
4 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/chrome/browser/companion/core/features.cc b/chrome/browser/companion/core/features.cc
--- a/chrome/browser/companion/core/features.cc
+++ b/chrome/browser/companion/core/features.cc
@@ -19,14 +19,14 @@ namespace features {
namespace internal {
// This differs from the search companion by providing a separate WebUI that
// contains untrusted content in an iframe.
@@ -23,17 +23,17 @@ namespace internal {
// `kSidePanelCompanion2`. This makes it possible for Companion to be
// enabled via multiple field trials (e.g., one that's session consistent, other
// that's permanent consistent).
-BASE_FEATURE(kSidePanelCompanion,
- "SidePanelCompanion",
- base::FEATURE_DISABLED_BY_DEFAULT);
-BASE_FEATURE(kSidePanelCompanion2,
- "SidePanelCompanion2",
- base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kSidePanelCompanion, // keep
+ "SidePanelCompanion", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
+BASE_FEATURE(kSidePanelCompanion2, // keep
+ "SidePanelCompanion2", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
// Dynamically enables the search companion if the user has experiments
// enabled.
@@ -29,8 +38,8 @@ diff --git a/chrome/browser/companion/core/features.cc b/chrome/browser/companio
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
} // namespace internal
} // namespace features
@@ -39,6 +39,7 @@ const char kDisableCheckUserPermissionsForCompanion[] =
// When search companion is enabled, show a context menu item that allows the
@@ -51,6 +51,7 @@ const char kDisableCheckUserPermissionsForCompanion[] =
const char kForceCompanionPinnedState[] = "force-companion-pinned-state";
bool ShouldOverrideCheckingUserPermissionsForCompanion() {
@@ -38,5 +47,41 @@ diff --git a/chrome/browser/companion/core/features.cc b/chrome/browser/companio
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
return command_line->HasSwitch(kDisableCheckUserPermissionsForCompanion);
}
diff --git a/chrome/browser/ui/side_search/side_search_prefs.cc b/chrome/browser/ui/side_search/side_search_prefs.cc
--- a/chrome/browser/ui/side_search/side_search_prefs.cc
+++ b/chrome/browser/ui/side_search/side_search_prefs.cc
@@ -13,7 +13,7 @@ namespace side_search_prefs {
const char kSideSearchEnabled[] = "side_search.enabled";
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
- registry->RegisterBooleanPref(kSideSearchEnabled, true);
+ registry->RegisterBooleanPref(kSideSearchEnabled, false);
}
} // namespace side_search_prefs
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -95,7 +95,7 @@ BASE_FEATURE(kQuickCommands,
// Enables the side search feature for Google Search. Presents recent Google
// search results in a browser side panel.
-BASE_FEATURE(kSideSearch, "SideSearch", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kSideSearch, "SideSearch", base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kSideSearchFeedback,
"SideSearchFeedback",
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
--- a/components/search_engines/template_url.cc
+++ b/components/search_engines/template_url.cc
@@ -1823,7 +1823,7 @@ GURL TemplateURL::GenerateSuggestionURL(
}
bool TemplateURL::IsSideSearchSupported() const {
- return !side_search_param().empty();
+ return false;
}
bool TemplateURL::IsSideImageSearchSupported() const {
--
2.25.1
+21 -6
View File
@@ -13,15 +13,16 @@ keyboard events.
.../renderer/core/events/keyboard_event.h | 3 +
ui/base/ui_base_features.cc | 8 +++
ui/base/ui_base_features.h | 2 +
ui/events/event.cc | 3 +-
.../dom/dom_keyboard_layout_map_win.cc | 13 ++++
.../keycodes/keyboard_code_conversion.cc | 10 ++-
ui/events/keycodes/keyboard_code_conversion.h | 2 +-
10 files changed, 113 insertions(+), 3 deletions(-)
11 files changed, 115 insertions(+), 4 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -5092,6 +5092,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5080,6 +5080,9 @@ const FeatureEntry kFeatureEntries[] = {
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
@@ -34,7 +35,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3161,6 +3161,12 @@ const char kSystemKeyboardLockDescription[] =
@@ -3242,6 +3242,12 @@ const char kSystemKeyboardLockDescription[] =
"keyboard shortcuts and have the events routed directly to the website "
"when in fullscreen mode.";
@@ -50,7 +51,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1784,6 +1784,9 @@ extern const char kSuppressToolbarCapturesDescription[];
@@ -1833,6 +1833,9 @@ extern const char kSuppressToolbarCapturesDescription[];
extern const char kSystemKeyboardLockName[];
extern const char kSystemKeyboardLockDescription[];
@@ -211,6 +212,20 @@ diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h
COMPONENT_EXPORT(UI_BASE_FEATURES)
BASE_DECLARE_FEATURE(kUiCompositorScrollWithLayers);
diff --git a/ui/events/event.cc b/ui/events/event.cc
--- a/ui/events/event.cc
+++ b/ui/events/event.cc
@@ -1096,8 +1096,9 @@ char16_t KeyEvent::GetCharacter() const {
// consult the keyboard layout to retrieve the shifted character but we
// only supported US layout for this case in the past, so we only
// support this behavior.
+ int need_shit;
if (char16_t maybe_character = DomCodeToUsLayoutCharacter(
- UsLayoutDomKeyToDomCode(key_), EF_SHIFT_DOWN);
+ UsLayoutDomKeyToDomCode(key_, &need_shit), EF_SHIFT_DOWN);
maybe_character) {
shifted_character = maybe_character;
}
diff --git a/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc b/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc
--- a/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc
+++ b/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc
@@ -244,7 +259,7 @@ diff --git a/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc b/ui/events/k
diff --git a/ui/events/keycodes/keyboard_code_conversion.cc b/ui/events/keycodes/keyboard_code_conversion.cc
--- a/ui/events/keycodes/keyboard_code_conversion.cc
+++ b/ui/events/keycodes/keyboard_code_conversion.cc
@@ -293,16 +293,22 @@ int ModifierDomKeyToEventFlag(DomKey key) {
@@ -216,16 +216,22 @@ int ModifierDomKeyToEventFlag(DomKey key) {
// DomKey::SYMBOL_LOCK
}
@@ -272,7 +287,7 @@ diff --git a/ui/events/keycodes/keyboard_code_conversion.cc b/ui/events/keycodes
diff --git a/ui/events/keycodes/keyboard_code_conversion.h b/ui/events/keycodes/keyboard_code_conversion.h
--- a/ui/events/keycodes/keyboard_code_conversion.h
+++ b/ui/events/keycodes/keyboard_code_conversion.h
@@ -111,7 +111,7 @@ EVENTS_BASE_EXPORT int ModifierDomKeyToEventFlag(DomKey key);
@@ -99,7 +99,7 @@ EVENTS_BASE_EXPORT int ModifierDomKeyToEventFlag(DomKey key);
// Returns the physical DOM code along with a corresponding non-located
// Windows-based key_code.
@@ -8,23 +8,24 @@ to extract or send otherwise inaccessible information.
under enable-log-dangling-attributes about flag
---
chrome/browser/about_flags.cc | 5 ++++-
.../blink/renderer/core/dom/document.cc | 18 +++++++++++++++++
.../blink/renderer/core/dom/element.cc | 20 ++++++++++++++++++-
.../blink/renderer/core/dom/document.cc | 18 +++++++++++++++
.../blink/renderer/core/dom/element.cc | 20 ++++++++++++++++-
third_party/blink/renderer/core/dom/element.h | 3 ++-
.../editing/serializers/markup_formatter.cc | 9 +++++++++
.../renderer/core/html/html_base_element.cc | 6 ++++++
.../editing/serializers/markup_formatter.cc | 9 ++++++++
.../renderer/core/html/html_base_element.cc | 6 +++++
.../renderer/core/html/html_base_element.h | 2 ++
.../core/html/html_frame_element_base.cc | 10 ++++++++++
.../renderer/core/html/html_iframe_element.cc | 16 +++++++++++++++
.../core/html/html_frame_element_base.cc | 10 +++++++++
.../renderer/core/html/html_iframe_element.cc | 16 ++++++++++++++
.../renderer/core/html/html_iframe_element.h | 2 ++
.../blink/renderer/core/page/frame_tree.cc | 16 +++++++++++++++
.../platform/runtime_enabled_features.json5 | 10 ++++++++--
12 files changed, 112 insertions(+), 5 deletions(-)
.../core/loader/frame_load_request.cc | 9 ++++++++
.../blink/renderer/core/page/frame_tree.cc | 22 +++++++++++++++++++
.../platform/runtime_enabled_features.json5 | 10 +++++++--
13 files changed, 127 insertions(+), 5 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -5043,7 +5043,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5031,7 +5031,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebShareDescription, kOsWin | kOsCrOS | kOsMac,
FEATURE_VALUE_TYPE(features::kWebShare)},
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
@@ -39,7 +40,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4480,6 +4480,14 @@ void Document::ProcessBaseElement() {
@@ -4512,6 +4512,14 @@ void Document::ProcessBaseElement() {
KURL base_element_url;
if (href) {
String stripped_href = StripLeadingAndTrailingHTMLSpaces(*href);
@@ -54,7 +55,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
if (!stripped_href.empty())
base_element_url = KURL(FallbackBaseURL(), stripped_href);
}
@@ -4498,6 +4506,14 @@ void Document::ProcessBaseElement() {
@@ -4530,6 +4538,14 @@ void Document::ProcessBaseElement() {
!GetExecutionContext()->GetSecurityOrigin()->CanRequest(
base_element_url)) {
UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref);
@@ -69,7 +70,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
}
}
@@ -4517,6 +4533,8 @@ void Document::ProcessBaseElement() {
@@ -4549,6 +4565,8 @@ void Document::ProcessBaseElement() {
if (target->Contains('<'))
UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget);
base_target_ = *target;
@@ -81,7 +82,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
@@ -2531,8 +2531,26 @@ void Element::StripScriptingAttributes(
@@ -2564,8 +2564,26 @@ void Element::StripScriptingAttributes(
attribute_vector.Shrink(destination);
}
@@ -199,7 +200,7 @@ diff --git a/third_party/blink/renderer/core/html/html_frame_element_base.cc b/t
diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third_party/blink/renderer/core/html/html_iframe_element.cc
--- a/third_party/blink/renderer/core/html/html_iframe_element.cc
+++ b/third_party/blink/renderer/core/html/html_iframe_element.cc
@@ -167,6 +167,12 @@ void HTMLIFrameElement::CollectStyleForPresentationAttribute(
@@ -157,6 +157,12 @@ void HTMLIFrameElement::CollectStyleForPresentationAttribute(
}
}
@@ -212,7 +213,7 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third
void HTMLIFrameElement::ParseAttribute(
const AttributeModificationParams& params) {
const QualifiedName& name = params.name;
@@ -181,6 +187,16 @@ void HTMLIFrameElement::ParseAttribute(
@@ -171,6 +177,16 @@ void HTMLIFrameElement::ParseAttribute(
}
AtomicString old_name = name_;
name_ = value;
@@ -241,6 +242,32 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.h b/third_
private:
void SetCollapsed(bool) override;
diff --git a/third_party/blink/renderer/core/loader/frame_load_request.cc b/third_party/blink/renderer/core/loader/frame_load_request.cc
--- a/third_party/blink/renderer/core/loader/frame_load_request.cc
+++ b/third_party/blink/renderer/core/loader/frame_load_request.cc
@@ -11,6 +11,7 @@
#include "third_party/blink/public/platform/web_url_request.h"
#include "third_party/blink/renderer/bindings/core/v8/capture_source_location.h"
#include "third_party/blink/renderer/core/events/current_input_event.h"
+#include "third_party/blink/renderer/core/inspector/console_message.h"
#include "third_party/blink/renderer/core/fileapi/public_url_manager.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/platform/bindings/dom_wrapper_world.h"
@@ -134,6 +135,14 @@ const LocalFrameToken* FrameLoadRequest::GetInitiatorFrameToken() const {
const AtomicString& FrameLoadRequest::CleanNavigationTarget(
const AtomicString& target) const {
if (ContainsNewLineAndLessThan(target)) {
+ if (RuntimeEnabledFeatures::LogDanglingAttributesEnabled()) {
+ if (origin_window_->GetFrame() && origin_window_->GetFrame()->GetDocument()) {
+ origin_window_->GetFrame()->GetDocument()->AddConsoleMessage(MakeGarbageCollected<ConsoleMessage>(
+ mojom::ConsoleMessageSource::kSecurity,
+ mojom::ConsoleMessageLevel::kWarning,
+ "Bromite Dangling Markup Prevention: '" + target + "' is not allowed as navigation target"));
+ }
+ }
LogDanglingMarkupHistogram(origin_window_, target);
if (RuntimeEnabledFeatures::RemoveDanglingMarkupInTargetEnabled()) {
DEFINE_STATIC_LOCAL(const AtomicString, blank, ("_blank"));
diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/blink/renderer/core/page/frame_tree.cc
--- a/third_party/blink/renderer/core/page/frame_tree.cc
+++ b/third_party/blink/renderer/core/page/frame_tree.cc
@@ -254,9 +281,22 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl
#include "third_party/blink/renderer/core/frame/frame_client.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
@@ -239,6 +242,19 @@ FrameTree::FindResult FrameTree::FindOrCreateFrameForNavigation(
LogDanglingMarkupHistogram(current_frame->GetDocument(), name);
}
@@ -42,6 +45,12 @@ namespace {
const unsigned kInvalidChildCount = ~0U;
+bool ContainsNewLineAndLessThan(const AtomicString& target) {
+ return (target.Contains('\n') || target.Contains('\r') ||
+ target.Contains('\t')) &&
+ target.Contains('<');
+}
+
} // namespace
FrameTree::FrameTree(Frame* this_frame)
@@ -210,6 +219,19 @@ FrameTree::FindResult FrameTree::FindOrCreateFrameForNavigation(
if (request.GetNavigationPolicy() != kNavigationPolicyCurrentTab)
return FindResult(current_frame, false);
+ if (ContainsNewLineAndLessThan(name)) {
+ // if the name contains a \n or <, the search is always deactivated
@@ -277,7 +317,7 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1493,8 +1493,8 @@
@@ -1514,8 +1514,8 @@
// Experiment with preventing some instances of mutation XSS
// by escaping "<" and ">" in attribute values.
// See: crbug.com/1175016
@@ -287,8 +327,8 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+ status: "stable",
},
{
// Non-standard API Event.path. Should be replaced by Event.composedPath.
@@ -2196,6 +2196,12 @@
name: "EventTimingInteractionCount",
@@ -2214,6 +2214,12 @@
// Use LongAnimationFrameMonitor to emit longtask entries
name: "LongTaskFromLongAnimationFrame"
},
@@ -470,7 +470,7 @@ diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
--- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc
@@ -1343,7 +1343,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
@@ -1336,7 +1336,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
IsCertStatusError(server_cert_verify_result_.cert_status) &&
result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED &&
context_->transport_security_state()->ShouldSSLErrorsBeFatal(
@@ -506,7 +506,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -203,7 +203,7 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
@@ -204,7 +204,7 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
// Check for HSTS upgrade.
TransportSecurityState* hsts =
request->context()->transport_security_state();
@@ -515,7 +515,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
return std::make_unique<URLRequestRedirectJob>(
request, UpgradeSchemeToCryptographic(url),
// Use status code 307 to preserve the method, so POST requests work.
@@ -992,7 +992,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
@@ -993,7 +993,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
HttpResponseHeaders* headers = GetResponseHeaders();
std::string value;
if (headers->EnumerateHeader(nullptr, "Strict-Transport-Security", &value))
@@ -524,7 +524,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
}
void URLRequestHttpJob::OnStartCompleted(int result) {
@@ -1062,7 +1062,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) {
@@ -1063,7 +1063,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) {
TransportSecurityState* state = context->transport_security_state();
NotifySSLCertificateError(
result, transaction_->GetResponseInfo()->ssl_info,
@@ -536,7 +536,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1799,17 +1799,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
@@ -1828,17 +1828,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
std::move(callback).Run();
}
@@ -559,7 +559,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
IsHSTSActiveForHostCallback callback) {
net::TransportSecurityState* security_state =
url_request_context_->transport_security_state();
@@ -1819,10 +1821,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
@@ -1848,10 +1850,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
return;
}
@@ -572,7 +572,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
GetHSTSStateCallback callback) {
base::Value::Dict result;
@@ -1858,10 +1860,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
@@ -1887,10 +1889,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
net::TransportSecurityState::STSState dynamic_sts_state;
net::TransportSecurityState::PKPState dynamic_pkp_state;
bool found_sts_dynamic = transport_security_state->GetDynamicSTSState(
@@ -585,7 +585,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
if (found_sts_dynamic) {
result.Set("dynamic_upgrade_mode",
static_cast<int>(dynamic_sts_state.upgrade_mode));
@@ -1897,6 +1899,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
@@ -1926,6 +1928,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
}
void NetworkContext::DeleteDynamicDataForHost(
@@ -593,7 +593,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
const std::string& host,
DeleteDynamicDataForHostCallback callback) {
net::TransportSecurityState* transport_security_state =
@@ -1907,7 +1910,7 @@ void NetworkContext::DeleteDynamicDataForHost(
@@ -1936,7 +1939,7 @@ void NetworkContext::DeleteDynamicDataForHost(
}
std::move(callback).Run(
@@ -602,7 +602,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
}
void NetworkContext::EnableStaticKeyPinningForTesting(
@@ -1948,7 +1951,7 @@ void NetworkContext::PreconnectSockets(
@@ -1977,7 +1980,7 @@ void NetworkContext::PreconnectSockets(
DCHECK(!require_network_anonymization_key_ ||
!network_anonymization_key.IsEmpty());
@@ -611,7 +611,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
// |PreconnectSockets| may receive arguments from the renderer, which is not
// guaranteed to validate them.
@@ -2736,12 +2739,15 @@ void NetworkContext::OnConnectionError() {
@@ -2767,12 +2770,15 @@ void NetworkContext::OnConnectionError() {
std::move(on_connection_close_callback_).Run(this);
}
@@ -631,7 +631,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
diff --git a/services/network/network_context.h b/services/network/network_context.h
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -418,15 +418,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -419,15 +419,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const std::string& ocsp_result,
const std::string& sct_list,
VerifyCertForSignedExchangeCallback callback) override;
@@ -652,7 +652,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
const std::string& host,
DeleteDynamicDataForHostCallback callback) override;
void SetCorsOriginAccessListsForOrigin(
@@ -679,7 +681,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -686,7 +688,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
mojo::PendingRemote<mojom::CookieAccessObserver> cookie_observer,
net::FirstPartySetMetadata first_party_set_metadata);
@@ -665,7 +665,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1414,16 +1414,16 @@ interface NetworkContext {
@@ -1434,16 +1434,16 @@ interface NetworkContext {
// Adds explicitly-specified data as if it was processed from an
// HSTS header. Used by tests and implementation of chrome://net-internals.
@@ -685,7 +685,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
=> (mojo_base.mojom.DictionaryValue state);
// Sets allowed and blocked origins respectively for the URLLoaderFactory
@@ -1442,7 +1442,7 @@ interface NetworkContext {
@@ -1462,7 +1462,7 @@ interface NetworkContext {
// Deletes any dynamic data stored for |host| from the transport
// security state. Returns true iff an entry was deleted.
// See net::TransportSecurityState::DeleteDynamicDataForHost for more detail.
@@ -22,7 +22,7 @@ samesite=none first-party cookies are sent in third-party contexts.
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -247,8 +247,8 @@ BASE_FEATURE(kWaitForFirstPartySetsInit,
@@ -252,8 +252,8 @@ BASE_FEATURE(kWaitForFirstPartySetsInit,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kPartitionedCookies,
@@ -33,7 +33,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
BASE_FEATURE(kNoncedPartitionedCookies,
"NoncedPartitionedCookies",
@@ -263,8 +263,8 @@ BASE_FEATURE(kStaticKeyPinningEnforcement,
@@ -268,8 +268,8 @@ BASE_FEATURE(kStaticKeyPinningEnforcement,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCookieDomainRejectNonASCII,
@@ -47,7 +47,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
--- a/net/cookies/canonical_cookie.cc
+++ b/net/cookies/canonical_cookie.cc
@@ -1575,8 +1575,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
@@ -1576,8 +1576,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
if (IsPartitioned()) {
if (CookiePartitionKey::HasNonce(partition_key_))
return true;
@@ -56,7 +56,7 @@ diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
}
return true;
@@ -1850,15 +1848,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url,
@@ -1851,15 +1849,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url,
bool secure,
bool is_partitioned,
bool partition_has_nonce) {
@@ -17,7 +17,7 @@ without asking the native code
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java
@@ -970,44 +970,6 @@ public class OMADownloadHandler extends BroadcastReceiver {
@@ -969,44 +969,6 @@ public class OMADownloadHandler extends BroadcastReceiver {
protected Boolean doInBackground() {
HttpURLConnection urlConnection = null;
boolean success = false;
@@ -220,7 +220,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
@VisibleForTesting
protected List<String> getAvailableInstanceManipulations() {
List<String> compressions = new ArrayList<String>();
@@ -486,24 +478,8 @@ public class VariationsSeedFetcher {
@@ -506,24 +498,8 @@ public class VariationsSeedFetcher {
HttpURLConnection connection = null;
try {
long startTimeMillis = SystemClock.elapsedRealtime();
@@ -9,7 +9,7 @@ Subject: Remove experimental-relative-c++-abi-vtables
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -679,11 +679,6 @@ config("compiler") {
@@ -682,11 +682,6 @@ config("compiler") {
cflags_cc += [ "-Wno-trigraphs" ]
}
@@ -3,14 +3,14 @@ Date: Tue, 27 Jun 2023 11:11:53 +0000
Subject: Remove support for device memory and cpu recovery
---
storage/browser/blob/blob_memory_controller.cc | 13 +++++++++++--
.../browser/quota/quota_device_info_helper.cc | 17 +++++++++++++++--
.../device_memory/approximated_device_memory.cc | 7 ++++++-
third_party/blink/common/features.cc | 4 ++--
.../core/frame/navigator_concurrent_hardware.cc | 8 ++++++--
.../blink/renderer/core/timing/memory_info.cc | 14 +++++++++++---
.../renderer/core/timing/window_performance.cc | 2 +-
7 files changed, 52 insertions(+), 13 deletions(-)
.../browser/blob/blob_memory_controller.cc | 20 ++++++++++---------
.../browser/quota/quota_device_info_helper.cc | 17 ++++++++++++++--
.../approximated_device_memory.cc | 7 ++++++-
third_party/blink/common/features.cc | 4 ++--
.../frame/navigator_concurrent_hardware.cc | 8 ++++++--
.../blink/renderer/core/timing/memory_info.cc | 14 ++++++++++---
.../core/timing/window_performance.cc | 2 +-
7 files changed, 52 insertions(+), 20 deletions(-)
diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/blob/blob_memory_controller.cc
--- a/storage/browser/blob/blob_memory_controller.cc
@@ -22,16 +22,16 @@ diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/bl
+// static
+#if BUILDFLAG(IS_ANDROID)
+float approximated_device_memory_gb_ = 4.0;
+constexpr size_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
+constexpr int64_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
+#else
+float approximated_device_memory_gb_ = 8.0;
+constexpr size_t approximated_device_disk_size = 200ull * 1024 * 1024 * 1024;
+constexpr int64_t approximated_device_disk_size = 200ull * 1024 * 1024 * 1024;
+#endif
+
File::Error CreateBlobDirectory(const FilePath& blob_storage_dir) {
File::Error error = File::FILE_OK;
base::CreateDirectoryAndGetError(blob_storage_dir, &error);
@@ -78,9 +87,9 @@ BlobStorageLimits CalculateBlobStorageLimitsImpl(
@@ -78,23 +87,16 @@ BlobStorageLimits CalculateBlobStorageLimitsImpl(
int64_t disk_size = 0ull;
uint64_t memory_size = optional_memory_size_for_testing
? optional_memory_size_for_testing.value()
@@ -43,6 +43,20 @@ diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/bl
BlobStorageLimits limits;
// Don't do specialty configuration for error size (-1).
if (memory_size > 0) {
-#if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_ANDROID) && \
- defined(ARCH_CPU_64_BITS)
constexpr size_t kTwoGigabytes = 2ull * 1024 * 1024 * 1024;
limits.max_blob_in_memory_space = kTwoGigabytes;
-#elif BUILDFLAG(IS_ANDROID)
- limits.max_blob_in_memory_space = static_cast<size_t>(memory_size / 100);
-#else
- limits.max_blob_in_memory_space = static_cast<size_t>(memory_size / 5);
-#endif
}
// Devices just on the edge (RAM == 256MB) should not fail because
// max_blob_in_memory_space turns out smaller than min_page_file_size
diff --git a/storage/browser/quota/quota_device_info_helper.cc b/storage/browser/quota/quota_device_info_helper.cc
--- a/storage/browser/quota/quota_device_info_helper.cc
+++ b/storage/browser/quota/quota_device_info_helper.cc
@@ -55,10 +69,10 @@ diff --git a/storage/browser/quota/quota_device_info_helper.cc b/storage/browser
+// static
+#if BUILDFLAG(IS_ANDROID)
+float approximated_device_memory_gb_ = 4.0;
+constexpr size_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
+constexpr int64_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
+#else
+float approximated_device_memory_gb_ = 8.0;
+constexpr size_t approximated_device_disk_size = 200ull * 1024 * 1024 * 1024;
+constexpr int64_t approximated_device_disk_size = 200ull * 1024 * 1024 * 1024;
+#endif
+
+}
@@ -105,7 +119,7 @@ diff --git a/third_party/blink/common/device_memory/approximated_device_memory.c
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -400,8 +400,8 @@ BASE_FEATURE(kV8OptimizeWorkersForPerformance,
@@ -1835,8 +1835,8 @@ BASE_FEATURE(kWebFontsCacheAwareTimeoutAdaption,
// Controls whether the implementation of the performance.measureMemory
// web API uses PerformanceManager or not.
BASE_FEATURE(kWebMeasureMemoryViaPerformanceManager,
@@ -114,8 +128,8 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
+ "WebMeasureMemoryViaPerformanceManager", // need to be
+ base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default
// Enables negotiation of experimental multiplex codec in SDP.
BASE_FEATURE(kWebRtcMultiplexCodec,
BASE_FEATURE(kWebRtcCombinedNetworkAndWorkerThread,
"WebRtcCombinedNetworkAndWorkerThread",
diff --git a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc b/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
--- a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
+++ b/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
@@ -156,9 +170,9 @@ diff --git a/third_party/blink/renderer/core/timing/memory_info.cc b/third_party
static constexpr base::TimeDelta kTwentyMinutes = base::Minutes(20);
static constexpr base::TimeDelta kFiftyMs = base::Milliseconds(50);
+#if BUILDFLAG(IS_ANDROID)
+static constexpr size_t heap_size_limit = 528744448;
+static constexpr int64_t heap_size_limit = 528744448;
+#else
+static constexpr size_t heap_size_limit = 4294705152;
+static constexpr int64_t heap_size_limit = 4294705152;
+#endif
static void GetHeapSize(HeapInfo& info) {
@@ -179,7 +193,7 @@ diff --git a/third_party/blink/renderer/core/timing/memory_info.cc b/third_party
diff --git a/third_party/blink/renderer/core/timing/window_performance.cc b/third_party/blink/renderer/core/timing/window_performance.cc
--- a/third_party/blink/renderer/core/timing/window_performance.cc
+++ b/third_party/blink/renderer/core/timing/window_performance.cc
@@ -253,7 +253,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const {
@@ -254,7 +254,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const {
auto* memory_info = MakeGarbageCollected<MemoryInfo>(
Platform::Current()->IsLockedToSite()
? MemoryInfo::Precision::kPrecise
@@ -26,7 +26,7 @@ Subject: Restore LastTabStandingTracker
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1863,6 +1863,16 @@ static_library("browser") {
@@ -1875,6 +1875,16 @@ static_library("browser") {
"webid/federated_identity_permission_context_factory.h",
]
@@ -377,7 +377,7 @@ new file mode 100644
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -99,6 +99,7 @@
@@ -104,6 +104,7 @@
#include "chrome/browser/password_manager/password_reuse_manager_factory.h"
#include "chrome/browser/password_manager/password_store_factory.h"
#include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h"
@@ -385,7 +385,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
#include "chrome/browser/permissions/notification_permission_review_service_factory.h"
#include "chrome/browser/permissions/notifications_engagement_service_factory.h"
#include "chrome/browser/permissions/one_time_permissions_tracker_factory.h"
@@ -689,6 +690,7 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -717,6 +718,7 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
KAnonymityServiceFactory::GetInstance();
LanguageModelManagerFactory::GetInstance();
@@ -396,18 +396,18 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -54,6 +54,7 @@
#include "chrome/browser/page_info/page_info_features.h"
@@ -55,6 +55,7 @@
#include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h"
#include "chrome/browser/password_manager/chrome_password_manager_client.h"
#include "chrome/browser/performance_manager/public/user_tuning/user_performance_tuning_manager.h"
+#include "chrome/browser/permissions/last_tab_standing_tracker_tab_helper.h"
#include "chrome/browser/permissions/one_time_permissions_tracker_helper.h"
#include "chrome/browser/permissions/unused_site_permissions_service_factory.h"
#include "chrome/browser/predictors/loading_predictor_factory.h"
@@ -363,6 +364,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -368,6 +369,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
HistoryClustersTabHelper::CreateForWebContents(web_contents);
HttpsOnlyModeTabHelper::CreateForWebContents(web_contents);
webapps::InstallableManager::CreateForWebContents(web_contents);
webapps::MLInstallabilityPromoter::CreateForWebContents(web_contents);
+ LastTabStandingTrackerTabHelper::CreateForWebContents(web_contents);
login_detection::LoginDetectionTabHelper::MaybeCreateForWebContents(
web_contents);
@@ -9,7 +9,7 @@ Subject: Show warnings on downloads over HTTP
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -1136,9 +1136,9 @@ BASE_FEATURE(kTreatUnsafeDownloadsAsActive,
@@ -1129,9 +1129,9 @@ BASE_FEATURE(kTreatUnsafeDownloadsAsActive,
base::FEATURE_ENABLED_BY_DEFAULT);
// Show warnings on downloads not delivered over HTTPS.
@@ -9,7 +9,7 @@ Subject: TEMP Add a log to track strange behavior
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
--- a/net/spdy/spdy_session.cc
+++ b/net/spdy/spdy_session.cc
@@ -3262,6 +3262,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id,
@@ -3196,6 +3196,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id,
if (it == active_streams_.end()) {
// NOTE: it may just be that the stream was cancelled.
LOG(WARNING) << "Received HEADERS for invalid stream " << stream_id;
@@ -9,7 +9,7 @@ Subject: Temp Disable kAutomaticLazyFrameLoadingToEmbeds
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -65,7 +65,7 @@ const base::FeatureParam<int> kSkipFrameCountForLazyAds(
@@ -160,7 +160,7 @@ const base::FeatureParam<int> kSkipFrameCountForLazyAds(
// Vitals.
BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbeds,
"AutomaticLazyFrameLoadingToEmbeds", // must be enabled
@@ -0,0 +1,22 @@
From: Your Name <you@example.com>
Date: Sat, 12 Aug 2023 14:48:57 +0000
Subject: Temp disable predictive back gesture
---
chrome/android/java/AndroidManifest.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -189,7 +189,7 @@ by a child template that "extends" this file.
android:networkSecurityConfig="@xml/network_security_config"
android:allowAudioPlaybackCapture="false"
android:appComponentFactory="org.chromium.chrome.browser.base.SplitCompatAppComponentFactory"
- android:enableOnBackInvokedCallback="true"
+ android:enableOnBackInvokedCallback="false"
{% block extra_application_attributes %}{% endblock %}>
{% if channel in ['canary', 'dev', 'default'] %}
--
2.25.1
@@ -9,7 +9,7 @@ Subject: WIN ADDTO AImageReader CFI crash mitigations
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -614,10 +614,12 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -616,10 +616,12 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
#endif // BUILDFLAG(IS_WIN)
@@ -9,7 +9,7 @@ Subject: WIN ADDTO Add AllowUserCertificates flag
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -9226,10 +9226,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9235,10 +9235,12 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kHttpsUpgradesDescription, kOsDesktop | kOsAndroid,
FEATURE_VALUE_TYPE(features::kHttpsUpgrades)},
@@ -10,7 +10,7 @@ Subject: WIN ADDTO Add a proxy configuration page
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -293,10 +293,8 @@
@@ -285,10 +285,8 @@
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
</if>
<!-- Bromite Proxy Configuration UI -->
@@ -1,62 +0,0 @@
From: Your Name <you@example.com>
Date: Wed, 12 Oct 2022 09:09:26 +0000
Subject: WIN ADDTO Add an always-incognito mode
---
.../browser/autocomplete/chrome_autocomplete_provider_client.cc | 2 ++
.../content_settings/host_content_settings_map_factory.cc | 2 ++
chrome/browser/history/history_tab_helper.cc | 2 ++
3 files changed, 6 insertions(+)
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -355,9 +355,11 @@ ChromeAutocompleteProviderClient::GetOnDeviceTailModelService() const {
}
bool ChromeAutocompleteProviderClient::IsAlwaysIncognitoEnabled() const {
+#if BUILDFLAG(IS_ANDROID)
if (profile_->GetPrefs()->GetBoolean(prefs::kAlwaysIncognitoEnabled)) {
return true;
}
+#endif
return false;
}
diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.cc b/chrome/browser/content_settings/host_content_settings_map_factory.cc
--- a/chrome/browser/content_settings/host_content_settings_map_factory.cc
+++ b/chrome/browser/content_settings/host_content_settings_map_factory.cc
@@ -125,6 +125,7 @@ scoped_refptr<RefcountedKeyedService>
bool always_incognito_enabled = false;
bool force_save_site_settings = false;
+#if BUILDFLAG(IS_ANDROID)
PrefService* prefService = original_profile->GetPrefs();
if (prefService->GetBoolean(prefs::kAlwaysIncognitoEnabled)) {
always_incognito_enabled = true;
@@ -134,6 +135,7 @@ scoped_refptr<RefcountedKeyedService>
profile = original_profile;
force_save_site_settings = true;
}
+#endif
scoped_refptr<HostContentSettingsMap> settings_map(new HostContentSettingsMap(
profile->GetPrefs(),
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
--- a/chrome/browser/history/history_tab_helper.cc
+++ b/chrome/browser/history/history_tab_helper.cc
@@ -493,10 +493,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
// static
void HistoryTabHelper::RegisterProfilePrefs(PrefRegistrySimple* registry) {
+#if BUILDFLAG(IS_ANDROID)
registry->RegisterBooleanPref(prefs::kIncognitoTabHistoryEnabled,
/*default_value=*/false);
registry->RegisterBooleanPref(prefs::kIncognitoSaveSiteSettingEnabled,
/*default_value=*/false);
+#endif
}
void HistoryTabHelper::WebContentsDestroyed() {
--
2.25.1
@@ -5,14 +5,14 @@ Subject: WIN ADDTO Add bookmark import/export actions
---
chrome/browser/about_flags.cc | 2 ++
chrome/browser/bookmarks/bookmark_html_writer.cc | 7 ++++++-
.../lib/browser/headless_select_file_dialog_factory.cc | 4 ++++
.../select_file_dialog/headless_select_file_dialog.cc | 4 ++++
ui/shell_dialogs/select_file_dialog_win.cc | 5 +++++
4 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -9451,11 +9451,13 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9462,11 +9462,13 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(net::features::kIsCleartextPermitted)},
#endif
@@ -56,10 +56,10 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
if (!file_->IsValid()) {
PLOG(ERROR) << "Could not create " << path_;
return false;
diff --git a/headless/lib/browser/headless_select_file_dialog_factory.cc b/headless/lib/browser/headless_select_file_dialog_factory.cc
--- a/headless/lib/browser/headless_select_file_dialog_factory.cc
+++ b/headless/lib/browser/headless_select_file_dialog_factory.cc
@@ -57,6 +57,10 @@ class HeadlessSelectFileDialog : public ui::SelectFileDialog {
diff --git a/components/headless/select_file_dialog/headless_select_file_dialog.cc b/components/headless/select_file_dialog/headless_select_file_dialog.cc
--- a/components/headless/select_file_dialog/headless_select_file_dialog.cc
+++ b/components/headless/select_file_dialog/headless_select_file_dialog.cc
@@ -58,6 +58,10 @@ class HeadlessSelectFileDialog : public ui::SelectFileDialog {
// ui::SelectFileDialog:
bool HasMultipleFileTypeChoicesImpl() override { return false; }
@@ -1,25 +0,0 @@
From: Your Name <you@example.com>
Date: Wed, 12 Oct 2022 12:00:43 +0000
Subject: WIN ADDTO Add flag to disable external intent re
---
chrome/browser/about_flags.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3848,9 +3848,11 @@ const FeatureEntry kFeatureEntries[] = {
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
flag_descriptions::kUiPartialSwapDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
+#if BUILDFLAG(IS_ANDROID)
{"disable-external-intent-requests", flag_descriptions::kDisableExternalIntentRequestsName,
flag_descriptions::kDisableExternalIntentRequestsDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE("disable-external-intent-requests")},
+#endif
{"disable-webrtc-hw-decoding", flag_descriptions::kWebrtcHwDecodingName,
flag_descriptions::kWebrtcHwDecodingDescription, kOsAndroid | kOsCrOS,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWDecoding)},
--
2.25.1
@@ -1,22 +0,0 @@
From: Your Name <you@example.com>
Date: Wed, 12 Oct 2022 11:52:11 +0000
Subject: WIN ADDTO Add lifetime options for permissions
---
.../ui/views/permissions/permission_prompt_bubble_base_view.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
@@ -336,7 +336,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallbacks(
delegate_->Accept();
return;
case PermissionDialogButton::kAcceptOnce:
- delegate_->AcceptThisTime();
+ delegate_->AcceptThisTime(content_settings::LifetimeMode::Always);
return;
case PermissionDialogButton::kDeny:
delegate_->Deny();
--
2.25.1
@@ -20,7 +20,7 @@ Subject: WIN ADDTO Experimental user scripts support
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3528,11 +3528,13 @@ static_library("browser") {
@@ -3517,11 +3517,13 @@ static_library("browser") {
]
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
}
@@ -42,8 +42,8 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -8124,9 +8124,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(ash::features::kClipboardHistoryReorder)},
@@ -8158,9 +8158,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(ash::features::kClipboardHistoryLongpress)},
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_ANDROID)
@@ -57,7 +57,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -1533,7 +1533,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1634,7 +1634,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
translate::TranslatePrefs::RegisterProfilePrefs(registry);
omnibox::RegisterProfilePrefs(registry);
ZeroSuggestProvider::RegisterProfilePrefs(registry);
@@ -65,8 +65,8 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
user_scripts::UserScriptsPrefs::RegisterProfilePrefs(registry);
+#endif
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
RegisterSessionServiceLogProfilePrefs(registry);
#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(GOOGLE_CHROME_BRANDING)
promos_utils::RegisterProfilePrefs(registry);
diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
--- a/chrome/browser/profiles/BUILD.gn
+++ b/chrome/browser/profiles/BUILD.gn
@@ -87,8 +87,8 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -450,7 +450,9 @@
#include "chrome/browser/net/nss_service_factory.h"
@@ -469,7 +469,9 @@
#include "chrome/browser/offline_pages/request_coordinator_factory.h"
#endif
+#if BUILDFLAG(IS_ANDROID)
@@ -97,7 +97,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
namespace chrome {
@@ -1040,7 +1042,9 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -1097,7 +1099,9 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
WebDataServiceFactory::GetInstance();
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
@@ -188,7 +188,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -519,8 +519,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -529,8 +529,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<UserActionsUI>;
if (url.host_piece() == chrome::kChromeUIVersionHost)
return &NewWebUI<VersionUI>;
@@ -202,7 +202,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
--- a/chrome/renderer/BUILD.gn
+++ b/chrome/renderer/BUILD.gn
@@ -153,7 +153,6 @@ static_library("renderer") {
@@ -154,7 +154,6 @@ static_library("renderer") {
"//components/content_capture/common",
"//components/content_capture/renderer",
"//components/content_settings/common:mojom",
@@ -210,7 +210,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
"//components/content_settings/renderer",
"//components/continuous_search/renderer",
"//components/dom_distiller/content/renderer",
@@ -231,6 +230,12 @@ static_library("renderer") {
@@ -234,6 +233,12 @@ static_library("renderer") {
"//v8",
]
@@ -266,7 +266,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_PPAPI)
new PepperHelper(render_frame);
@@ -1610,6 +1616,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
@@ -1619,6 +1625,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentStart(
render_frame);
// |render_frame| might be dead by now.
@@ -276,7 +276,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
static_assert(false, "Compiler error: extensions cannot be enabled with user scripts");
#endif
user_scripts::UserScriptsRendererClient* userscript_client =
@@ -1618,6 +1627,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
@@ -1627,6 +1636,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
userscript_client->RunScriptsAtDocumentStart(
render_frame);
}
@@ -284,7 +284,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1626,6 +1636,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1635,6 +1645,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentEnd(
render_frame);
// |render_frame| might be dead by now.
@@ -294,7 +294,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
static_assert(false, "Compiler error: extensions cannot be enabled with user scripts");
#endif
user_scripts::UserScriptsRendererClient* userscript_client =
@@ -1634,6 +1647,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1643,6 +1656,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
userscript_client->RunScriptsAtDocumentEnd(
render_frame);
}
@@ -302,7 +302,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1642,6 +1656,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1651,6 +1665,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentIdle(
render_frame);
// |render_frame| might be dead by now.
@@ -312,7 +312,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
static_assert(false, "Compiler error: extensions cannot be enabled with user scripts");
#endif
user_scripts::UserScriptsRendererClient* userscript_client =
@@ -1650,6 +1667,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1659,6 +1676,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
userscript_client->RunScriptsAtDocumentIdle(
render_frame);
}
@@ -1,49 +0,0 @@
From: Your Name <you@example.com>
Date: Wed, 12 Oct 2022 11:41:35 +0000
Subject: WIN ADDTO Remove binary blob integrations
---
components/gcm_driver/gcm_client_impl.cc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc
--- a/components/gcm_driver/gcm_client_impl.cc
+++ b/components/gcm_driver/gcm_client_impl.cc
@@ -450,7 +450,7 @@ void GCMClientImpl::StartGCM() {
void GCMClientImpl::InitializeMCSClient() {
DCHECK(network_connection_tracker_);
- return;
+ if ((true)) return;
std::vector<GURL> endpoints;
endpoints.push_back(gservices_settings_.GetMCSMainEndpoint());
GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint();
@@ -644,7 +644,7 @@ void GCMClientImpl::AddHeartbeatInterval(const std::string& scope,
int interval_ms) {
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
DCHECK(mcs_client_);
- return;
+ if ((true)) return;
mcs_client_->AddHeartbeatInterval(scope, interval_ms);
}
@@ -656,7 +656,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) {
void GCMClientImpl::StartCheckin() {
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
- return;
+ if ((true)) return;
// Make sure no checkin is in progress.
if (checkin_request_)
@@ -739,7 +739,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
void GCMClientImpl::SchedulePeriodicCheckin() {
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
- return;
+ if ((true)) return;
// Make sure no checkin is in progress.
if (checkin_request_.get() || !device_checkin_info_.accounts_set)
--
2.25.1
@@ -9,7 +9,7 @@ Subject: WIN ADDTO Restore Search Ready Omnibox flag
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -9423,9 +9423,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9432,9 +9432,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kDesksTemplatesDescription, kOsCrOS,
FEATURE_VALUE_TYPE(ash::features::kDesksTemplates)},
#endif
@@ -9,7 +9,7 @@ Subject: WIN ADDTO Revert flags: remove num-raster-thre
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -383,6 +383,7 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = {
@@ -390,6 +390,7 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = {
"single-fullscreen,single-on-top,underlay"},
};
@@ -17,7 +17,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
{flags_ui::kGenericExperimentChoiceDefault, "", ""},
{flag_descriptions::kNumRasterThreadsOne, cc::switches::kNumRasterThreads, "1"},
@@ -391,6 +392,7 @@ const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
@@ -398,6 +399,7 @@ const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
"3"},
{flag_descriptions::kNumRasterThreadsFour, cc::switches::kNumRasterThreads,
"4"}};
@@ -9,7 +9,7 @@ Subject: WIN ADDTO openH264: enable ARM/ARM64 optimizati
diff --git a/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc b/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc
--- a/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc
+++ b/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc
@@ -213,9 +213,9 @@ bool H264Encoder::ConfigureEncoder(const gfx::Size& size) {
@@ -212,9 +212,9 @@ bool H264Encoder::ConfigureEncoder(const gfx::Size& size) {
init_params.iRCMode = RC_OFF_MODE;
}
@@ -9,7 +9,7 @@ Subject: WIN Disable TabHoverCard images
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -212,11 +212,7 @@ BASE_FEATURE(kTabGroupsSaveSyncIntegration,
@@ -186,11 +186,7 @@ BASE_FEATURE(kTabHoverCardImageSettings,
// https://crbug.com/928954
BASE_FEATURE(kTabHoverCardImages,
"TabHoverCardImages",
+1 -1
View File
@@ -9,7 +9,7 @@ Subject: WIN Disable first run
diff --git a/chrome/browser/ui/startup/first_run_service.cc b/chrome/browser/ui/startup/first_run_service.cc
--- a/chrome/browser/ui/startup/first_run_service.cc
+++ b/chrome/browser/ui/startup/first_run_service.cc
@@ -177,7 +177,7 @@ bool IsFirstRunMarkedFinishedInPrefs() {
@@ -185,7 +185,7 @@ bool IsFirstRunMarkedFinishedInPrefs() {
// static
void FirstRunService::RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
+18 -9
View File
@@ -3,10 +3,11 @@ Date: Fri, 17 Feb 2023 16:22:00 +0000
Subject: WIN Disable sharing hub
---
chrome/browser/sharing_hub/sharing_hub_features.cc | 2 +-
chrome/browser/ui/browser_command_controller.cc | 8 ++++----
.../qrcode_generator_bubble_controller.cc | 5 +----
3 files changed, 6 insertions(+), 9 deletions(-)
chrome/browser/sharing_hub/sharing_hub_features.cc | 2 +-
chrome/browser/ui/browser_command_controller.cc | 6 +++---
chrome/browser/ui/browser_commands.cc | 1 +
.../qrcode_generator/qrcode_generator_bubble_controller.cc | 5 +----
4 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser/sharing_hub/sharing_hub_features.cc
--- a/chrome/browser/sharing_hub/sharing_hub_features.cc
@@ -23,12 +24,9 @@ diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -1638,12 +1638,12 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
command_updater_.UpdateCommandEnabled(IDC_CHROME_TIPS, show_main_ui);
@@ -1700,10 +1700,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
command_updater_.UpdateCommandEnabled(IDC_CHROME_WHATS_NEW, show_main_ui);
#endif
- command_updater_.UpdateCommandEnabled(IDC_QRCODE_GENERATOR, show_main_ui);
+ command_updater_.UpdateCommandEnabled(IDC_QRCODE_GENERATOR, false);
command_updater_.UpdateCommandEnabled(IDC_CONTENT_CONTEXT_SHARING_SUBMENU,
- show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_SHARING_HUB, show_main_ui);
@@ -38,8 +36,19 @@ diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui
- show_main_ui);
+ false);
command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui);
command_updater_.UpdateCommandEnabled(IDC_SEND_TAB_TO_SELF, show_main_ui);
command_updater_.UpdateCommandEnabled(IDC_SHOW_MANAGEMENT_PAGE, true);
command_updater_.UpdateCommandEnabled(IDC_FOLLOW, show_main_ui);
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc
--- a/chrome/browser/ui/browser_commands.cc
+++ b/chrome/browser/ui/browser_commands.cc
@@ -1479,6 +1479,7 @@ void SendTabToSelfFromPageAction(Browser* browser) {
}
bool CanGenerateQrCode(const Browser* browser) {
+ if ((true)) return false;
return !sharing_hub::SharingIsDisabledByPolicy(browser->profile()) &&
qrcode_generator::QRCodeGeneratorBubbleController::
IsGeneratorAvailable(browser->tab_strip_model()
diff --git a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
--- a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
+++ b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
@@ -10,7 +10,7 @@ Subject: WIN Enable Network Service Sandbox and CIG
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -769,7 +769,7 @@ BASE_FEATURE(kRendererCodeIntegrity,
@@ -766,7 +766,7 @@ BASE_FEATURE(kRendererCodeIntegrity,
// https://blogs.windows.com/blog/tag/code-integrity-guard/.
BASE_FEATURE(kNetworkServiceCodeIntegrity,
"NetworkServiceCodeIntegrity",
+1 -1
View File
@@ -9,7 +9,7 @@ Subject: WIN enable pdf plugin
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -2005,7 +2005,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -2058,7 +2058,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
@@ -26,7 +26,7 @@ diff --git a/chrome/browser/extensions/webstore_install_helper.cc b/chrome/brows
diff --git a/chrome/browser/extensions/webstore_installer.cc b/chrome/browser/extensions/webstore_installer.cc
--- a/chrome/browser/extensions/webstore_installer.cc
+++ b/chrome/browser/extensions/webstore_installer.cc
@@ -640,7 +640,7 @@ void WebstoreInstaller::StartDownload(const std::string& extension_id,
@@ -624,7 +624,7 @@ void WebstoreInstaller::StartDownload(const std::string& extension_id,
download_url_, render_process_host_id, render_frame_host->GetRoutingID(),
traffic_annotation));
params->set_file_path(file);
@@ -80,7 +80,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat
#if BUILDFLAG(IS_WIN)
#include <malloc.h>
@@ -1070,6 +1073,13 @@ absl::optional<int> ChromeMainDelegate::BasicStartupComplete() {
@@ -1080,6 +1083,13 @@ absl::optional<int> ChromeMainDelegate::BasicStartupComplete() {
return chrome::RESULT_CODE_INVALID_SANDBOX_STATE;
#endif
@@ -97,7 +97,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -6489,6 +6489,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
@@ -6699,6 +6699,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
You are using an unsupported feature flag: <ph name="BAD_FLAG">$1<ex>SignedHTTPExchange</ex></ph>. Stability and security will suffer.
</message>
@@ -111,7 +111,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7888,6 +7888,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7931,6 +7931,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kDevicePostureDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kDevicePosture)},
@@ -125,7 +125,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -774,6 +774,10 @@ const char kDevicePostureName[] = "Device Posture API";
@@ -840,6 +840,10 @@ const char kDevicePostureName[] = "Device Posture API";
const char kDevicePostureDescription[] =
"Enables Device Posture API (foldable devices)";
@@ -139,7 +139,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -582,6 +582,9 @@ extern const char kDeviceForceScheduledRebootDescription[];
@@ -612,6 +612,9 @@ extern const char kDeviceForceScheduledRebootDescription[];
extern const char kDevicePostureName[];
extern const char kDevicePostureDescription[];
@@ -171,7 +171,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -3633,6 +3633,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3727,6 +3727,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kLacrosUseChromeosProtectedAv1,
#endif
switches::kDesktopModeViewportMetaEnabled,
@@ -182,7 +182,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -776,6 +776,11 @@ BASE_FEATURE(kNoStatePrefetchHoldback,
@@ -766,6 +766,11 @@ BASE_FEATURE(kNoStatePrefetchHoldback,
"NoStatePrefetchHoldback",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -197,7 +197,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -172,6 +172,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kNetworkServiceInProcess);
@@ -170,6 +170,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kNetworkServiceInProcess);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kNotificationContentImage);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kNotificationTriggers);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kNoStatePrefetchHoldback);
+48 -7
View File
@@ -3,18 +3,19 @@ Date: Tue, 22 Nov 2022 16:49:58 +0000
Subject: Add browser policy
---
base/win/win_util.cc | 63 +--------
base/win/win_util.cc | 63 +-------
chrome/android/java/AndroidManifest.xml | 4 -
.../privacy_preferences_manager_impl.cc | 5 +
.../metrics/chrome_feature_list_creator.cc | 12 ++
.../policy/chrome_browser_policy_connector.cc | 2 -
...nfiguration_policy_handler_list_factory.cc | 6 +-
.../account_consistency_mode_manager.cc | 5 +-
chrome/browser/signin/chrome_signin_client.cc | 7 +-
.../ui/webui/policy/policy_ui_handler.cc | 104 +++++++++++++-
.../ui/webui/policy/policy_ui_handler.cc | 104 ++++++++++++-
.../ui/webui/policy/policy_ui_handler.h | 2 +
.../core/browser/browser_policy_connector.cc | 3 +
.../common/command_line_policy_provider.cc | 3 +
.../core/common/policy_loader_command_line.cc | 128 +++++++++++++++---
.../core/common/policy_loader_command_line.cc | 139 ++++++++++++++++--
.../policy/core/common/policy_pref_names.cc | 3 +
.../policy/core/common/policy_pref_names.h | 1 +
.../policy/core/common/policy_service_impl.cc | 3 +
@@ -26,7 +27,7 @@ Subject: Add browser policy
components/policy_strings.grdp | 4 +-
.../gaia_cookie_manager_service.cc | 4 +
google_apis/gaia/gaia_auth_fetcher.cc | 1 +
23 files changed, 285 insertions(+), 89 deletions(-)
24 files changed, 296 insertions(+), 93 deletions(-)
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
--- a/base/win/win_util.cc
@@ -111,6 +112,35 @@ diff --git a/base/win/win_util.cc b/base/win/win_util.cc
return &state;
}
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -72,9 +72,7 @@ by a child template that "extends" this file.
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" tools:ignore="SystemPermissionTypo" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" tools:ignore="SystemPermissionTypo" />
- <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.NFC"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
@@ -85,7 +83,6 @@ by a child template that "extends" this file.
<uses-permission-sdk-23 android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
- <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
<uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
<uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="android.permission.VIBRATE"/>
@@ -131,7 +128,6 @@ by a child template that "extends" this file.
<uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
- <uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS" />
{% block extra_uses_permissions %}
{% endblock %}
diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
--- a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
+++ b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
@@ -138,7 +168,7 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/browser/ash/policy/core/browser_policy_connector_ash.h"
@@ -197,6 +199,16 @@ void ChromeFeatureListCreator::CreatePrefService() {
@@ -196,6 +198,16 @@ void ChromeFeatureListCreator::CreatePrefService() {
// ManagementService's cache.
if (local_state_pref_store->ReadPrefs() ==
JsonPrefStore::PREF_READ_ERROR_NONE) {
@@ -170,7 +200,7 @@ diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/b
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -1922,9 +1922,9 @@ bool AreFuturePoliciesEnabledByDefault() {
@@ -1946,9 +1946,9 @@ bool AreFuturePoliciesEnabledByDefault() {
// Enable future policies for branded browser tests.
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType))
return true;
@@ -437,7 +467,7 @@ diff --git a/components/policy/core/common/policy_loader_command_line.cc b/compo
namespace policy {
@@ -21,25 +46,96 @@ PolicyLoaderCommandLine::~PolicyLoaderCommandLine() = default;
@@ -21,25 +46,107 @@ PolicyLoaderCommandLine::~PolicyLoaderCommandLine() = default;
PolicyBundle PolicyLoaderCommandLine::Load() {
PolicyBundle bundle;
@@ -523,6 +553,17 @@ diff --git a/components/policy/core/common/policy_loader_command_line.cc b/compo
+ // Disable automatic https upgrade
+ AddPolicy(disabled_policies_list, policy_map, policy::key::kHttpsUpgradesEnabled, base::Value(false));
+
+ // Check RSA key usage for server certicates issued by local trust anchors
+ // Enforce TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 expects the digitalSignature key usage bit.
+ AddPolicy(disabled_policies_list, policy_map, policy::key::kRSAKeyUsageForLocalAnchorsEnabled, base::Value(true));
+
+ // Disable Insecure Handshake Hashes
+ AddPolicy(disabled_policies_list, policy_map, policy::key::kInsecureHashesInTLSHandshakesEnabled, base::Value(false));
+
+#if !BUILDFLAG(IS_ANDROID)
+ AddPolicy(disabled_policies_list, policy_map, policy::key::kSideSearchEnabled, base::Value(false));
+#endif
+
+ // kFirstPartySetsEnabled
+ // kLensCameraAssistedSearchEnabled
+ // kPasswordLeakDetectionEnabled
@@ -0,0 +1,72 @@
From: uazo <uazo@users.noreply.github.com>
Date: Mon, 7 Aug 2023 11:05:03 +0000
Subject: allow the download of clang for windows crossbuild
In the linux2win crossbuild some libraries are not checkout by default
and launching tools/clang/scripts/update.py deletes by default the
previous package.
this patch bypasses the output directory deletion, allowing the windows
toolchain to be downloaded on top of the android one
---
tools/clang/scripts/update.py | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -12,6 +12,8 @@ near-tip-of-tree clang version:
$ curl -s https://raw.githubusercontent.com/chromium/chromium/main/tools/clang/scripts/update.py | python3 - --output-dir=/tmp/clang
(Note that the output dir may be deleted and re-created if it exists.)
+
+exec: tools/clang/scripts/update.py --package=clang --host-os=win --no-clear=true
"""
import sys
@@ -237,7 +239,7 @@ def DownloadAndUnpackClangWinRuntime(output_dir):
sys.exit(1)
-def UpdatePackage(package_name, host_os, dir=LLVM_BUILD_DIR):
+def UpdatePackage(package_name, host_os, no_clear, dir=LLVM_BUILD_DIR):
stamp_file = None
package_file = None
@@ -269,6 +271,8 @@ def UpdatePackage(package_name, host_os, dir=LLVM_BUILD_DIR):
target_os = env.get('target_os', target_os)
except:
pass
+ if host_os != "":
+ target_os = [ host_os ]
if os.path.exists(OLD_STAMP_FILE):
# Delete the old stamp file so it doesn't look like an old version of clang
@@ -282,7 +286,7 @@ def UpdatePackage(package_name, host_os, dir=LLVM_BUILD_DIR):
# Updating the main clang package nukes the output dir. Any other packages
# need to be updated *after* the clang package.
- if package_name == 'clang' and os.path.exists(dir):
+ if not no_clear and (package_name == 'clang' and os.path.exists(dir)):
RmTree(dir)
DownloadAndUnpackPackage(package_file, dir, host_os)
@@ -332,6 +336,8 @@ def main():
'and exit.'))
parser.add_argument('--verify-version',
help='Verify that clang has the passed-in version.')
+ parser.add_argument('--no-clear',
+ help='Do not remove old file before extracting.')
args = parser.parse_args()
if args.verify_version and args.verify_version != RELEASE_VERSION:
@@ -373,7 +379,7 @@ def main():
print('--llvm-force-head-revision can only be used for --print-revision')
return 1
- return UpdatePackage(args.package, args.host_os, output_dir)
+ return UpdatePackage(args.package, args.host_os, args.no_clear, output_dir)
if __name__ == '__main__':
--
2.25.1
@@ -0,0 +1,34 @@
From: uazo <uazo@users.noreply.github.com>
Date: Wed, 2 Aug 2023 15:15:48 +0000
Subject: Do not block the build for incompatible profiles
---
.gitignore | 1 -
v8/BUILD.gn | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
@@ -345,7 +345,6 @@ vs-chromium-project.txt
/ui/surface/surface.xml
/ui/surface/surface_gpu_tests.xml
/ui/webui/internal
-/v8
/webkit/data
/webpagereplay_logs/
/x86-generic_out/
diff --git a/v8/BUILD.gn b/v8/BUILD.gn
--- a/v8/BUILD.gn
+++ b/v8/BUILD.gn
@@ -2293,7 +2293,7 @@ template("run_mksnapshot") {
# Replace this with --warn-about-builtin-profile-data to see the full
# list of builtins with incompatible profiles.
- "--abort-on-bad-builtin-profile-data",
+ "--warn-about-builtin-profile-data",
]
}
--
2.25.1
+1 -1
View File
@@ -24,7 +24,7 @@ diff --git a/android_webview/system_webview_bundle.gni b/android_webview/system_
diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
--- a/chrome/browser/safe_browsing/BUILD.gn
+++ b/chrome/browser/safe_browsing/BUILD.gn
@@ -210,6 +210,7 @@ static_library("safe_browsing") {
@@ -214,6 +214,7 @@ static_library("safe_browsing") {
"//components/version_info",
"//content/public/browser",
"//services/preferences/public/mojom:mojom",
@@ -84,7 +84,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -2669,9 +2669,9 @@
@@ -2798,9 +2798,9 @@
"expiry_milestone": 125
},
{
@@ -100,8 +100,8 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
--- a/gpu/config/gpu_driver_bug_list.json
+++ b/gpu/config/gpu_driver_bug_list.json
@@ -3142,6 +3142,22 @@
"dont_delete_source_texture_for_egl_image"
@@ -3698,6 +3698,22 @@
"no_downscaled_overlay_promotion"
]
},
+ {
@@ -121,8 +121,8 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis
+ ]
+ },
{
"id": 336,
"cr_bugs": [625785],
"id": 381,
"cr_bugs": [
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -183,12 +183,12 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
disable_accelerated_av1_decode
+disable_aimagereader
disable_accelerated_av1_encode
disable_accelerated_h264_decode
disable_accelerated_h264_encode
disable_accelerated_hevc_decode
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -614,6 +614,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -616,6 +616,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
#endif // BUILDFLAG(IS_WIN)
@@ -231,7 +231,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -921,6 +921,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment,
@@ -946,6 +946,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment,
// Allows automatically disabling hardware secure Content Decryption Module
// (CDM) after failures or crashes to fallback to software secure CDMs. If this
// feature is disabled, the fallback will never happen and users could be stuck
@@ -246,10 +246,10 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
--- a/media/base/media_switches.h
+++ b/media/base/media_switches.h
@@ -313,6 +313,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatStatelessVideoDecoder);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatStatefulVideoDecoder);
#endif // defined(ARCH_CPU_ARM_FAMILY) && BUILDFLAG(IS_CHROMEOS)
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
@@ -327,6 +327,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoToolboxVideoDecoder);
#endif // BUILDFLAG(IS_APPLE)
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebRTCColorAccuracy);
+MEDIA_EXPORT BASE_DECLARE_FEATURE(kAImageReaderVideoOutput);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVp9kSVCHWDecoding);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebContentsCaptureHiDpi);
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -229,6 +229,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
@@ -231,6 +231,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
import org.chromium.content_public.browser.SelectionPopupController;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentSwitches;
@@ -26,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.printing.PrintManagerDelegateImpl;
import org.chromium.printing.PrintingController;
import org.chromium.printing.PrintingControllerImpl;
@@ -972,6 +973,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -973,6 +974,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
super.onStartWithNative();
ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags();
@@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -9165,6 +9165,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9180,6 +9180,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kHttpsUpgradesDescription, kOsDesktop | kOsAndroid,
FEATURE_VALUE_TYPE(features::kHttpsUpgrades)},
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -14,6 +14,11 @@
@@ -16,6 +16,11 @@
namespace flag_descriptions {
@@ -80,7 +80,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -139,6 +139,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -142,6 +142,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedBoCSigninInterstitial,
&feed::kFeedUserInteractionReliabilityReport,
&feed::kInterestFeedContentSuggestions,
@@ -88,7 +88,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&feed::kInterestFeedV2,
&feed::kInterestFeedV2Autoplay,
&feed::kInterestFeedV2Hearts,
@@ -449,6 +450,10 @@ BASE_FEATURE(kSearchReadyOmniboxFeature,
@@ -458,6 +459,10 @@ BASE_FEATURE(kSearchReadyOmniboxFeature,
"SearchReadyOmnibox",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -107,7 +107,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents);
BASE_DECLARE_FEATURE(kAndroidAppIntegration);
+BASE_DECLARE_FEATURE(kAllowUserCertificates);
BASE_DECLARE_FEATURE(kAndroidWidgetFullscreenToast);
BASE_DECLARE_FEATURE(kAndroidAppIntegrationSafeSearch);
BASE_DECLARE_FEATURE(kAndroidSearchEngineChoiceNotification);
BASE_DECLARE_FEATURE(kAndroidImprovedBookmarks);
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -121,7 +121,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE =
"AdaptiveButtonInTopToolbarTranslate";
@@ -483,6 +484,8 @@ public abstract class ChromeFeatureList {
@@ -499,6 +500,8 @@ public abstract class ChromeFeatureList {
public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting";
/* Alphabetical: */
@@ -130,7 +130,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sAppMenuMobileSiteOption =
new CachedFlag(APP_MENU_MOBILE_SITE_OPTION, false);
public static final CachedFlag sBackGestureActivityTabProvider =
@@ -605,6 +608,7 @@ public abstract class ChromeFeatureList {
@@ -622,6 +625,7 @@ public abstract class ChromeFeatureList {
public static final List<CachedFlag> sFlagsCachedFullBrowser = List.of(
// clang-format off
@@ -141,7 +141,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
--- a/net/android/java/src/org/chromium/net/X509Util.java
+++ b/net/android/java/src/org/chromium/net/X509Util.java
@@ -508,6 +508,8 @@ public class X509Util {
@@ -545,6 +545,8 @@ public class X509Util {
return userRootBytes.toArray(new byte[0][]);
}
@@ -150,7 +150,7 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j
public static AndroidCertVerifyResult verifyServerCertificates(byte[][] certChain,
String authType,
String host)
@@ -594,6 +596,9 @@ public class X509Util {
@@ -631,6 +633,9 @@ public class X509Util {
isIssuedByKnownRoot = isKnownRoot(root);
}
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -9376,6 +9376,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9391,6 +9391,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kRequestDesktopSiteExceptionsName,
flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1832,6 +1832,10 @@ const char kHttpsUpgradesDescription[] =
@@ -1915,6 +1915,10 @@ const char kHttpsUpgradesDescription[] =
"Enable automatically upgrading all top-level navigations to HTTPS with "
"fast fallback to HTTP.";
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1014,6 +1014,9 @@ extern const char kHideNonDisplayableAccountEmailDescription[];
@@ -1062,6 +1062,9 @@ extern const char kHiddenNetworkMigrationDescription[];
extern const char kHttpsOnlyModeName[];
extern const char kHttpsOnlyModeDescription[];
@@ -57,7 +57,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -126,6 +126,10 @@ BASE_FEATURE(kEnableCrossSiteFlagNetworkIsolationKey, // must be
@@ -131,6 +131,10 @@ BASE_FEATURE(kEnableCrossSiteFlagNetworkIsolationKey, // must be
"EnableCrossSiteFlagNetworkIsolationKey", // disabled
base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
@@ -83,7 +83,7 @@ diff --git a/net/base/features.h b/net/base/features.h
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -211,6 +211,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
@@ -212,6 +212,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
}
#if BUILDFLAG(IS_ANDROID)
@@ -76,9 +76,9 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -83,6 +83,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -82,6 +82,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
private static final String PREF_SAFE_BROWSING = "safe_browsing";
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
+ private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
@@ -99,7 +99,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -292,11 +292,15 @@
@@ -284,11 +284,15 @@
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings_internal\pref_hash_seed.bin" type="BINDATA" />
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
</if>
@@ -191,7 +191,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -173,6 +173,8 @@
@@ -175,6 +175,8 @@
#include "rlz/buildflags/buildflags.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -200,7 +200,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h"
#endif
@@ -1216,6 +1218,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1315,6 +1317,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
component_updater::RegisterPrefs(registry);
domain_reliability::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@@ -655,7 +655,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -385,6 +385,8 @@ static_library("ui") {
@@ -397,6 +397,8 @@ static_library("ui") {
"webui/metrics_internals/metrics_internals_ui.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@@ -667,7 +667,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -58,6 +58,7 @@
@@ -59,6 +59,7 @@
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
#include "chrome/browser/ui/webui/policy/policy_ui.h"
@@ -675,7 +675,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
#include "chrome/browser/ui/webui/signin_internals_ui.h"
@@ -479,6 +480,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -489,6 +490,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MetricsInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@@ -1121,7 +1121,7 @@ new file mode 100644
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
@@ -49,6 +49,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
@@ -50,6 +50,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
const char kChromeUIChromeSigninHost[] = "chrome-signin";
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
@@ -1130,7 +1130,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
const char kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components";
@@ -464,6 +466,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
@@ -431,6 +433,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost,
kChromeUIMobileSetupHost,
@@ -1138,7 +1138,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
kChromeUINotificationTesterHost,
@@ -754,6 +757,7 @@ const char* const kChromeHostURLs[] = {
@@ -730,6 +733,7 @@ const char* const kChromeHostURLs[] = {
#if !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS_ASH)
kChromeUIAppLauncherPageHost,
@@ -1149,10 +1149,10 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -134,6 +134,8 @@ extern const char kChromeUIMetricsInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[];
@@ -136,6 +136,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
extern const char kChromeUINetExportURL[];
+extern const char kChromeUIProxyConfigHost[];
+extern const char kChromeUIProxyConfigURL[];
extern const char kChromeUINetInternalsHost[];
+141 -58
View File
@@ -49,13 +49,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../webapps/WebappIntentDataProvider.java | 14 ++
chrome/browser/about_flags.cc | 4 +
.../browser/android/historical_tab_saver.cc | 22 ++-
.../chrome_autocomplete_provider_client.cc | 7 +
.../chrome_autocomplete_provider_client.cc | 9 +
.../chrome_autocomplete_provider_client.h | 1 +
.../host_content_settings_map_factory.cc | 20 ++-
.../remote_suggestions_service_factory.cc | 5 +
.../host_content_settings_map_factory.cc | 22 ++-
chrome/browser/flag_descriptions.cc | 6 +
chrome/browser/flag_descriptions.h | 3 +
.../flags/android/chrome_feature_list.cc | 4 +-
chrome/browser/history/history_tab_helper.cc | 18 ++
chrome/browser/history/history_tab_helper.cc | 20 +++
chrome/browser/history/history_tab_helper.h | 10 +-
.../android/offline_page_bridge.cc | 11 +-
.../android/offline_page_model_factory.cc | 20 ++-
@@ -65,6 +66,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/offline_pages/recent_tab_helper.h | 3 +
.../request_coordinator_factory.h | 4 +-
chrome/browser/prefs/browser_prefs.cc | 5 +
chrome/browser/profiles/profile_selections.cc | 10 ++
chrome/browser/profiles/profile_selections.h | 7 +-
.../browser/ui/android/native_page/BUILD.gn | 2 +
.../browser/ui/native_page/NativePage.java | 16 +-
.../strings/android_chrome_strings.grd | 31 ++++
@@ -84,7 +87,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../omnibox/browser/base_search_provider.cc | 2 +-
components/omnibox/browser/search_provider.cc | 4 +-
.../host_content_settings_map_factory.cc | 1 +
65 files changed, 738 insertions(+), 90 deletions(-)
68 files changed, 765 insertions(+), 91 deletions(-)
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
@@ -93,7 +96,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -661,6 +661,7 @@ chrome_java_resources = [
@@ -663,6 +663,7 @@ chrome_java_resources = [
"java/res/xml/main_preferences.xml",
"java/res/xml/manage_sync_preferences.xml",
"java/res/xml/phone_as_a_security_key_accessory_filter.xml",
@@ -112,7 +115,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
"java/src/org/chromium/chrome/browser/ActivityUtils.java",
@@ -953,6 +954,7 @@ chrome_java_sources = [
@@ -944,6 +945,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java",
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
@@ -249,7 +252,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout;
@@ -578,9 +582,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -591,9 +595,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModelOrchestrator.onNativeLibraryReady(getTabContentManager());
// For saving non-incognito tab closures for Recent Tabs.
@@ -267,7 +270,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
// Defer initialization of this helper so it triggers after TabModelFilter
// observers.
UndoRefocusHelper.initialize(
@@ -1948,8 +1957,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1933,8 +1942,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
@@ -303,7 +306,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -36,6 +36,7 @@ import org.chromium.base.supplier.ObservableSupplier;
@@ -35,6 +35,7 @@ import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.supplier.OneshotSupplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
@@ -375,7 +378,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ListItemType;
@@ -235,6 +236,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -232,6 +233,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
public List<Pair<Integer, ModelList>> buildContextMenu() {
mShowEphemeralTabNewLabel = null;
@@ -385,7 +388,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
List<Pair<Integer, ModelList>> groupedItems = new ArrayList<>();
if (mParams.isAnchor()) {
@@ -253,6 +257,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -250,6 +254,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP));
}
}
@@ -393,7 +396,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) {
linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB));
}
@@ -277,7 +282,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -274,7 +279,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
}
if (FirstRunStatus.getFirstRunFlowComplete()) {
@@ -471,7 +474,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -1243,7 +1246,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -1223,7 +1226,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@Override
public boolean isIncognito() {
@@ -544,7 +547,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/**
* Combines and manages the different UI components of browsing history.
*/
@@ -160,7 +167,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -159,7 +166,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
recordUserAction("Show");
// If incognito placeholder is shown, we don't need to create History UI elements.
@@ -553,7 +556,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
mSelectableListLayout = null;
mRootView = getIncognitoHistoryPlaceholderView();
return;
@@ -597,7 +604,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -596,7 +603,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
private void swapContentView() {
boolean toHistoryClusters;
@@ -562,7 +565,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
return;
} else if (isHistoryClustersUIShowing()) {
toHistoryClusters = false;
@@ -660,11 +667,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -659,11 +666,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
&& mContentView == mHistoryClustersCoordinator.getActivityContentView();
}
@@ -588,7 +591,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
// If Incognito placeholder is shown no need to call any destroy method.
return;
}
@@ -684,7 +704,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -683,7 +703,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
* @return True if manager handles this event, false if it decides to ignore.
*/
public boolean onBackPressed() {
@@ -661,8 +664,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
@@ -35,6 +35,15 @@ import org.chromium.components.signin.identitymanager.ConsentLevel;
import org.chromium.components.signin.metrics.SigninAccessPoint;
@@ -36,6 +36,15 @@ import org.chromium.components.signin.metrics.SigninAccessPoint;
import org.chromium.components.sync.SyncService;
import org.chromium.url.GURL;
+import android.content.Intent;
@@ -677,7 +680,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -99,7 +108,8 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
@@ -100,7 +109,8 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
*/
public RecentTabsManager(Tab tab, TabModelSelector tabModelSelector, Profile profile,
Context context, Runnable showHistoryManager) {
@@ -687,7 +690,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
mActiveTab = tab;
mTabModelSelector = tabModelSelector;
mShowHistoryManager = showHistoryManager;
@@ -251,6 +261,22 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
@@ -252,6 +262,22 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
*/
public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) {
if (mIsDestroyed) return;
@@ -878,15 +881,15 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -68,6 +68,7 @@ import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl;
import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
@@ -70,6 +70,7 @@ import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
import org.chromium.chrome.browser.sync.SyncServiceFactory;
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
@@ -317,6 +318,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -320,6 +321,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
((PrivacySandboxSettingsBaseFragment) fragment)
.setSnackbarManager(getSnackbarManager());
}
@@ -1008,7 +1011,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -124,6 +124,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
@@ -125,6 +125,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.base.ActivityWindowAndroid;
import org.chromium.ui.base.DeviceFormFactor;
@@ -1017,7 +1020,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
import org.chromium.ui.base.IntentRequestTracker;
import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -781,7 +783,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -797,7 +799,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
mAppMenuCoordinator.getAppMenuHandler(), mActivityTabProvider,
mToolbarManager.getMenuButtonView(), () -> {
mTabCreatorManagerSupplier.get()
@@ -1105,7 +1108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
@@ -502,7 +503,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -500,7 +501,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
return ret;
}
},
@@ -1148,7 +1151,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
}
@Override
@@ -155,6 +164,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -147,6 +156,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
return mWebApkExtras;
}
@@ -1163,7 +1166,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -5085,6 +5085,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5073,6 +5073,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kOfflinePagesLivePageSharingName,
flag_descriptions::kOfflinePagesLivePageSharingDescription, kOsAndroid,
FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesLivePageSharingFeature)},
@@ -1237,14 +1240,16 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -350,6 +350,13 @@ ChromeAutocompleteProviderClient::GetOnDeviceTailModelService() const {
@@ -350,6 +350,15 @@ ChromeAutocompleteProviderClient::GetOnDeviceTailModelService() const {
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
}
+bool ChromeAutocompleteProviderClient::IsAlwaysIncognitoEnabled() const {
+#if BUILDFLAG(IS_ANDROID)
+ if (profile_->GetPrefs()->GetBoolean(prefs::kAlwaysIncognitoEnabled)) {
+ return true;
+ }
+#endif
+ return false;
+}
+
@@ -1262,6 +1267,29 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h b
bool IsIncognitoProfile() const override;
bool IsGuestSession() const override;
bool SearchSuggestEnabled() const override;
diff --git a/chrome/browser/autocomplete/remote_suggestions_service_factory.cc b/chrome/browser/autocomplete/remote_suggestions_service_factory.cc
--- a/chrome/browser/autocomplete/remote_suggestions_service_factory.cc
+++ b/chrome/browser/autocomplete/remote_suggestions_service_factory.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/autocomplete/remote_suggestions_service_factory.h"
+#include "build/build_config.h"
#include "base/no_destructor.h"
#include "chrome/browser/profiles/profile.h"
#include "components/omnibox/browser/remote_suggestions_service.h"
@@ -36,7 +37,11 @@ RemoteSuggestionsServiceFactory::RemoteSuggestionsServiceFactory()
: ProfileKeyedServiceFactory(
"RemoteSuggestionsService",
ProfileSelections::Builder()
+#if BUILDFLAG(IS_ANDROID)
+ .WithRegular(ProfileSelection::kOriginalOnlyAndAlwaysIncognito)
+#else
.WithRegular(ProfileSelection::kOriginalOnly)
+#endif
// TODO(crbug.com/1418376): Check if this service is needed in
// Guest mode.
.WithGuest(ProfileSelection::kOriginalOnly)
diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.cc b/chrome/browser/content_settings/host_content_settings_map_factory.cc
--- a/chrome/browser/content_settings/host_content_settings_map_factory.cc
+++ b/chrome/browser/content_settings/host_content_settings_map_factory.cc
@@ -1273,13 +1301,14 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
#include "components/content_settings/core/browser/content_settings_pref_provider.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/permissions/features.h"
@@ -119,9 +120,23 @@ scoped_refptr<RefcountedKeyedService>
@@ -119,9 +120,25 @@ scoped_refptr<RefcountedKeyedService>
should_record_metrics && ash::ProfileHelper::IsUserProfile(profile);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+ bool always_incognito_enabled = false;
+ bool force_save_site_settings = false;
+
+#if BUILDFLAG(IS_ANDROID)
+ PrefService* prefService = original_profile->GetPrefs();
+ if (prefService->GetBoolean(prefs::kAlwaysIncognitoEnabled)) {
+ always_incognito_enabled = true;
@@ -1289,6 +1318,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
+ profile = original_profile;
+ force_save_site_settings = true;
+ }
+#endif
+
scoped_refptr<HostContentSettingsMap> settings_map(new HostContentSettingsMap(
profile->GetPrefs(),
@@ -1298,7 +1328,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
/*store_last_modified=*/true, profile->ShouldRestoreOldSessionCookies(),
should_record_metrics));
@@ -131,6 +146,9 @@ scoped_refptr<RefcountedKeyedService>
@@ -131,6 +148,9 @@ scoped_refptr<RefcountedKeyedService>
HostContentSettingsMap::WEBUI_ALLOWLIST_PROVIDER,
std::move(allowlist_provider));
@@ -1311,7 +1341,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3994,6 +3994,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
@@ -4044,6 +4044,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
"Enables to share current loaded page as offline page by saving as MHTML "
"first.";
@@ -1327,7 +1357,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2330,6 +2330,9 @@ extern const char kOmahaMinSdkVersionAndroidDescription[];
@@ -2355,6 +2355,9 @@ extern const char kOmahaMinSdkVersionAndroidDescription[];
extern const char kOmahaMinSdkVersionAndroidMinSdk1Description[];
extern const char kOmahaMinSdkVersionAndroidMinSdk1000Description[];
@@ -1340,7 +1370,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -535,8 +535,8 @@ BASE_FEATURE(kCCTFeatureUsage,
@@ -537,8 +537,8 @@ BASE_FEATURE(kCCTFeatureUsage,
BASE_FEATURE(kCCTIncognito, "CCTIncognito", base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
@@ -1378,16 +1408,18 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
if (profile->IsOffTheRecord())
return nullptr;
@@ -481,6 +491,14 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
@@ -481,6 +491,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
profile, ServiceAccessType::IMPLICIT_ACCESS);
}
+// static
+void HistoryTabHelper::RegisterProfilePrefs(PrefRegistrySimple* registry) {
+#if BUILDFLAG(IS_ANDROID)
+ registry->RegisterBooleanPref(prefs::kIncognitoTabHistoryEnabled,
+ /*default_value=*/false);
+ registry->RegisterBooleanPref(prefs::kIncognitoSaveSiteSettingEnabled,
+ /*default_value=*/false);
+#endif
+}
+
void HistoryTabHelper::WebContentsDestroyed() {
@@ -1470,7 +1502,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
namespace offline_pages {
@@ -54,13 +57,15 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
@@ -55,13 +58,15 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
scoped_refptr<base::SequencedTaskRunner> background_task_runner =
base::ThreadPool::CreateSequencedTaskRunner({base::MayBlock()});
@@ -1488,7 +1520,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
// If base::PathService::Get returns false, the temporary_archives_dir will be
// empty, and no temporary pages will be saved during this chrome lifecycle.
base::FilePath temporary_archives_dir;
@@ -69,7 +74,6 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
@@ -70,7 +75,6 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
temporary_archives_dir.Append(chrome::kOfflinePageArchivesDirname);
}
@@ -1496,7 +1528,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
auto archive_manager = std::make_unique<DownloadArchiveManager>(
temporary_archives_dir, persistent_archives_dir,
DownloadPrefs::GetDefaultDownloadDirectory(), background_task_runner,
@@ -87,4 +91,14 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
@@ -88,4 +92,14 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
return model;
}
@@ -1551,7 +1583,7 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
// Depends on OfflinePageModelFactory in SimpleDependencyManager.
}
@@ -90,6 +90,12 @@ RequestCoordinator* RequestCoordinatorFactory::GetForBrowserContext(
@@ -91,6 +91,12 @@ RequestCoordinator* RequestCoordinatorFactory::GetForBrowserContext(
KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const {
@@ -1564,7 +1596,7 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
std::unique_ptr<OfflinerPolicy> policy(new OfflinerPolicy());
std::unique_ptr<Offliner> offliner;
OfflinePageModel* model =
@@ -122,4 +128,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
@@ -123,4 +129,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
return request_coordinator;
}
@@ -1672,18 +1704,18 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -234,6 +234,7 @@
@@ -232,6 +232,7 @@
#include "components/feed/core/shared_prefs/pref_names.h"
#if BUILDFLAG(IS_ANDROID)
+#include "chrome/browser/history/history_tab_helper.h"
#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
#include "chrome/browser/android/explore_sites/history_statistics_reporter.h"
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
@@ -1598,6 +1599,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
#include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
@@ -1698,6 +1699,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
variations::VariationsService::RegisterProfilePrefs(registry);
webapps::InstallPromptPrefs::RegisterLocalPrefs(registry);
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
+ // register incognito pref
+ registry->RegisterBooleanPref(prefs::kAlwaysIncognitoEnabled,
+ /*default_value=*/false);
@@ -1691,6 +1723,57 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#else // BUILDFLAG(IS_ANDROID)
bookmarks_webui::RegisterProfilePrefs(registry);
browser_sync::ForeignSessionHandler::RegisterProfilePrefs(registry);
diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/profiles/profile_selections.cc
--- a/chrome/browser/profiles/profile_selections.cc
+++ b/chrome/browser/profiles/profile_selections.cc
@@ -5,6 +5,9 @@
#include "chrome/browser/profiles/profile_selections.h"
#include "base/memory/ptr_util.h"
+#include "components/prefs/pref_registry_simple.h"
+#include "components/prefs/pref_service.h"
+#include "chrome/common/pref_names.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_types_ash.h"
#include "components/profile_metrics/browser_profile_type.h"
@@ -110,6 +113,13 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const {
return nullptr;
case ProfileSelection::kOriginalOnly:
return profile->IsOffTheRecord() ? nullptr : profile;
+#if BUILDFLAG(IS_ANDROID)
+ case ProfileSelection::kOriginalOnlyAndAlwaysIncognito:
+ return profile->IsOffTheRecord() &&
+ !(profile->GetOriginalProfile()
+ ->GetPrefs()
+ ->GetBoolean(prefs::kAlwaysIncognitoEnabled)) ? nullptr : profile;
+#endif
case ProfileSelection::kOwnInstance:
return profile;
case ProfileSelection::kRedirectedToOriginal:
diff --git a/chrome/browser/profiles/profile_selections.h b/chrome/browser/profiles/profile_selections.h
--- a/chrome/browser/profiles/profile_selections.h
+++ b/chrome/browser/profiles/profile_selections.h
@@ -6,7 +6,7 @@
#define CHROME_BROWSER_PROFILES_PROFILE_SELECTIONS_H_
#include "base/feature_list.h"
-
+#include "build/build_config.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
class Profile;
@@ -27,6 +27,11 @@ bool AreKeyedServicesDisabledForProfileByDefault(const Profile* profile);
enum class ProfileSelection {
kNone, // Original: No Profile -- OTR: No Profile
kOriginalOnly, // Original: Self -- OTR: No Profile
+#if BUILDFLAG(IS_ANDROID)
+ kOriginalOnlyAndAlwaysIncognito,
+ // Original: Self -- OTR: Self (with AlwaysIncognito ON)
+ // -- OTR: No Profile (with AlwaysIncognito OFF)
+#endif
kOwnInstance, // Original: Self -- OTR: Self
kRedirectedToOriginal, // Original: Self -- OTR: Original
kOffTheRecordOnly // Original: No Profile -- OTR: Self
diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn
--- a/chrome/browser/ui/android/native_page/BUILD.gn
+++ b/chrome/browser/ui/android/native_page/BUILD.gn
@@ -1768,7 +1851,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1349,6 +1349,37 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1384,6 +1384,37 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SYNCED_NO_LINK" desc="A text for the basic tab explaining browsing history for users with history sync. This version is shown when the link to MyActivity is displayed separately.">
Clears history from all synced devices.
</message>
@@ -1831,8 +1914,8 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/messages/android/BUILD.gn b/chrome/browser/ui/messages/android/BUILD.gn
--- a/chrome/browser/ui/messages/android/BUILD.gn
+++ b/chrome/browser/ui/messages/android/BUILD.gn
@@ -23,6 +23,7 @@ android_resources("java_resources") {
android_library("java") {
@@ -24,6 +24,7 @@ android_library("java") {
srcjar_deps = [ ":jni_headers" ]
sources = [
"java/src/org/chromium/chrome/browser/ui/messages/infobar/SimpleConfirmInfoBarBuilder.java",
+ "java/src/org/chromium/chrome/browser/ui/messages/snackbar/INeedSnackbarManager.java",
@@ -1874,7 +1957,7 @@ new file mode 100644
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -3436,6 +3436,12 @@ const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
@@ -3460,6 +3460,12 @@ const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
const char kLacrosSelection[] = "lacros_selection";
#endif
@@ -1890,7 +1973,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -1212,6 +1212,8 @@ extern const char kDiscountConsentShowInterestIn[];
@@ -1214,6 +1214,8 @@ extern const char kDiscountConsentShowInterestIn[];
#if BUILDFLAG(IS_ANDROID)
extern const char kWebXRImmersiveArEnabled[];
@@ -1899,7 +1982,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
#endif
#if !BUILDFLAG(IS_ANDROID)
@@ -1252,6 +1254,10 @@ extern const char kPrivacyGuideViewed[];
@@ -1255,6 +1257,10 @@ extern const char kPrivacyGuideViewed[];
extern const char kCorsNonWildcardRequestHeadersSupport[];
@@ -1913,7 +1996,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
@@ -117,10 +117,12 @@ void PrefProvider::RegisterProfilePrefs(
@@ -86,10 +86,12 @@ void PrefProvider::RegisterProfilePrefs(
PrefProvider::PrefProvider(PrefService* prefs,
bool off_the_record,
@@ -1926,7 +2009,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
store_last_modified_(store_last_modified),
clock_(base::DefaultClock::GetInstance()) {
TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider");
@@ -143,10 +145,14 @@ PrefProvider::PrefProvider(PrefService* prefs,
@@ -112,10 +114,14 @@ PrefProvider::PrefProvider(PrefService* prefs,
WebsiteSettingsRegistry* website_settings =
WebsiteSettingsRegistry::GetInstance();
for (const WebsiteSettingsInfo* info : *website_settings) {
@@ -1964,7 +2047,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
--- a/components/content_settings/core/browser/host_content_settings_map.cc
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -248,6 +248,7 @@ const char* ContentSettingToString(ContentSetting setting) {
@@ -276,6 +276,7 @@ struct ContentSettingEntry {
HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
bool is_off_the_record,
@@ -1972,7 +2055,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session,
bool should_record_metrics)
@@ -257,6 +258,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
@@ -285,6 +286,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
#endif
prefs_(prefs),
is_off_the_record_(is_off_the_record),
@@ -1980,7 +2063,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
store_last_modified_(store_last_modified),
allow_invalid_secondary_pattern_for_testing_(false),
clock_(base::DefaultClock::GetInstance()) {
@@ -269,7 +271,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
@@ -297,7 +299,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
policy_provider->AddObserver(this);
auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>(
@@ -1992,7 +2075,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
diff --git a/components/content_settings/core/browser/host_content_settings_map.h b/components/content_settings/core/browser/host_content_settings_map.h
--- a/components/content_settings/core/browser/host_content_settings_map.h
+++ b/components/content_settings/core/browser/host_content_settings_map.h
@@ -82,6 +82,7 @@ class HostContentSettingsMap : public content_settings::Observer,
@@ -103,6 +103,7 @@ class HostContentSettingsMap : public content_settings::Observer,
// profile or a guest session.
HostContentSettingsMap(PrefService* prefs,
bool is_off_the_record,
@@ -2000,7 +2083,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session,
bool should_record_metrics);
@@ -446,6 +447,8 @@ class HostContentSettingsMap : public content_settings::Observer,
@@ -507,6 +508,8 @@ class HostContentSettingsMap : public content_settings::Observer,
// Whether this settings map is for an incognito or guest session.
bool is_off_the_record_;
@@ -278,7 +278,7 @@ new file mode 100644
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -234,7 +234,7 @@ void ContentSettingsRegistry::Init() {
@@ -244,7 +244,7 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/java/AndroidManifest.xml | 1 -
.../java/res/menu/bookmark_toolbar_menu.xml | 14 +
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
.../app/bookmarks/BookmarkActivity.java | 31 ++
.../app/bookmarks/BookmarkActivity.java | 32 ++
.../browser/bookmarks/BookmarkBridge.java | 278 +++++++++++++++++
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../bookmarks/BookmarkManagerCoordinator.java | 9 +
@@ -49,7 +49,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
ui/shell_dialogs/select_file_dialog.h | 2 +
.../select_file_dialog_android.cc | 6 +
ui/shell_dialogs/select_file_dialog_android.h | 2 +
39 files changed, 885 insertions(+), 30 deletions(-)
39 files changed, 886 insertions(+), 30 deletions(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
@@ -130,23 +130,24 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
/**
* The activity that displays the bookmark UI on the phone. It keeps a {@link
@@ -33,6 +38,8 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -33,6 +38,9 @@ public class BookmarkActivity extends SnackbarActivity {
public static final int EDIT_BOOKMARK_REQUEST_CODE = 14;
public static final String INTENT_VISIT_BOOKMARK_ID = "BookmarkEditActivity.VisitBookmarkId";
+ private ActivityWindowAndroid mWindowAndroid;
+ private IntentRequestTracker mIntentRequestTracker;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -54,8 +61,23 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -54,8 +62,23 @@ public class BookmarkActivity extends SnackbarActivity {
BackPressHelper.create(this, getOnBackPressedDispatcher(),
mBookmarkManagerCoordinator::onBackPressed, SecondaryActivity.BOOKMARK);
}
+
+ final boolean listenToActivityState = true;
+ IntentRequestTracker intentRequestTracker = IntentRequestTracker.createFromActivity(this);
+ mWindowAndroid = new ActivityWindowAndroid(this, listenToActivityState, intentRequestTracker);
+ mIntentRequestTracker = IntentRequestTracker.createFromActivity(this);
+ mWindowAndroid = new ActivityWindowAndroid(this, listenToActivityState, mIntentRequestTracker);
+ mWindowAndroid.getIntentRequestTracker().restoreInstanceState(savedInstanceState);
+ mBookmarkManagerCoordinator.setWindow(mWindowAndroid,
+ new ModalDialogManager(
@@ -163,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
@Override
protected void onDestroy() {
super.onDestroy();
@@ -65,6 +87,7 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -65,6 +88,7 @@ public class BookmarkActivity extends SnackbarActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
@@ -171,7 +172,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) {
BookmarkId bookmarkId = BookmarkId.getBookmarkIdFromString(
data.getStringExtra(INTENT_VISIT_BOOKMARK_ID));
@@ -72,6 +95,14 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -72,6 +96,14 @@ public class BookmarkActivity extends SnackbarActivity {
}
}
@@ -243,7 +244,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Provides the communication channel for Android to fetch and manipulate the
* bookmark model stored in native.
@@ -437,6 +476,209 @@ class BookmarkBridge {
@@ -435,6 +474,209 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
}
@@ -453,7 +454,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks.
@@ -921,6 +1163,39 @@ class BookmarkBridge {
@@ -919,6 +1161,39 @@ class BookmarkBridge {
depthList.add(depth);
}
@@ -493,7 +494,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<>();
for (int i = 0; i < left.length; i++) {
@@ -956,6 +1231,9 @@ class BookmarkBridge {
@@ -954,6 +1229,9 @@ class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
void getChildIds(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
List<BookmarkId> bookmarksList);
@@ -535,7 +536,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType;
import org.chromium.ui.modelutil.MVCListAdapter.ModelList;
@@ -224,6 +226,13 @@ public class BookmarkManagerCoordinator
@@ -225,6 +227,13 @@ public class BookmarkManagerCoordinator
// Public API implementation.
@@ -552,16 +553,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
@@ -53,6 +53,8 @@ import org.chromium.components.browser_ui.widget.listmenu.ListMenuItemProperties
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
@@ -56,6 +56,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver;
import org.chromium.components.commerce.core.CommerceSubscription;
import org.chromium.components.commerce.core.ShoppingService;
+import org.chromium.ui.base.ActivityWindowAndroid;
+import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.components.favicon.LargeIconBridge;
import org.chromium.components.feature_engagement.EventConstants;
import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
@@ -74,6 +76,9 @@ class BookmarkManagerMediator
@@ -80,6 +82,9 @@ class BookmarkManagerMediator
private static boolean sPreventLoadingForTesting;
@@ -586,7 +587,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* See BookmarkManager(Coordinator)#updateForUrl
*/
@@ -625,6 +638,16 @@ class BookmarkManagerMediator
@@ -628,6 +641,16 @@ class BookmarkManagerMediator
}
}
@@ -638,7 +639,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
@@ -114,6 +114,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -116,6 +116,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
setOnMenuItemClickListener(dragEnabled ? null : this);
}
@@ -656,7 +657,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
void setSearchButtonVisible(boolean visible) {
// The improved bookmarks experience embeds search in the list.
if (BookmarkFeatures.isAndroidImprovedBookmarksEnabled()) return;
@@ -145,6 +156,8 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -147,6 +158,8 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
void setCurrentFolder(BookmarkId folder) {
mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
@@ -665,7 +666,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
void setOpenFolderCallback(Callback<BookmarkId> openFolderCallback) {
@@ -164,6 +177,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -166,6 +179,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
hideOverflowMenu();
@@ -679,7 +680,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
return mMenuIdClickedFunction.apply(menuItem.getItemId());
}
@@ -184,6 +204,9 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
@@ -186,6 +206,9 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
protected void showNormalView() {
super.showNormalView();
@@ -692,7 +693,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
@@ -82,6 +82,10 @@ class BookmarkToolbarMediator implements BookmarkUiObserver, DragListener,
@@ -81,6 +81,10 @@ class BookmarkToolbarMediator implements BookmarkUiObserver, DragListener,
mBookmarkDelegate = bookmarkDelegate;
mModel.set(
BookmarkToolbarProperties.OPEN_FOLDER_CALLBACK, mBookmarkDelegate::openFolder);
@@ -798,7 +799,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -202,6 +202,8 @@ static_library("browser") {
@@ -204,6 +204,8 @@ static_library("browser") {
"bluetooth/chrome_bluetooth_delegate_impl_client.h",
"bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h",
@@ -807,7 +808,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"bookmarks/chrome_bookmark_client.cc",
"bookmarks/chrome_bookmark_client.h",
"bookmarks/managed_bookmark_service_factory.cc",
@@ -1861,6 +1863,13 @@ static_library("browser") {
@@ -1873,6 +1875,13 @@ static_library("browser") {
"webid/federated_identity_permission_context_factory.h",
]
@@ -821,7 +822,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -3509,8 +3518,6 @@ static_library("browser") {
@@ -3498,8 +3507,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@@ -833,7 +834,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -9342,6 +9342,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9357,6 +9357,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
#endif
@@ -1345,8 +1346,8 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -7193,6 +7193,11 @@ const char kPromiseIconsDescription[] =
@@ -7343,6 +7343,11 @@ const char kEnableAudioFocusEnforcementDescription[] =
"any one time. Requires #enable-media-session-service to be enabled too.";
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+const char kBookmarksExportUseSafName[] = "Use saf for bookmarks export";
@@ -1360,8 +1361,8 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -4163,6 +4163,9 @@ extern const char kPromiseIconsDescription[];
@@ -4243,6 +4243,9 @@ extern const char kEnableAudioFocusEnforcementName[];
extern const char kEnableAudioFocusEnforcementDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+extern const char kBookmarksExportUseSafName[];
@@ -1373,7 +1374,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -176,6 +176,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kClearOmniboxFocusAfterNavigation,
&kCloseTabSuggestions,
&kCloseTabSaveTabList,
@@ -1381,7 +1382,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCriticalPersistedTabData,
&kCreateNewTabInitializeRenderer,
&kCCTBackgroundTab,
@@ -1137,5 +1138,10 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
@@ -1155,5 +1156,10 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
"WebApkTrampolineOnInitialIntent",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -1395,18 +1396,18 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -175,6 +175,7 @@ BASE_DECLARE_FEATURE(kTabStripRedesign);
@@ -177,6 +177,7 @@ BASE_DECLARE_FEATURE(kTabStripRedesign);
BASE_DECLARE_FEATURE(kTabletToolbarReordering);
BASE_DECLARE_FEATURE(kTabStripStartupRefactoring);
BASE_DECLARE_FEATURE(kTabToGTSAnimation);
+BASE_DECLARE_FEATURE(kBookmarksExportUseSaf);
BASE_DECLARE_FEATURE(kTestDefaultDisabled);
BASE_DECLARE_FEATURE(kTestDefaultEnabled);
BASE_DECLARE_FEATURE(kToolbarMicIphAndroid);
BASE_DECLARE_FEATURE(kThumbnailPlaceholder);
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -456,6 +456,7 @@ public abstract class ChromeFeatureList {
@@ -472,6 +472,7 @@ public abstract class ChromeFeatureList {
public static final String USE_CHIME_ANDROID_SDK = "UseChimeAndroidSdk";
public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
"UseLibunwindstackNativeUnwinderAndroid";
@@ -1484,7 +1485,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -996,6 +998,7 @@ public final class ChromePreferenceKeys {
@@ -984,6 +986,7 @@ public final class ChromePreferenceKeys {
AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
@@ -1523,7 +1524,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -406,6 +406,9 @@ static_library("common_lib") {
@@ -414,6 +414,9 @@ static_library("common_lib") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@@ -1715,7 +1716,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions[i].equals(storagePermission)
|| permissions[i].equals(PermissionConstants.READ_MEDIA_IMAGES)
|| permissions[i].equals(
@@ -571,6 +578,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -629,6 +636,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
}
@@ -1723,7 +1724,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes;
}
@@ -899,6 +907,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -957,6 +965,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(superType) == mFileTypes.size();
}
@@ -1750,7 +1751,7 @@ diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/st
diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_file_dialog.h
--- a/ui/shell_dialogs/select_file_dialog.h
+++ b/ui/shell_dialogs/select_file_dialog.h
@@ -210,6 +210,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
@@ -211,6 +211,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
const GURL* caller = nullptr);
bool HasMultipleFileTypeChoices();
@@ -1773,8 +1774,8 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/s
+}
+
SelectFileDialogImpl::~SelectFileDialogImpl() {
}
JNIEnv* env = base::android::AttachCurrentThread();
Java_SelectFileDialog_nativeDestroyed(env, java_object_);
diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/select_file_dialog_android.h
--- a/ui/shell_dialogs/select_file_dialog_android.h
+++ b/ui/shell_dialogs/select_file_dialog_android.h
@@ -126,7 +126,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -104,6 +104,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -103,6 +103,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher;
private Profile mProfile;
@@ -136,7 +136,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
PrivacyPreferencesManagerImpl privacyPrefManager =
@@ -251,6 +254,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -250,6 +253,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
}
@@ -146,7 +146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -265,6 +271,14 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -264,6 +270,14 @@ public class PrivacySettings extends PreferenceFragmentCompat
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@@ -161,7 +161,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -288,6 +302,16 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -287,6 +301,16 @@ public class PrivacySettings extends PreferenceFragmentCompat
UserPrefs.get(mProfile).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@@ -181,7 +181,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -539,8 +539,8 @@ BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
@@ -541,8 +541,8 @@ BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kCCTIntentFeatureOverrides,
@@ -192,7 +192,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
BASE_FEATURE(kCCTPageInsightsHub,
"CCTPageInsightsHub",
@@ -548,7 +548,7 @@ BASE_FEATURE(kCCTPageInsightsHub,
@@ -550,7 +550,7 @@ BASE_FEATURE(kCCTPageInsightsHub,
BASE_FEATURE(kCCTPostMessageAPI,
"CCTPostMessageAPI",
@@ -220,7 +220,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4998,6 +4998,20 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -5015,6 +5015,20 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_NEAR_OOM_INTERVENTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can resume what it was doing.">
Resume
</message>
+3 -3
View File
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -226,6 +226,8 @@ import java.util.Locale;
@@ -230,6 +230,8 @@ import java.util.Locale;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
/**
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
* are accessible via a chrome specific tab switching UI.
@@ -2263,6 +2265,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2260,6 +2262,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed");
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3658,6 +3658,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3687,6 +3687,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
Dark theme
</message>
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -575,6 +575,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
@@ -582,6 +582,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_ANDROID)
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -5252,7 +5252,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5242,7 +5242,10 @@ const FeatureEntry kFeatureEntries[] = {
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
flag_descriptions::kForceTextDirectionDescription, kOsAll,
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1271,6 +1271,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
@@ -1332,6 +1332,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
"Show deprecation notifications and disable functionality for Alt based "
"six pack deprecations. The Search based versions continue to work.";
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -664,6 +664,9 @@ extern const char kDeprecateAltBasedSixPackDescription[];
@@ -694,6 +694,9 @@ extern const char kDeprecateAltBasedSixPackDescription[];
extern const char kDeprecateOldKeyboardShortcutsAcceleratorName[];
extern const char kDeprecateOldKeyboardShortcutsAcceleratorDescription[];
@@ -99,7 +99,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -82,6 +82,8 @@ extern uint32_t GetLoaderChunkSize();
@@ -84,6 +84,8 @@ extern uint32_t GetLoaderChunkSize();
COMPONENT_EXPORT(NETWORK_CPP)
BASE_DECLARE_FEATURE(kCorsNonWildcardRequestHeadersSupport);
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1185,6 +1185,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
@@ -1230,6 +1230,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
switches::kForceDisplayColorProfile, "hdr10"},
};
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::Choice kMemlogModeChoices[] = {
{flags_ui::kGenericExperimentChoiceDisabled, "", ""},
{flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode,
@@ -5155,6 +5160,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5143,6 +5148,9 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(chrome::android::kShareSheetCustomActionsPolish)},
#endif // BUILDFLAG(IS_ANDROID)
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2022,6 +2022,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
@@ -2112,6 +2112,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
"websites abusing the API will still eventually have their setTimeouts "
"clamped.";
@@ -60,7 +60,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1131,6 +1131,9 @@ extern const char kLogJsConsoleMessagesDescription[];
@@ -1182,6 +1182,9 @@ extern const char kLogJsConsoleMessagesDescription[];
extern const char kUnthrottledNestedTimeoutName[];
extern const char kUnthrottledNestedTimeoutDescription[];
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3908,6 +3908,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3909,6 +3909,10 @@ const FeatureEntry kFeatureEntries[] = {
chrome::android::kContextualSearchSuppressShortView,
kContextualSearchSuppressShortViewVariations,
"ContextualSearchSuppressShortView")},
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1347,6 +1347,11 @@ const char kEnableManagedConfigurationWebApiDescription[] =
@@ -1408,6 +1408,11 @@ const char kEnableManagedConfigurationWebApiDescription[] =
"Allows website to access a managed configuration provided by the device "
"administrator for the origin.";
@@ -44,15 +44,15 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -733,6 +733,9 @@ extern const char kEnablePenetratingImageSelectionDescription[];
@@ -766,6 +766,9 @@ extern const char kEnablePenetratingImageSelectionDescription[];
extern const char kEnablePerfettoSystemTracingName[];
extern const char kEnablePerfettoSystemTracingDescription[];
+extern const char kResumeBackgroundVideoName[];
+extern const char kResumeBackgroundVideoDescription[];
+
extern const char kEnablePixelCanvasRecordingName[];
extern const char kEnablePixelCanvasRecordingDescription[];
extern const char kEnablePeripheralCustomizationName[];
extern const char kEnablePeripheralCustomizationDescription[];
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -6477,6 +6477,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6475,6 +6475,10 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
@@ -32,7 +32,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3760,6 +3760,10 @@ const char kCCTTextFragmentLookupApiEnabledName[] =
@@ -3821,6 +3821,10 @@ const char kCCTTextFragmentLookupApiEnabledName[] =
const char kCCTTextFragmentLookupApiEnabledDescription[] =
"Enable CCT API to lookup text fragments";
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -804,6 +804,9 @@ extern const char kEnableWasmStringrefName[];
@@ -846,6 +846,9 @@ extern const char kEnableWasmStringrefName[];
extern const char kEnableWasmStringrefDescription[];
extern const char kEnableWasmTieringName[];
@@ -59,7 +59,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1083,6 +1083,7 @@ component("net") {
@@ -1085,6 +1085,7 @@ component("net") {
"//build:chromeos_buildflags",
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
"//net/http:transport_security_state_generated_files",
@@ -97,7 +97,7 @@ diff --git a/net/base/features.h b/net/base/features.h
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
--- a/net/dns/host_resolver_manager.cc
+++ b/net/dns/host_resolver_manager.cc
@@ -108,6 +108,7 @@
@@ -110,6 +110,7 @@
#include "net/log/net_log_event_type.h"
#include "net/log/net_log_source.h"
#include "net/log/net_log_source_type.h"
@@ -105,7 +105,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
#include "net/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h"
#include "net/url_request/url_request_context.h"
@@ -725,6 +726,9 @@ class HostResolverManager::RequestImpl
@@ -677,6 +678,9 @@ class HostResolverManager::RequestImpl
// request source is LOCAL_ONLY. This is due to LOCAL_ONLY requiring a
// synchronous response, so it cannot wait on an async probe result and
// cannot make assumptions about reachability.
@@ -114,8 +114,8 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
+ }
if (parameters_.source == HostResolverSource::LOCAL_ONLY) {
int rv = resolver_->StartIPv6ReachabilityCheck(
source_net_log_, base::DoNothingAs<void(int)>());
@@ -3944,6 +3948,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
source_net_log_, GetClientSocketFactory(),
@@ -3895,6 +3899,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
return OK;
}
@@ -7,35 +7,37 @@ when flag is disabled no external intent will ever be allowed, for any URL.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 3 +++
chrome/browser/about_flags.cc | 5 +++++
chrome/browser/flag_descriptions.cc | 6 ++++++
chrome/browser/flag_descriptions.h | 3 +++
3 files changed, 12 insertions(+)
3 files changed, 14 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3848,6 +3848,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3849,6 +3849,11 @@ const FeatureEntry kFeatureEntries[] = {
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
flag_descriptions::kUiPartialSwapDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
+ {"disable-external-intent-requests", flag_descriptions::kDisableExternalIntentRequestsName,
+#if BUILDFLAG(IS_ANDROID)
+ {"allow-external-intent-requests", flag_descriptions::kDisableExternalIntentRequestsName,
+ flag_descriptions::kDisableExternalIntentRequestsDescription, kOsAll,
+ SINGLE_DISABLE_VALUE_TYPE("disable-external-intent-requests")},
+#endif
{"disable-webrtc-hw-decoding", flag_descriptions::kWebrtcHwDecodingName,
flag_descriptions::kWebrtcHwDecodingDescription, kOsAndroid | kOsCrOS,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWDecoding)},
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -4062,6 +4062,12 @@ const char kPolicyLogsPageAndroidDescription[] =
@@ -4112,6 +4112,12 @@ const char kPolicyLogsPageAndroidDescription[] =
"Enable the new chrome://policy-logs page containing logs for debugging "
"policy related issues on Android.";
+const char kDisableExternalIntentRequestsName[] =
+ "Never forward URL requests to external intents";
+ "Allow forward URL requests to external intents";
+const char kDisableExternalIntentRequestsDescription[] =
+ "URL requests will never"
+ "If disabled, URL requests will never"
+ "allow for redirecting to an external intent.";
+
const char kQueryTilesName[] = "Show query tiles";
@@ -44,7 +46,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2383,6 +2383,9 @@ extern const char kQueryTilesNTPDescription[];
@@ -2408,6 +2408,9 @@ extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesOnStartName[];
extern const char kQueryTilesOnStartDescription[];
extern const char kQueryTilesSingleTierName[];
@@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7898,6 +7898,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7943,6 +7943,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -6822,6 +6822,9 @@ const char kLacrosMergeIcuDataFileDescription[] =
@@ -6959,6 +6959,9 @@ const char kLacrosMergeIcuDataFileDescription[] =
"Enables sharing common areas of icudtl.dat between Ash and Lacros.";
#endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -4149,6 +4149,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
@@ -4227,6 +4227,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
extern const char kWebUITabStripTabDragIntegrationDescription[];
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
@@ -84,7 +84,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -347,6 +347,8 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWarmUpNetworkProcess);
@@ -344,6 +344,8 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWarmUpNetworkProcess);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebNfc);
#endif // BUILDFLAG(IS_ANDROID)
@@ -141,7 +141,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2476,6 +2476,10 @@
@@ -2495,6 +2495,10 @@
status: {"Android": "stable"},
base_feature: "none",
},
@@ -7,25 +7,26 @@ Allows build with clangd by suppressing unsupported parameters
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
build/config/compiler/BUILD.gn | 5 +++++
build/config/compiler/BUILD.gn | 6 +++++-
build_overrides/build.gni | 3 +++
2 files changed, 8 insertions(+)
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1748,6 +1748,11 @@ config("default_warnings") {
@@ -1772,7 +1772,11 @@ config("default_warnings") {
# TODO(crbug.com/1412713) Evaluate and possibly enable.
"-Wno-deprecated-this-capture",
]
-
+ if (skip_clangd_unsupported_options) {
+ cflags -= [
+ "-Wno-deprecated-builtins",
+ ]
+ }
}
}
}
if (llvm_force_head_revision) {
# TODO(https://crbug.com/1448905): Evaluate and possibly enable.
cflags += [ "-Wno-builtin-macro-redefined" ]
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
--- a/build_overrides/build.gni
+++ b/build_overrides/build.gni
@@ -56,13 +56,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../one_time_permissions_tracker.cc | 34 +++++++-
.../one_time_permissions_tracker.h | 5 +-
.../one_time_permissions_tracker_factory.cc | 2 +-
.../permission_prompt_bubble_base_view.cc | 2 +-
.../site_settings/PermissionInfo.java | 14 +++-
.../site_settings/SingleWebsiteSettings.java | 10 +++
.../WebsitePreferenceBridge.java | 6 +-
.../android/website_preference_bridge.cc | 7 +-
.../strings/android/browser_ui_strings.grd | 5 ++
components/content_settings/android/BUILD.gn | 1 +
.../core/browser/content_settings_utils.cc | 29 +++++++
.../core/browser/content_settings_utils.cc | 36 +++++++++
.../core/browser/content_settings_utils.h | 6 ++
.../common/content_settings_constraints.h | 11 +++
.../page_info/PageInfoController.java | 4 +-
@@ -86,7 +87,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/permissions/permission_request.h | 18 ++++-
.../permissions/permission_request_manager.cc | 45 +++++++----
.../permissions/permission_request_manager.h | 11 ++-
34 files changed, 515 insertions(+), 59 deletions(-)
35 files changed, 523 insertions(+), 60 deletions(-)
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
@@ -139,15 +140,14 @@ diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/br
diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome/browser/permissions/one_time_permissions_tracker.cc
--- a/chrome/browser/permissions/one_time_permissions_tracker.cc
+++ b/chrome/browser/permissions/one_time_permissions_tracker.cc
@@ -16,8 +16,35 @@
@@ -18,8 +18,35 @@
#include "components/permissions/features.h"
#include "content/public/browser/visibility.h"
#include "url/gurl.h"
+#include "components/content_settings/core/browser/host_content_settings_map.h"
+#include "components/content_settings/core/common/content_settings_utils.h"
+#include "components/permissions/permissions_client.h"
-OneTimePermissionsTracker::OneTimePermissionsTracker() = default;
+
+namespace {
+ // Remove all sessions content setting by origin and type
+ void RemoveSessionSettings(HostContentSettingsMap* content_settings,
@@ -170,13 +170,14 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome
+ }
+ }
+}
+
-OneTimePermissionsTracker::OneTimePermissionsTracker() = default;
+OneTimePermissionsTracker::OneTimePermissionsTracker(content::BrowserContext* context)
+ : context_(context) {}
OneTimePermissionsTracker::~OneTimePermissionsTracker() = default;
OneTimePermissionsTracker::OriginTrackEntry::OriginTrackEntry() = default;
@@ -91,6 +118,11 @@ void OneTimePermissionsTracker::WebContentsUnloadedOrigin(
@@ -93,6 +120,11 @@ void OneTimePermissionsTracker::WebContentsUnloadedOrigin(
observer.OnLastPageFromOriginClosed(origin);
}
}
@@ -191,15 +192,15 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome
diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/browser/permissions/one_time_permissions_tracker.h
--- a/chrome/browser/permissions/one_time_permissions_tracker.h
+++ b/chrome/browser/permissions/one_time_permissions_tracker.h
@@ -11,6 +11,7 @@
#include "base/observer_list.h"
@@ -12,6 +12,7 @@
#include "base/timer/timer.h"
#include "chrome/browser/permissions/one_time_permissions_tracker_observer.h"
#include "components/content_settings/core/common/content_settings_pattern.h"
+#include "chrome/browser/profiles/profile.h"
#include "components/content_settings/core/common/content_settings_types.h"
#include "components/keyed_service/core/keyed_service.h"
#include "content/public/browser/visibility.h"
@@ -23,7 +24,7 @@ class OneTimePermissionsTracker : public KeyedService {
@@ -24,7 +25,7 @@ class OneTimePermissionsTracker : public KeyedService {
void (OneTimePermissionsTracker::*)(const url::Origin&);
public:
@@ -208,7 +209,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/
~OneTimePermissionsTracker() override;
OneTimePermissionsTracker(const OneTimePermissionsTracker&) = delete;
@@ -118,7 +119,7 @@ class OneTimePermissionsTracker : public KeyedService {
@@ -127,7 +128,7 @@ class OneTimePermissionsTracker : public KeyedService {
base::ObserverList<OneTimePermissionsTrackerObserver> observer_list_;
std::map<url::Origin, OriginTrackEntry> origin_tracker_;
@@ -220,13 +221,25 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/
diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc b/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
--- a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
+++ b/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
@@ -39,5 +39,5 @@ bool OneTimePermissionsTrackerFactory::ServiceIsCreatedWithBrowserContext()
@@ -40,5 +40,5 @@ bool OneTimePermissionsTrackerFactory::ServiceIsCreatedWithBrowserContext()
KeyedService* OneTimePermissionsTrackerFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const {
- return new OneTimePermissionsTracker();
+ return new OneTimePermissionsTracker(context);
}
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
@@ -336,7 +336,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallbacks(
delegate_->Accept();
return;
case PermissionDialogButton::kAcceptOnce:
- delegate_->AcceptThisTime();
+ delegate_->AcceptThisTime(content_settings::LifetimeMode::Always);
return;
case PermissionDialogButton::kDeny:
delegate_->Deny();
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
@@ -281,7 +294,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
import org.chromium.components.embedder_support.util.Origin;
import org.chromium.content_public.browser.BrowserContextHandle;
import org.chromium.content_public.browser.ContentFeatureList;
@@ -540,6 +541,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -541,6 +542,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
}
@@ -293,7 +306,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void setUpClearDataPreference() {
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage();
@@ -969,6 +975,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -970,6 +976,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
if (contentType == mHighlightedPermission) {
switchPreference.setBackgroundColor(mHighlightColor);
}
@@ -352,7 +365,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
- /*is_embargoed=*/false);
+ /*is_embargoed=*/false, static_cast<int>(settings_it.metadata.session_model));
+ /*is_embargoed=*/false, static_cast<int>(settings_it.metadata.session_model()));
}
// Add any origins which have a default content setting value (thus skipped
@@ -394,34 +407,41 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
--- a/components/content_settings/core/browser/content_settings_utils.cc
+++ b/components/content_settings/core/browser/content_settings_utils.cc
@@ -182,6 +182,35 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration) {
return base::Time::Now() + duration;
@@ -175,6 +175,42 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) {
return constraints.session_model() == SessionModel::Durable;
}
+ContentSettingConstraints GetConstraintSessionExpiration(LifetimeMode lifetime_mode) {
+ int lifetime;
+ base::Time now;
+ if (lifetime_mode == LifetimeMode::OnlyThisTime) {
+ // note: this content settings will be discarded immediately
+ // 1h is used as a magic constant to identify the one-time lifetime mode
+ return {base::Time() + base::Hours(1), content_settings::SessionModel::UserSession};
+ lifetime = 1;
+ } else if (lifetime_mode == LifetimeMode::UntilOriginClosed) {
+ return {base::Time::Now() + base::Hours(24), content_settings::SessionModel::UserSession};
+ now = base::Time::Now();
+ lifetime = 24;
+ } else {
+ return {base::Time(), content_settings::SessionModel::UserSession};
+ lifetime = 0;
+ }
+ content_settings::ContentSettingConstraints c(now);
+ c.set_lifetime(base::Hours(lifetime));
+ c.set_session_model(content_settings::SessionModel::UserSession);
+ return c;
+}
+
+bool IsConstraintSessionExpiration(const ContentSettingPatternSource& source,
+ LifetimeMode lifetime_mode) {
+ if (source.metadata.session_model != content_settings::SessionModel::UserSession)
+ if (source.metadata.session_model() != content_settings::SessionModel::UserSession)
+ return false;
+
+ LifetimeMode type;
+ if (source.metadata.expiration == base::Time()) {
+ type = LifetimeMode::UntilBrowserClosed;
+ } else if (source.metadata.expiration == (base::Time() + base::Hours(1))) {
+ if (source.metadata.lifetime() == base::Hours(24)) {
+ type = LifetimeMode::UntilOriginClosed;
+ } else if (source.metadata.expiration() == (base::Time() + base::Hours(1))) {
+ type = LifetimeMode::OnlyThisTime;
+ } else {
+ type = LifetimeMode::UntilOriginClosed;
+ type = LifetimeMode::UntilBrowserClosed;
+ }
+
+ return lifetime_mode == type;
@@ -433,7 +453,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h
--- a/components/content_settings/core/browser/content_settings_utils.h
+++ b/components/content_settings/core/browser/content_settings_utils.h
@@ -76,6 +76,12 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration);
@@ -73,6 +73,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints);
// Returns whether the given type supports tracking last_visit timestamps.
bool CanTrackLastVisit(ContentSettingsType type);
@@ -472,8 +492,8 @@ diff --git a/components/content_settings/core/common/content_settings_constraint
+};
+
// Constraints to be applied when setting a content setting.
struct ContentSettingConstraints {
// Specification of an |expiration| provides an upper bound on the time a
class ContentSettingConstraints {
public:
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
@@ -576,19 +596,19 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -1134,6 +1134,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
@@ -1141,6 +1141,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
permission_info.source = info.source;
permission_info.is_one_time =
(info.metadata.session_model == content_settings::SessionModel::OneTime);
+ permission_info.is_user_session =
+ (info.metadata.session_model == content_settings::SessionModel::UserSession);
permission_info.is_one_time = (info.metadata.session_model() ==
content_settings::SessionModel::OneTime);
+ permission_info.is_user_session =
+ (info.metadata.session_model() == content_settings::SessionModel::UserSession);
if (info.primary_pattern == ContentSettingsPattern::Wildcard() &&
info.secondary_pattern == ContentSettingsPattern::Wildcard()) {
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
--- a/components/page_info/page_info.h
+++ b/components/page_info/page_info.h
@@ -197,6 +197,7 @@ class PageInfo : private content_settings::CookieControlsView {
@@ -197,6 +197,7 @@ class PageInfo : private content_settings::OldCookieControlsObserver {
content_settings::SETTING_SOURCE_NONE;
// Whether the permission is a one-time grant.
bool is_one_time = false;
@@ -983,7 +1003,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
--- a/components/permissions/permission_context_base.cc
+++ b/components/permissions/permission_context_base.cc
@@ -248,6 +248,20 @@ PermissionContextBase::CreatePermissionRequest(
@@ -250,6 +250,20 @@ PermissionContextBase::CreatePermissionRequest(
std::move(delete_callback));
}
@@ -1004,7 +1024,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
PermissionResult PermissionContextBase::GetPermissionStatus(
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
@@ -427,7 +441,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
@@ -429,7 +443,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time,
@@ -1014,7 +1034,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
content_setting == CONTENT_SETTING_BLOCK ||
content_setting == CONTENT_SETTING_DEFAULT);
@@ -442,13 +457,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
@@ -444,13 +459,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
// missing if a permission prompt was preignored and we already notified an
// origin about it.
if (request->second.second) {
@@ -1033,7 +1053,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
}
@@ -500,11 +516,27 @@ void PermissionContextBase::NotifyPermissionSet(
@@ -502,11 +518,27 @@ void PermissionContextBase::NotifyPermissionSet(
ContentSetting content_setting,
bool is_one_time,
bool is_final_decision) {
@@ -1062,7 +1082,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
if (is_final_decision) {
@@ -534,6 +566,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -536,6 +568,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time) {
@@ -1078,10 +1098,10 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
@@ -542,6 +583,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
content_settings::ContentSettingConstraints constraints = {
base::Time(), is_one_time ? content_settings::SessionModel::OneTime
: content_settings::SessionModel::Durable};
@@ -545,6 +586,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
constraints.set_session_model(is_one_time
? content_settings::SessionModel::OneTime
: content_settings::SessionModel::Durable);
+ if (is_one_time)
+ constraints = content_settings::GetConstraintSessionExpiration(lifetime_option);
@@ -1090,7 +1110,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
--- a/components/permissions/permission_context_base.h
+++ b/components/permissions/permission_context_base.h
@@ -138,6 +138,15 @@ class PermissionContextBase : public content_settings::Observer {
@@ -143,6 +143,15 @@ class PermissionContextBase : public content_settings::Observer {
// Updates stored content setting if persist is set, updates tab indicators
// and runs the callback to finish the request.
@@ -1106,7 +1126,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void NotifyPermissionSet(const PermissionRequestID& id,
const GURL& requesting_origin,
const GURL& embedding_origin,
@@ -159,6 +168,11 @@ class PermissionContextBase : public content_settings::Observer {
@@ -164,6 +173,11 @@ class PermissionContextBase : public content_settings::Observer {
// Store the decided permission as a content setting.
// virtual since the permission might be stored with different restrictions
// (for example for desktop notifications).
@@ -1118,7 +1138,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
@@ -191,6 +205,14 @@ class PermissionContextBase : public content_settings::Observer {
@@ -196,6 +210,14 @@ class PermissionContextBase : public content_settings::Observer {
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
base::OnceClosure delete_callback) const;
@@ -1133,7 +1153,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
ContentSettingsType content_settings_type() const {
return content_settings_type_;
}
@@ -217,7 +239,8 @@ class PermissionContextBase : public content_settings::Observer {
@@ -222,7 +244,8 @@ class PermissionContextBase : public content_settings::Observer {
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time,
@@ -1146,7 +1166,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
diff --git a/components/permissions/permission_prompt.h b/components/permissions/permission_prompt.h
--- a/components/permissions/permission_prompt.h
+++ b/components/permissions/permission_prompt.h
@@ -59,8 +59,9 @@ class PermissionPrompt {
@@ -63,8 +63,9 @@ class PermissionPrompt {
virtual GURL GetEmbeddingOrigin() const = 0;
virtual void Accept() = 0;
@@ -1179,7 +1199,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() {
DCHECK(delete_callback_.is_null());
}
@@ -256,19 +268,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
@@ -263,19 +275,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
permissions::features::kPermissionStorageAccessAPI);
}
@@ -1273,7 +1293,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
--- a/components/permissions/permission_request_manager.cc
+++ b/components/permissions/permission_request_manager.cc
@@ -152,7 +152,7 @@ void PermissionRequestManager::AddRequest(
@@ -155,7 +155,7 @@ void PermissionRequestManager::AddRequest(
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDenyPermissionPrompts)) {
@@ -1282,7 +1302,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request->RequestFinished();
return;
}
@@ -228,7 +228,7 @@ void PermissionRequestManager::AddRequest(
@@ -231,7 +231,7 @@ void PermissionRequestManager::AddRequest(
if (auto_approval_origin) {
if (url::Origin::Create(request->requesting_origin()) ==
auto_approval_origin.value()) {
@@ -1291,7 +1311,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
request->RequestFinished();
return;
@@ -563,7 +563,8 @@ void PermissionRequestManager::Accept() {
@@ -566,7 +566,8 @@ void PermissionRequestManager::Accept() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED);
PermissionGrantedIncludingDuplicates(*requests_iter,
@@ -1301,7 +1321,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
#if !BUILDFLAG(IS_ANDROID)
absl::optional<ContentSettingsType> content_settings_type =
@@ -581,7 +582,7 @@ void PermissionRequestManager::Accept() {
@@ -584,7 +585,7 @@ void PermissionRequestManager::Accept() {
FinalizeCurrentRequests(PermissionAction::GRANTED);
}
@@ -1310,7 +1330,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -592,7 +593,8 @@ void PermissionRequestManager::AcceptThisTime() {
@@ -595,7 +596,8 @@ void PermissionRequestManager::AcceptThisTime() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED_ONCE);
PermissionGrantedIncludingDuplicates(*requests_iter,
@@ -1320,7 +1340,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
@@ -600,6 +602,15 @@ void PermissionRequestManager::AcceptThisTime() {
@@ -603,6 +605,15 @@ void PermissionRequestManager::AcceptThisTime() {
}
void PermissionRequestManager::Deny() {
@@ -1336,7 +1356,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -622,7 +633,7 @@ void PermissionRequestManager::Deny() {
@@ -625,7 +636,7 @@ void PermissionRequestManager::Deny() {
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
(*requests_iter)->request_type(),
PermissionAction::DENIED);
@@ -1345,7 +1365,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
NotifyRequestDecided(PermissionAction::DENIED);
@@ -1137,32 +1148,32 @@ PermissionRequestManager::VisitDuplicateRequests(
@@ -1155,32 +1166,32 @@ PermissionRequestManager::VisitDuplicateRequests(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request,
@@ -1388,7 +1408,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request);
}
@@ -1411,7 +1422,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
@@ -1429,7 +1440,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
void PermissionRequestManager::DoAutoResponseForTesting() {
switch (auto_response_for_test_) {
case ACCEPT_ONCE:
@@ -1411,8 +1431,8 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
+ void DenyThisTime(content_settings::LifetimeMode lifetime_option) override;
void Dismiss() override;
void Ignore() override;
void PreIgnoreQuietPrompt() override;
@@ -355,9 +357,12 @@ class PermissionRequestManager
void OpenHelpCenterLink(const ui::Event& event) override;
@@ -356,9 +358,12 @@ class PermissionRequestManager
// Calls PermissionGranted on a request and all its duplicates.
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
@@ -8,7 +8,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chrome/browser/ChromeTabbedActivity.java | 24 ++++++++
.../browser/bookmarks/BookmarkBridge.java | 61 +++++++++++++++++++
.../browser/bookmarks/BookmarkUtils.java | 4 ++
.../bookmarks/android/bookmark_bridge.cc | 17 ++++++
.../bookmarks/android/bookmark_bridge.cc | 19 +++++-
.../bookmarks/android/bookmark_bridge.h | 4 ++
.../browser/bookmarks/bookmark_html_writer.cc | 8 ++-
.../bookmarks/chrome_bookmark_client.cc | 2 +
@@ -25,7 +25,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/bookmarks/browser/bookmark_node.h | 5 ++
components/bookmarks/browser/model_loader.cc | 3 +-
.../bookmark_specifics_conversions.cc | 1 +
21 files changed, 200 insertions(+), 10 deletions(-)
21 files changed, 201 insertions(+), 11 deletions(-)
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
@@ -54,7 +54,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -78,6 +78,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
@@ -80,6 +80,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -62,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
@@ -2285,6 +2286,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2282,6 +2283,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
() -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false);
RecordUserAction.record("MobileMenuCloseAllTabs");
@@ -71,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
// Close only incognito tabs
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
@@ -2350,6 +2353,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2347,6 +2350,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@@ -130,7 +130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private long mNativeBookmarkBridge;
private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges;
@@ -381,6 +388,16 @@ class BookmarkBridge {
@@ -379,6 +386,16 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this);
}
@@ -147,7 +147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1004,6 +1021,49 @@ class BookmarkBridge {
@@ -1002,6 +1019,49 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
}
@@ -197,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @param url The URL of the reading list item.
* @return The reading list item with the URL, or null if no such reading list item.
@@ -1222,6 +1282,7 @@ class BookmarkBridge {
@@ -1220,6 +1280,7 @@ class BookmarkBridge {
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
@@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
@@ -584,6 +584,7 @@ public class BookmarkUtils {
@@ -575,6 +575,7 @@ public class BookmarkUtils {
List<BookmarkId> topLevelFolders = new ArrayList<>();
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
@@ -216,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
List<BookmarkId> specialFoldersIds =
@@ -609,6 +610,9 @@ public class BookmarkUtils {
@@ -600,6 +601,9 @@ public class BookmarkUtils {
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
topLevelFolders.add(mobileNodeId);
}
@@ -229,7 +229,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -476,6 +476,11 @@ void BookmarkBridge::GetTopLevelFolderIds(
@@ -470,12 +470,17 @@ void BookmarkBridge::GetTopLevelFolderIds(
std::size_t special_count = top_level_folders.size();
if (get_normal) {
- DCHECK_EQ(4u, bookmark_model_->root_node()->children().size());
+ DCHECK_EQ(5u, bookmark_model_->root_node()->children().size());
for (const auto& node : bookmark_model_->mobile_node()->children()) {
if (node->is_folder())
top_level_folders.push_back(node.get());
}
@@ -350,7 +357,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3788,6 +3788,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3817,6 +3817,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
Select tabs
</message>
@@ -576,7 +583,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
--- a/components/bookmarks/browser/bookmark_model.cc
+++ b/components/bookmarks/browser/bookmark_model.cc
@@ -816,7 +816,7 @@ bool BookmarkModel::HasBookmarks() {
@@ -817,7 +817,7 @@ bool BookmarkModel::HasBookmarks() {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() &&
@@ -585,7 +592,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
}
bool BookmarkModel::IsBookmarked(const GURL& url) {
@@ -1122,6 +1122,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
@@ -1123,6 +1123,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
bookmark_bar_node_ = details->bb_node();
other_node_ = details->other_folder_node();
mobile_node_ = details->mobile_folder_node();

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